Enviar um arquivo
  1. base64hub
  2. Ferramentas de texto
  3. Base64 para texto

Base64 para texto: decodificar uma string Base64

Cole uma string Base64 para ler o texto que ela contém. O padrão é UTF-8 e, se o resultado parecer errado, você pode trocar para qualquer um de 27 charsets ou deixar a ferramenta adivinhar.

Grátis sem cadastro, sem limites Local nada é enviado Atualizado 27 de out. de 2026
Entrada 0 BSaída 0 BTamanho –

Processado no seu navegador. Esta página não consegue enviar seus dados para lugar nenhum – como sabemos

Como converter Base64 para texto

  1. Cole a string Base64 na caixa Entrada · Base64. Espaços, quebras de linha e aspas em volta não atrapalham.
  2. Leia o texto em Saída · texto. A linha de status abaixo da ferramenta diz se a entrada era Base64 válido, quantos bytes ela continha e com o que o conteúdo se parece.
  3. Se a saída mostrar � ou letras estranhas, troque o Charset. Detectar automaticamente procura um byte order mark, UTF-8 e UTF-16.
  4. Copie o texto com Copiar saída ou salve com Baixar.

O caminho inverso é Texto para Base64.

Como saber se uma string é Base64

Uma string Base64 usa só 64 caracteres, mais o = de preenchimento. O Base64 padrão tem + e /; a variante URL-safe usa - e _ no lugar deles. Strings com preenchimento têm comprimento divisível por 4, e os sinais = só podem aparecer no final.

Essas regras são necessárias, mas não bastam. Muitas palavras comuns passam por elas: Test é Base64 válido e decodifica para os três bytes 4D EB 2D, que não significam nada. O teste prático é decodificar a string e ver se sai algo que faça sentido. Quando você precisa de mais do que um sim ou não, o validador de Base64 mostra qual regra de caractere, comprimento ou preenchimento a string quebra e dá uma nota para a chance de ela ser Base64.

Exemplos

String Base64TextoObservação
VGhhbmsgeW91IQ==Thank you!ASCII simples
SGVsbG8sIFfDtnJsZA==Hello, Wörldö ocupa dois bytes em UTF-8
5L2g5aW9你好Seis bytes, três por caractere
0J/RgNC40LLQtdGCПриветCirílico em UTF-8
QmFzZTY0IGlzIG5vdCBlbmNyeXB0aW9uLg==Base64 is not encryption.Qualquer um consegue ler
dXNlcm5hbWU6c2VjcmV0username:secretO formato de um header HTTP Basic auth

Como mostra a última linha, qualquer pessoa que veja um header Authorization: Basic consegue ler a senha que está nele. O decodificador de Basic Auth separa esse header em usuário e senha, e codificação vs criptografia explica por que quem mantém a senha privada de verdade é o HTTPS.

De bytes para string

Decodificar Base64 dá bytes. Tirar uma string deles é um segundo passo, que precisa de um charset, e é nesse passo que nasce a maioria dos problemas de “texto errado”. A maioria das linguagens deixa os dois passos explícitos:

import base64

raw = base64.b64decode("SGVsbG8sIFfDtnJsZA==")
raw                     # b'Hello, W\xc3\xb6rld'
raw.decode("utf-8")     # 'Hello, Wörld'
raw.decode("latin-1")   # 'Hello, Wörld'

Em JavaScript, um TextDecoder com fatal: true lança um TypeError em vez de inserir � em silêncio, o que ajuda quando você prefere falhar a gravar texto quebrado:

const bytes = Uint8Array.from(atob("Y2Fm6Q=="), c => c.charCodeAt(0));
new TextDecoder("utf-8", { fatal: true }).decode(bytes);
// TypeError: the bytes are not valid UTF-8
new TextDecoder("windows-1252").decode(bytes);   // "café"

Mais padrões nas páginas de Python e JavaScript.

Quando a saída não é texto legível

  • Quase só símbolos, com algumas palavras legíveis. A string contém um arquivo. Confira Parece ser na linha de status e abra em Base64 para arquivo, que mostra a prévia e salva.
  • Letras separadas por espaços vazios. O texto é UTF-16. Defina o Charset como UTF-16LE.
  • Texto legível, mas é aparece como é. O texto foi decodificado errado em algum ponto antes de ser codificado. O Base64 está certo; os dados de origem é que não estão.
  • A saída é Base64 de novo. Foi codificado duas vezes. Copie a saída, cole como entrada e decodifique mais uma vez.
  • Bytes com cara de aleatórios e nenhum formato detectado. Os dados provavelmente estão criptografados ou compactados. A decodificação Base64 é só a primeira camada; para dados gzip ou zlib, experimente o decodificador de Base64 gzip.

Perguntas frequentes

O que é uma string Base64?

Um texto formado apenas pelos caracteres A–Z, a–z, 0–9, + e /, muitas vezes terminando em = ou ==. Ela representa bytes, que podem ser texto, uma imagem ou qualquer outro arquivo, escritos de um jeito que sobrevive a sistemas que só lidam com caracteres simples.

Como saber o que uma string Base64 contém antes de decodificar?

Os primeiros caracteres muitas vezes entregam: eyJ é JSON, PD94bWwg é XML, iVBORw0KGgo é um PNG e JVBERi0 é um PDF. Depois de decodificar, a linha de status informa o formato detectado. Veja prefixos comuns de Base64.

Como converter Base64 para string em Python?

base64.b64decode(s).decode("utf-8"). A primeira chamada devolve bytes; o .decode() os transforma em str usando o charset que você indicar.

Por que o texto decodificado é outra string Base64?

O valor foi codificado duas vezes, o que acontece quando duas camadas de um sistema codificam cada uma por sua conta. Cole a saída de volta na entrada e decodifique de novo.