Codificar Base64 online (texto para Base64)
Base64 é uma forma de representar dados usando apenas 64 caracteres seguros: letras, números, + e /. Esta ferramenta codifica o texto que você digitar em Base64, com suporte a acentos e emojis (UTF-8), e permite gerar a variante URL-safe.
A conversão é feita no seu navegador e o conteúdo não é enviado a nenhum servidor. Base64 não é criptografia.
Achou um resultado errado ou tem uma sugestão? Avise por e-mail.
Como usar
- Digite ou cole o texto no campo de entrada.
- Marque URL-safe se o resultado for entrar em uma URL ou em um token.
- O Base64 aparece ao lado, atualizado a cada alteração. Clique em Copiar.
Como funciona
O texto é convertido em bytes (UTF-8) e agrupado de 3 em 3 bytes. Cada grupo de 24 bits é dividido em quatro blocos de 6 bits, e cada bloco vira um dos 64 caracteres do alfabeto. Por isso o resultado é cerca de 33% maior que o original.
Quando o total de bytes não é múltiplo de 3, o final recebe um ou dois sinais de igual (=) como preenchimento. Na variante URL-safe, + vira - e / vira _, e o preenchimento é removido.
Base64 não é criptografia: qualquer pessoa consegue decodificar. Ele serve para transportar dados por canais que só aceitam texto, como JSON, e-mail e URLs, e não para proteger informações.
Exemplo
Texto: Olá
Bytes UTF-8: 4F 6C C3 A1
Base64: T2zDoQ==
URL-safe: T2zDoQ
Em código
Para codificar e decodificar Base64 em código, o ponto de atenção é a codificação do texto: use UTF-8 para que os acentos voltem iguais.
function codificarBase64(texto) {
return Buffer.from(texto, 'utf8').toString('base64');
}
function decodificarBase64(base64) {
return Buffer.from(base64, 'base64').toString('utf8');
} Node.js. O Buffer lê e escreve o texto em UTF-8.
import base64
def codificar_base64(texto: str) -> str:
return base64.b64encode(texto.encode("utf-8")).decode("ascii")
def decodificar_base64(b64: str) -> str:
return base64.b64decode(b64).decode("utf-8") <?php
function codificarBase64(string $texto): string
{
return base64_encode($texto);
}
function decodificarBase64(string $b64): string
{
$saida = base64_decode($b64, true); // true: recusa caracteres que não são Base64
if ($saida === false) {
throw new InvalidArgumentException('Base64 inválido');
}
return $saida;
} Perguntas frequentes
Base64 é criptografia?
Não. Base64 é apenas uma codificação e qualquer pessoa pode reverter. Não use para esconder senhas ou dados sensíveis.
Por que o Base64 fica maior que o texto original?
Porque cada 3 bytes viram 4 caracteres. O aumento é de aproximadamente 33%, mais o preenchimento no final, quando existir.
Funciona com acentos e emojis?
Sim. O texto é convertido em UTF-8 antes de codificar, então acentos, cedilha e emojis são preservados ao decodificar.
O que é Base64 URL-safe?
É uma variante em que + vira - e / vira _, e o preenchimento com = é removido, para o resultado poder ser usado em URLs e em tokens como JWT sem precisar de codificação extra.
Guias sobre este assunto
- Base64 com acentos: como codificar e decodificar sem erroPor que o btoa erra com acentos e emojis e como codificar e decodificar Base64 em UTF-8 e Base64URL em JavaScript, Python e PHP, com código testado.
- Como validar a assinatura de um webhook com HMACAprenda a conferir a assinatura HMAC-SHA256 de webhooks em Node.js, Python e PHP, com código testado e os erros que fazem a validação falhar.
Outras ferramentas que podem ajudar
- Decodificar Base64Decodifique Base64 para texto online, com suporte a UTF-8 e Base64 URL-safe
- Formatador JSONFormate, indente, minifique e valide JSON online
- Gerador de UUIDGere UUID v4 aleatório com um clique: em lote, em maiúsculas, com ou sem hífens
- Gerador de SenhaCrie senhas fortes e aleatórias com o tamanho e os caracteres que quiser
- Decodificador JWTDecodifique um JWT online e veja header, payload e datas de exp, iat e nbf
- Base64 de ArquivoConverta imagem, PDF ou qualquer arquivo para Base64 ou data URI online, e Base64 de volta para arquivo