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.

Atualizado em · Por Leonardo Gaertner

Achou um resultado errado ou tem uma sugestão? Avise por e-mail.

Como usar

  1. Digite ou cole o texto no campo de entrada.
  2. Marque URL-safe se o resultado for entrar em uma URL ou em um token.
  3. 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.

JavaScript
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.

Python
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
<?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.