ToolActToolAct

Recortar imagem

Recortar imagem online grátis — recorte, gire e espelhe com precisão de pixel, tudo no seu navegador

Arraste uma imagem para cá ou clique para escolher um arquivo

Aceita JPG, PNG, WebP, BMP, GIF

O que é recortar uma imagem?

Recortar é extrair uma região retangular da imagem e descartar tudo o que está fora dela. É uma das operações de edição mais antigas justamente porque muda a composição sem reamostrar pixels — uma região de 1000×800 tirada de uma foto 4000×3000 preserva todos os pixels originais que ficaram dentro da seleção. Esta página recorta como faria um editor de desktop: arraste a seleção sobre a prévia, digite valores exatos em X/Y/W/H, trave uma proporção quando a saída precisa caber num formato fixo (avatar, banner, foto 3×4) e exporte em PNG/JPEG/WebP. Rotação e espelhamento são aplicados depois do recorte, então o arquivo salvo já sai com a orientação que você quer — algo importante para impressão e para apps que ignoram a tag de orientação EXIF. Tudo roda no navegador via Canvas — os bytes da imagem não saem da página, então documentos pessoais e fotos ficam no seu dispositivo.

Como usar

Passo a passo

  1. Arraste uma imagem ou clique para escolher uma. JPG/PNG/WebP/BMP/GIF funcionam.
  2. Arraste a caixa de seleção ou pegue um canto / lateral para redimensionar. Escolha um preset de proporção para travar as medidas.
  3. Refine X/Y/W/H nos campos numéricos quando precisar de posicionamento exato em pixels.
  4. Se quiser, gire 90° ou espelhe na horizontal/vertical — as transformações se aplicam ao recorte final.
  5. Escolha PNG, JPEG ou WebP, clique em Recortar e depois em Baixar.

Dicas

  • Trave uma proporção (1:1, 16:9, …) antes de subir qualquer coisa que vire avatar ou thumbnail — caso contrário, a plataforma corta de novo por conta própria sem te avisar.
  • Os valores em X/Y/W/H estão em pixels da imagem original, não da tela. Uma foto com 4000 pixels de largura segue informando coordenadas de até 4000 mesmo que apareça reduzida no preview.
  • Para fotografias, use JPEG com qualidade 0.85–0.92 e WebP com qualidade 0.80–0.90 — acima disso só adiciona bytes que o olho não percebe. Reserve PNG para capturas de tela, line art e qualquer coisa com texto.

Casos de uso

Encaixar avatar ou thumbnail numa proporção fixaTrave 1:1 para foto de perfil, 16:9 para thumb de vídeo, 4:5 para retrato no Instagram, e arraste a caixa sobre o rosto ou o ponto principal. Como a proporção é fixada no cliente, o servidor recebe uma imagem exatamente do tamanho do slot — o crop automático da plataforma não tem como cortar sua testa fora.
Aparar prints antes de mandar num bug reportCole um print da área de transferência, desenhe uma caixa justa em volta do diálogo relevante e exporte em PNG para manter o texto nítido. Descartar o resto da tela também esconde outras janelas que apareceram por acidente — muito mais rápido do que abrir um editor inteiro só para um recorte de cinco segundos.
Preparar foto de documento na proporção exataMuitas especificações de foto para RG, passaporte e visto são definidas por proporção (por exemplo, 33×48 mm ≈ 11:16). Digite a largura e a altura em pixels nos campos W e H, trave essa proporção e desloque a caixa sobre o rosto. A saída é um único JPEG/PNG de qualidade, no tamanho certo para impressão, sem precisar passar por nenhum serviço de fotos.
Padronizar fotos de produto no e-commerce numa única proporçãoAs regras das lojas costumam pedir uma imagem principal uniforme em 1:1 ou 3:4, mas as fotos chegam em orientações misturadas. Trave a proporção alvo, arraste a caixa sobre o produto e em poucos cliques toda a vitrine fica uniforme — o backend do upload deixa de cortar o objeto fora do centro.
Cortar banners de redes sociais e imagens OG nas medidas certasColoque as dimensões exigidas pela plataforma em W/H (1500×500 para cabeçalho do X, 1200×630 para Open Graph, 1640×856 para capa do Facebook, 1280×720 para thumbnail do YouTube, 1000×1500 para Pin do Pinterest), defina a proporção correspondente e arraste para enquadrar o foco. O PNG/WebP exportado já está pronto para subir — sem template, sem Photoshop.

Princípio técnico

Recortar é logicamente simples — escolher um retângulo, copiar seus pixels e jogar o resto fora —, mas fazer isso direito no navegador envolve algumas peças em movimento: a pré-visualização na tela é uma versão reduzida do original, os manipuladores de arrasto operam em coordenadas de exibição e o recorte de verdade precisa acontecer em coordenadas da imagem original para não perder qualidade. Quando você carrega um arquivo, a ferramenta envolve com URL.createObjectURL() para obter uma URL blob e entrega a um HTMLImageElement para decodificação (zero-copy, muito menos memória que uma data URL em base64). A largura e a altura naturais (img.naturalWidth / naturalHeight) viram o espaço de coordenadas canônico — todo X/Y/W/H guardado no estado fica nessas unidades. O <img> de preview usa max-width/max-height para que o navegador o ajuste ao container; a cada carga e a cada resize, medimos a largura renderizada via getBoundingClientRect() e guardamos um displayScale (renderizado / natural). Os deltas do mouse durante o arrasto são divididos por essa razão para converter o movimento na tela de volta para pixels originais, e é isso que mantém o retângulo de recorte preciso mesmo com a imagem bem reduzida no preview. A caixa de recorte em si é uma <div> posicionada absolutamente em cima da imagem. Seus oito manipuladores (quatro cantos + quatro laterais) disparam pointerdown com um modo ('nw', 'n', 'ne', 'e', 'se', 's', 'sw', 'w' ou 'move'); um listener pointermove no nível window (pointer events cobrem mouse e toque) lê a posição atual do mouse, calcula o delta a partir do início do arrasto, converte para pixels originais e recalcula left/top/right/bottom do retângulo. Arrasto de canto redimensiona ancorado no canto oposto; arrasto de lateral preserva a meia-altura/largura perpendicular; arrasto com proporção travada calcula primeiro o eixo dominante e deriva o outro. Cada resultado é limitado aos limites da imagem com um tamanho mínimo de 10 px, de modo que o retângulo nunca se inverta nem ultrapasse o canvas. A exportação roda em dois canvas fora da tela. O primeiro tem o tamanho natural do recorte (largura × altura); ctx.drawImage(img, sx, sy, sw, sh, 0, 0, sw, sh) na forma de 9 argumentos puxa apenas a região recortada — Chromium e Firefox fazem essa cópia pela GPU como cópia de textura, sem reamostragem quando o destino tem o mesmo tamanho. Se houver rotação ou espelhamento, um segundo canvas é dimensionado pela bounding box pós-rotação (troca largura/altura para 90°/270°), o contexto é transladado para o centro, ctx.rotate(angle) e ctx.scale(±1, ±1) aplicam a transformação e o canvas recortado é desenhado em (-w/2, -h/2). Por fim, canvas.toBlob(mimeType, quality) devolve os bytes codificados como Blob; URL.createObjectURL() vira a URL para download. O quality é ignorado em PNG (sem perdas) e usado como dica do encoder em JPEG e WebP (0–1). O object URL do blob é revogado quando um novo recorte o substitui, para não deixar pixels decodificados pendurados na memória.

  • As coordenadas de recorte (X/Y/W/H) estao em pixels originais.
  • Todo o processamento e executado via Canvas API no navegador.
  • A caixa de recorte e um div posicionado absolutamente com 8 alcas.
  • A exportacao usa canvas off-screen com drawImage de 9 argumentos.
  • URLs Blob antigas sao explicitamente revogadas a cada transicao de estado.

Exemplos

Avatar quadrado a partir de uma foto vertical

Carregar foto (3024×4032) → Proporção 1:1 → Arrastar a caixa sobre o rosto → W=2000 H=2000 → Formato JPEG, qualidade 0.9 → Recortar → Baixar

Imagem Open Graph (1200×630)

Carregar banner (1920×1080) → Proporção 16:9 → Digitar W=1200 H=630 → Arrastar até o foco → Formato WebP, qualidade 0.85 → Recortar → Baixar

Thumbnail do YouTube (1280×720)

Carregar a foto → Proporção 16:9 → W=1280 H=720 → Arrastar até o ponto principal → Formato JPEG, qualidade 0.9 → Recortar → Baixar

Girar uma foto vertical da câmera

Carregar IMG_4321.jpg → Girar 90° à direita → Proporção Livre → manter o canvas inteiro → Formato PNG → Recortar → Baixar (orientação agora fica gravada no arquivo)

Recortar um trecho de print

Colar/enviar print → Proporção livre → Arrastar uma caixa justa em volta do diálogo (por exemplo, 740×420) → Formato PNG → Recortar → Baixar para o bug report

Perguntas frequentes

Minhas imagens são enviadas para algum lugar?

Não. Decodificação, recorte, rotação e codificação rodam todos dentro da Canvas API nesta aba. Dá para conferir em DevTools → Network: nenhuma requisição é disparada enquanto você recorta ou baixa.

Recortar diminui a qualidade da imagem?

O recorte em si é sem perdas — só os pixels de fora da caixa são removidos; os de dentro são copiados byte a byte. A qualidade só muda quando você recodifica em JPEG ou WebP a 100 % ou abaixo de qualidade, ou aplica rotação em ângulos diferentes de 90/180/270 (oferecemos só esses três justamente por isso).

Como isso se compara ao Photoshop ou Lightroom?

Os apps de desktop têm mais recursos (camadas, color grading, lotes, seleção automática), mas demoram mais para abrir, custam dinheiro e exigem instalação local. A vantagem da ferramenta online: abriu o navegador, já está usando. Sem instalar, sem cadastro e, para um único recorte, costuma ser mais rápido do que abrir o Photoshop só para isso. Para processamento em lote ou retoques pesados, fique no PS; para um recorte pontual, travar uma proporção ou preparar um avatar, aqui é mais rápido.

E o recortador da galeria do meu celular?

O recorte da galeria do celular é prático, mas limitado: normalmente só algumas proporções fixas, sem entrada em pixels, sem trocar formato e o nome do arquivo fica travado. Quando você precisa recortar para um tamanho específico como 1200×630 ou converter HEIC em JPG enquanto recorta, a galeria não dá conta — esta ferramenta dá.

Por que meus valores de X/Y/W/H não batem com o que vejo na tela?

Eles estão em pixels originais da imagem, não em pixels da tela. Uma foto de 4000 pixels exibida em 800 px de largura ainda informa coordenadas até 4000 — é isso que seu editor ou o destino do upload realmente recebe.

A imagem exportada sai com marca d'água?

Não. Esta ferramenta é 100 % gratuita, sem marca d'água, sem cadastro e sem limite de uso. Nenhum logo ou link é adicionado ao recorte exportado.

Por que não consigo recortar em um tamanho exato como 1242×2208 quando o original é menor?

A caixa de recorte não pode ser maior que a imagem — se você precisa de uma saída maior, é preciso ampliar a imagem em outra etapa. Não fazemos upscale durante o recorte porque vizinho mais próximo e bilinear deixam o resultado embaçado, e bons upscalers cabem numa ferramenta dedicada.

Dá para travar uma proporção personalizada que não está na lista de presets?

Digite o W e o H exatos nos campos numéricos com a proporção em Livre — a razão resultante é a que esses números descreverem. Use W/H como calculadora: por exemplo, 1080 / 1350 = 0.8 = 4:5.

Dá para recortar várias imagens de uma vez?

Recorte em lote não é suportado aqui — esta ferramenta foi feita para trabalho preciso numa imagem só. Para recortes em lote uniformes, olhe ferramentas de linha de comando como ImageMagick ou um editor de lote dedicado.

Qual a diferença entre rotacionar aqui e a orientação EXIF do meu celular?

A orientação EXIF é uma flag de metadado — apps que respeitam giram a imagem na hora de exibir, mas os pixels do arquivo continuam na orientação original. Rotacionar aqui re-renderiza os pixels, então o arquivo exportado sai correto em qualquer visualizador, inclusive impressoras e apps que ignoram EXIF.

Qual formato devo exportar — PNG, JPEG ou WebP?

PNG para prints, mockups de UI e qualquer coisa com texto ou bordas nítidas (sem perdas, arquivo maior). JPEG para fotografias indo para impressão ou onde o tamanho pesa mais que a transparência. WebP entrega arquivos 25–35% menores que JPEG com a mesma qualidade visual e suporta transparência — use quando o público está em navegadores modernos.

Por que o tamanho do arquivo às vezes cresce depois do recorte?

Se o original já vinha bastante comprimido em JPEG e você exporta em PNG, a recodificação sem perdas fica maior. Fique no mesmo formato do original (ou em WebP) para evitar isso.