Decodificar Base64 online (Base64 para texto)

Esta ferramenta converte um texto em Base64 de volta para o texto original, com suporte a acentos e emojis (UTF-8) e à variante URL-safe. Se o conteúdo não for texto, como uma imagem ou um arquivo, ela avisa.

Atualizado em · Por Leonardo Gaertner

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

Como usar

  1. Cole o Base64 no campo de entrada. Quebras de linha e espaços são ignorados.
  2. O texto decodificado aparece ao lado, atualizado a cada alteração.
  3. Se houver erro, a mensagem indica o que está errado. Clique em Copiar para levar o resultado.

Como funciona

Cada caractere Base64 representa 6 bits. A ferramenta junta os blocos, recompõe os bytes e interpreta o resultado como texto UTF-8.

Ela aceita a variante URL-safe (com - e _ no lugar de + e /) e também texto sem o preenchimento final com igual (=).

Se os bytes não formarem um texto UTF-8 válido, o Base64 provavelmente representa um arquivo binário, como uma imagem, e não é possível mostrá-lo como texto.

Exemplo

Base64: T2zDoQ==

Bytes UTF-8: 4F 6C C3 A1

Texto: Olá

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

Como sei se um texto está em Base64?

Costuma ter só letras, números, + e / (ou - e _ na variante URL-safe), com tamanho múltiplo de 4 e, às vezes, um ou dois sinais de igual no fim. Só a decodificação mostra se o conteúdo faz sentido.

Por que aparece uma mensagem dizendo que não é texto UTF-8?

O Base64 é válido, mas os bytes decodificados não formam um texto legível. Isso acontece com imagens, PDFs e outros arquivos codificados em Base64.

O Base64 que eu colo é enviado para algum servidor?

Não. A decodificação é feita no seu navegador, e o conteúdo não é enviado nem armazenado pelo PraDev.