Redimensionar imagem: calcule largura e altura
Redimensionar imagem para dimensões calcula o tamanho em pixels que uma imagem deverá ter depois da alteração.
Executar grátis
Informe a largura e a altura originais e depois uma largura desejada, uma altura desejada ou ambas. Quando você informa apenas uma dimensão de destino, a calculadora deriva a outra pela proporção original e arredonda para o pixel inteiro mais próximo. Quando informa as duas, ela devolve exatamente essas dimensões. O resultado é determinístico e útil em pipelines de imagem, layouts responsivos, validação de uploads e geração de comandos, sem enviar nem decodificar uma imagem.
Calcule um tamanho proporcional com um único destino
Comece pela largura e pela altura da imagem de origem em pixels. Em seguida, informe target_width ou target_height. A calculadora divide a dimensão desejada escolhida pela dimensão original correspondente para encontrar a escala, aplica essa escala ao outro lado e arredonda o resultado calculado para o pixel inteiro mais próximo. Por exemplo, uma imagem de 1920 por 1080 redimensionada para 1280 pixels de largura passa a ter 1280 por 720. Esse método preserva a proporção original com a precisão permitida por pixels inteiros, mantendo círculos redondos e evitando que pessoas ou objetos pareçam esticados. Ele é especialmente útil quando um layout fixa um eixo e deixa o outro se adaptar, como uma coluna de blog com largura fixa ou uma galeria com altura de linha fixa. A ferramenta apenas calcula dimensões: não envia, decodifica, reamostra, corta, compacta nem altera a imagem. Você pode fornecer a largura e a altura retornadas a uma biblioteca, um processador de linha de comando, um pipeline de conteúdo ou uma regra de renderização do navegador.
Use os dois destinos quando precisar de uma caixa exata
Informe target_width e target_height quando o destino exigir uma caixa com tamanho exato em pixels. Nesse modo, a calculadora devolve diretamente os dois valores solicitados. Ela não ajusta silenciosamente nenhum deles para preservar a proporção original, pois isso contrariaria as dimensões que você informou expressamente. Essa diferença importa para espaços publicitários, anúncios em marketplaces, modelos de impressão, telas e sistemas legados que aceitam apenas uma tela de tamanho fixo. Se a proporção de destino for diferente da proporção de origem, um processador de imagens precisará escolher o próximo passo: esticar, cortar para preencher ou encaixar a imagem com espaço vazio. Esta capacidade não toma essa decisão visual de propósito. Ela fornece dimensões claras e previsíveis para que o código posterior use uma estratégia explícita de redimensionamento. Compare as proporções antes de esticar fotografias, logotipos, diagramas, ilustrações ou textos, pois uma diferença pode gerar distorção visível.
Trate pixels, arredondamento e validação com segurança
As quatro dimensões são números inteiros positivos, pois imagens rasterizadas usam pixels inteiros. A largura e a altura originais são sempre obrigatórias, e pelo menos uma dimensão de destino deve estar presente. Zeros, valores negativos, frações, valores não numéricos e dimensões acima do limite publicado de um bilhão de pixels são rejeitados, em vez de convertidos automaticamente. Quando há um único destino, o lado calculado usa o arredondamento padrão para o inteiro mais próximo e nunca fica abaixo de um pixel. Em imagens muito pequenas, o arredondamento pode fazer a proporção retornada diferir minimamente da proporção matemática, o que é inevitável porque não existe pixel fracionário. Para uma automação repetível, envie as dimensões originais registradas nos metadados da imagem, não dimensões CSS de exibição nem estimativas manuais. A mesma entrada sempre gera a mesma saída: não há acesso à rede, aleatoriedade, dependência do horário, inspeção da imagem ou estado oculto. Assim, o resultado pode ser armazenado em cache, testado em fixtures golden e reutilizado em clientes de API e fluxos do navegador.
Casos de uso
Prepare larguras responsivas
Calcule a altura correspondente a cada largura responsiva fixa antes de gerar variantes da imagem.
Valide um tamanho exato de entrega
Determine a caixa de saída solicitada para um anúncio, uma listagem de marketplace ou uma tela.
Monte comandos de redimensionamento
Converta metadados da origem e um lado solicitado em dimensões inteiras para um pipeline de imagens.
Perguntas frequentes
O que acontece se eu informar apenas a largura desejada?
A altura é calculada pela proporção original e arredondada para o pixel inteiro mais próximo.
O que acontece se eu informar apenas a altura desejada?
A largura é calculada pela proporção original e arredondada para o pixel inteiro mais próximo.
Posso informar as duas dimensões de destino?
Sim. Os dois valores são devolvidos exatamente, mesmo que a proporção seja diferente da imagem original.
A ferramenta envia ou redimensiona minha imagem?
Não. Ela só calcula dimensões e nunca recebe, decodifica, armazena nem altera dados da imagem.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/image/resize-to-dimensions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":1920,"height":1080,"target_width":1280}'const res = await fetch("https://api.kit.forhosting.com/image/resize-to-dimensions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 1920,
"height": 1080,
"target_width": 1280
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/resize-to-dimensions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 1920,
"height": 1080,
"target_width": 1280
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/resize-to-dimensions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":1920,"height":1080,"target_width":1280}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":1920,"height":1080,"target_width":1280}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/resize-to-dimensions", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"width": 1920,
"height": 1080,
"target_width": 1280
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.resize_to_dimensions",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 15 |
max_megapixels | 12 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |