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

- Endereço oficial: https://pradev.com.br/decodificar-base64
- Categoria: Codificação e segurança
- Tipo: Codificador
- Atualizado em: 2026-09-30
- Autor: Leonardo Gaertner (https://pradev.com.br/sobre)
- Preço: grátis, sem cadastro. O processamento acontece no navegador de quem usa.

## 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

```text
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');
}
```

_JavaScript. 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")
```

_Python_

```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;
}
```

_PHP_

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

## Guias

- [Base64 com acentos: como codificar e decodificar sem erro](https://pradev.com.br/guias/base64-com-acentos-utf8): Por 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 decodificar e verificar um JWT em JavaScript e Python](https://pradev.com.br/guias/como-decodificar-e-verificar-jwt): Entenda a diferença entre decodificar e verificar um JWT e veja código testado em JavaScript e Python para ler o token e checar a assinatura HS256.

## Ferramentas relacionadas

- [Codificar Base64](https://pradev.com.br/codificar-base64): Converta texto para Base64 online, com suporte a acentos (UTF-8) e opção URL-safe. Grátis, no navegador, sem enviar seus dados.
- [Formatador JSON](https://pradev.com.br/formatador-json): Formate, indente, minifique e valide JSON online. Mostra a linha e a coluna do erro. Grátis, e o que você cola não sai do navegador.
- [Gerador de UUID](https://pradev.com.br/gerador-de-uuid): Gere UUID v4 aleatório com um clique: em lote, em maiúsculas, com ou sem hífens. Grátis, gerado no seu navegador.
- [Gerador de Senha](https://pradev.com.br/gerador-de-senha): Crie senhas fortes e aleatórias com o tamanho e os caracteres que quiser. Geradas no seu navegador, nunca enviadas nem armazenadas.
- [Decodificador JWT](https://pradev.com.br/decodificador-jwt): Decodifique um JWT online e veja header, payload e datas de exp, iat e nbf. O token não sai do navegador. Não verifica a assinatura.
- [Base64 de Arquivo](https://pradev.com.br/base64-de-arquivo): Converta imagem, PDF ou qualquer arquivo para Base64 ou data URI online, e Base64 de volta para arquivo. Com prévia de imagem. Grátis, no navegador.
