Imagem para Base64
Conversor gratuito que transforma qualquer imagem em texto Base64, com o data URI já montado para colar no HTML, no CSS ou em um payload JSON. Feito para desenvolvedores: a conversão acontece dentro do navegador, sem upload, sem cadastro e sem limite de usos.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Quando embutir a imagem compensa
Base64 transforma a imagem em texto, o que permite embutir o arquivo direto onde ele vai ser usado: um ícone dentro do CSS, uma logo dentro de um e-mail transacional, uma imagem de teste dentro de um JSON. O ganho é eliminar a dependência externa — o recurso carrega junto com o documento, sem requisição extra e sem risco de link quebrado. É a solução clássica para assets pequenos que precisam viajar colados ao código.
Quando não usar (a conta honesta)
Codificar em Base64 aumenta o tamanho em cerca de 33%: uma imagem de 90 KB vira uns 120 KB de texto. Além disso, o conteúdo embutido não entra no cache do navegador como um arquivo separado entraria. A regra prática: ícones e logos de poucos KB, sim; fotos e banners, não. Se a imagem aparece em várias páginas, servir como arquivo com cache costuma ser melhor negócio.
Como usar o resultado
Escolha o arquivo e copie a saída no formato que precisar: a string Base64 pura ou o data URI completo, com o prefixo de tipo já incluído — pronto para o atributo src de uma tag img, para um background-image no CSS ou para um campo de API que espera a imagem codificada. Funciona também no celular, o que salva quem precisa resolver um chamado fora do computador.
Nada é enviado — e isso não é detalhe
A conversão roda inteiramente no seu navegador: o arquivo nunca sai da sua máquina. Para material interno de cliente, mockups sob NDA ou qualquer imagem que não deveria circular, isso elimina a dúvida. Quem precisa converter em escala dentro de um pipeline pode usar a mesma capacidade via API, por US$ 0,002 a chamada.
Casos de uso
Logo embutida no e-mail transacional
O sistema de pedidos da TecnoSul Soluções Digitais envia e-mails de confirmação. Embutindo a logo em Base64, o e-mail exibe a marca mesmo quando o cliente bloqueia imagens externas — sem hospedar nada.
Imagem de teste dentro do payload
Uma analista de QA em Belo Horizonte precisa testar um endpoint que recebe imagem codificada em JSON. Ela converte a foto de exemplo na hora e cola a string no corpo da requisição, sem escrever script para isso.
Ícones inline em página de campanha
Um freelancer monta uma landing de página única que precisa carregar rápido e funcionar como arquivo solto. Os seis ícones do layout vão embutidos no CSS em Base64: um HTML autossuficiente, sem pasta de assets.
Perguntas frequentes
O que é Base64 e por que imagens viram texto?
É uma codificação que representa bytes usando apenas caracteres de texto comuns. Como HTML, CSS e JSON são texto, codificar a imagem permite embuti-la nesses formatos sem referenciar um arquivo externo.
O arquivo fica maior depois de convertido?
Fica: a codificação adiciona cerca de um terço ao tamanho original. Por isso a técnica compensa para ícones e logos pequenos, e deixa de compensar para fotos grandes.
A saída já vem no formato de data URI?
Vem dos dois jeitos: a string Base64 crua e o data URI completo com o tipo do arquivo no prefixo. É colar no src, no CSS ou no campo do JSON e seguir o trabalho.
Vocês guardam alguma cópia das imagens convertidas?
Impossível guardar: a conversão é executada pelo seu navegador e o arquivo nunca é transmitido. Depois de carregada a página, o processamento é local — dá até para conferir na aba de rede do DevTools.
Existe um jeito de fazer isso em escala, num build?
Existe: a mesma conversão via API, a US$ 0,002 por chamada, para pipelines que precisam codificar imagens automaticamente. A compra é direta, sem criar conta.
Qual o tamanho máximo de arquivo aceito?
Até 15 MB por imagem — bem acima do que faz sentido embutir em Base64, então na prática o limite não aperta. Se o seu arquivo está nessa faixa, reveja se embutir é mesmo o caminho.
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/to-base64 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/to-base64", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/to-base64",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/to-base64", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/to-base64", 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
{
"image": "https://ejemplo.com/imagen.jpg"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.to_base64",
"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. |