CIRCUITO
CARIOCA TI · DOCUMENTAÇÃO
♙
Dev Tool

Encoder e Decoder Base64

Codifique texto ou bytes em Base64 padrão ou Base64URL e decodifique Base64 com validação estrita, verificação de padding e tratamento seguro de saída binária.

Base64Base64URLRFC 4648EncodeDecodeMIMEUTF-8

Codificar e decodificar Base64

Escolha Base64 padrão ou o alfabeto seguro para URLs. O processamento ocorre neste servidor web; portanto, não cole senhas, chaves privadas, tokens de acesso ou outros segredos em uma ferramenta online pública.

Entrada máxima: 1 MiB.
BASE64 · RFC 4648

O que é Base64

Base64 é uma codificação de dados binários para texto. Ela transforma grupos de bits de entrada em um alfabeto textual restrito. O Base64 padrão usa A–Z, a–z, 0–9, + e /, com = como padding quando necessário. A transformação é reversível e não fornece confidencialidade.

NÃO É CRIPTOGRAFIA

Base64 não protege segredos

Qualquer pessoa que receba dados Base64 normalmente pode decodificá-los sem uma chave. Codificar senha, API key, cookie, token ou dado privado em Base64 não o criptografa. A segurança precisa vir do protocolo e dos controles ao redor — por exemplo TLS em trânsito e proteção criptográfica ou armazenamento de segredos quando necessário.

3 BYTES → 4 CHARS

Por que Base64 normalmente aumenta cerca de um terço

Base64 representa cada 24 bits de entrada — três bytes — como quatro símbolos de seis bits cada. Em entradas grandes, isso transforma 3 bytes em 4 caracteres codificados, produzindo aproximadamente 33,3% de overhead antes de quebras de linha opcionais ou sintaxe adicional do protocolo. Entradas pequenas podem ter overhead percentual maior por causa do padding.

PADDING =

O que significam os caracteres =

O padding completa o último grupo de quatro caracteres Base64 quando a quantidade de bytes de entrada não é múltipla de três. A RFC 4648 exige padding apropriado no caso geral, salvo quando a especificação que utiliza Base64 declara explicitamente que ele é desnecessário ou omitido. Por isso, esta ferramenta permite controlar entrada/saída sem padding em vez de assumir silenciosamente uma convenção.

BASE64URL

Base64URL usa um alfabeto diferente

A RFC 4648 define um alfabeto Base64 seguro para URLs e nomes de arquivos no qual + é substituído por - e / por _. Base64URL não é apenas uma preferência visual: o decodificador precisa saber qual alfabeto o formato ao redor exige. Alguns protocolos também omitem o padding = final.

STRICT DECODING

Por que validação estrita importa

A função base64_decode() do PHP possui modo estrito que rejeita caracteres fora do alfabeto Base64 em vez de descartá-los silenciosamente. Esta página acrescenta verificações de alfabeto, comprimento, posição do padding e representação canônica por round-trip. O tratamento estrito é útil quando dados malformados devem ser tratados como erro em vez de serem corrigidos silenciosamente.

MIME · RFC 2045

Por que Base64 MIME pode conter quebras de linha

Base64 em MIME para e-mail possui regras de linhas voltadas ao transporte e permite que o decodificador ignore quebras de linha e outros whitespaces nesse contexto. Já a RFC 4648 diz que implementações não devem adicionar quebras sem que a especificação que referencia Base64 determine isso. Por isso, o decodificador oferece uma opção separada de whitespace estilo MIME em vez de considerar whitespace universalmente válido.

BINARY OUTPUT

Base64 decodificado são bytes, não necessariamente texto

Um decodificador Base64 retorna a sequência original de bytes. Esses bytes podem representar texto UTF-8, imagem, dados comprimidos, certificado, executável ou qualquer outro formato binário. O PHP documenta explicitamente que a saída decodificada pode ser binária. Quando esta página detecta saída que não é texto UTF-8 exibível com segurança, ela mostra os bytes em hexadecimal em vez de inserir dados binários arbitrários no HTML.

HTTP BASIC · RFC 7617

HTTP Basic usa Base64, mas Base64 não é sua camada de segurança

A autenticação HTTP Basic monta user-id:password e codifica os octetos resultantes em Base64. A RFC 7617 alerta explicitamente que Basic não é seguro por si só, porque Base64 não protege as credenciais. Na prática, Basic deve ser usado com transporte externo seguro, como HTTPS/TLS, e controles operacionais adequados.

CODIFICAÇÃO DE TEXTO

Base64 codifica bytes; UTF-8 define como texto vira bytes

Base64 por si só não define se o texto de origem usa UTF-8, ASCII, ISO-8859-1 ou outra codificação de caracteres. Os mesmos caracteres visíveis podem gerar sequências de bytes diferentes em encodings diferentes. Aplicações web normalmente trabalham com UTF-8, mas a interoperabilidade depende de ambos os lados concordarem sobre como transformar texto em bytes antes de aplicar Base64.

FAQ

Perguntas frequentes sobre Base64

Base64 criptografa os dados?+

Não. Base64 é uma codificação reversível de bytes para texto e não oferece confidencialidade.

Por que Base64 normalmente aumenta o tamanho?+

Cada 3 bytes de entrada viram 4 caracteres Base64, então conteúdos grandes crescem cerca de 33,3% antes de eventuais quebras específicas do protocolo.

O que significa = em Base64?+

É o padding usado para completar o último grupo de quatro caracteres quando o tamanho da entrada em bytes não é múltiplo de três.

Padding Base64 é sempre obrigatório?+

A RFC 4648 exige padding apropriado no caso geral, salvo quando a especificação que utiliza Base64 declara explicitamente que ele é desnecessário ou omitido.

Qual a diferença entre Base64 e Base64URL?+

Base64URL troca + por - e / por _, deixando o alfabeto mais apropriado para URLs e nomes de arquivos. Alguns protocolos baseados em Base64URL também omitem padding.

Posso decodificar Base64 sem padding?+

Somente quando o formato ao redor permite Base64 sem padding ou quando o decodificador foi deliberadamente configurado para aceitar isso. Esta página torna esse comportamento explícito.

Por que o modo estrito rejeita espaços e quebras de linha?+

Na decodificação genérica da RFC 4648, whitespace arbitrário não faz parte do alfabeto. MIME possui regras próprias que permitem esse tratamento, por isso a página oferece um modo MIME separado.

A saída decodificada de Base64 pode ser binária?+

Sim. Base64 representa bytes arbitrários. O resultado pode ser texto, imagem, certificado, dados comprimidos ou qualquer outro conteúdo binário.

Por que a ferramenta às vezes mostra hexadecimal ao decodificar?+

Quando os bytes não formam texto UTF-8 exibível com segurança, o hexadecimal preserva uma representação legível e exata sem corromper dados binários arbitrários no HTML.

Base64 é a mesma coisa que ASCII?+

Não. Base64 é uma codificação que representa bytes usando um alfabeto limitado compatível com caracteres ASCII. ASCII é uma codificação de caracteres.

Base64 define UTF-8?+

Não. O texto primeiro precisa virar bytes usando uma codificação como UTF-8; Base64 então representa esses bytes.

Por que Base64 é usado no HTTP Basic?+

HTTP Basic codifica em Base64 a sequência de bytes de usuário/senha para a sintaxe de transporte. A RFC 7617 alerta que isso não protege as credenciais, portanto é necessário transporte seguro como TLS.

Base64 é usado em e-mail?+

Sim. MIME define Base64 como content-transfer encoding e possui regras específicas de comprimento de linha e tratamento de whitespace para transporte de e-mail.

O que a decodificação Base64 estrita valida?+

Esta página valida o alfabeto escolhido, comprimento, posição do padding, padding esperado e recodificação canônica antes de aceitar os bytes decodificados.

Posso colar senhas ou API keys aqui?+

Evite enviar segredos para ferramentas públicas de conversão online. Esta página processa o valor enviado no servidor web.

Qual padrão define Base64?+

A RFC 4648 define os alfabetos Base64 e Base64URL mais usados e suas regras gerais. Base64 em MIME também possui regras específicas de contexto na RFC 2045.