# Codificador e decodificador Base64

> Ferramenta avançada para codificar e decodificar texto em Base64. Suporta UTF-8, formato URL-safe e explica o princípio da codificação. Online e gratuito.

URL: https://acrafto.com/pt/encoder-decoder-base64-online/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Precisa converter texto legível para o formato Base64 para usar em cabeçalhos HTTP, ou decifrar o conteúdo de um token de API? Nosso **Codificador e Decodificador de Texto Base64** é uma ferramenta especializada para trabalhar com strings de texto, capaz de lidar com complexidades como acentos ou caracteres especiais.

> **Está trabalhando com imagens?**  
> Se o seu código começa com `data:image/png...` ou se você deseja converter um arquivo em texto, esta ferramenta apenas mostrará caracteres sem sentido. Utilize nossa ferramenta especializada para conversão de imagem.

## Como o formato Base64 funciona?

Muitas pessoas usam Base64 diariamente, mas poucos sabem como funciona “por baixo do capô”. Não é mágica, mas matemática simples com bits.

O texto comum em um computador é armazenado em 8 bits (1 byte). No entanto, o Base64 usa um “alfabeto” de 64 caracteres (`A-Z`, `a-z`, `0-9`, `+`, `/`). Como `2^6 = 64`, um caractere Base64 representa exatamente **6 bits** de informação.

**Processo de Conversão (Algoritmo):**

1. São usados três caracteres do seu texto (3 × 8 bits = 24 bits).
2. Estes 24 bits são divididos em quatro grupos de 6 bits.
3. Cada grupo recebe um caractere da tabela Base64.

**Consequência:** Como transformamos 3 caracteres em 4, a string Base64 resultante é sempre aproximadamente **33% mais longa** do que o texto original.

## Problema de conjunto de caracteres: Por que os conversores Base64 comuns estragam o tcheco?

Se você já tentou codificar a palavra “Kůň” no console do navegador usando a função `btoa('Kůň')`, provavelmente recebeu um erro: *String contains characters outside of the Latin1 range.*

O Base64 foi originalmente projetado para caracteres ASCII de 7 bits. No entanto, o tcheco, emojis e outros símbolos especiais (UTF-8) ocupam mais bytes na memória (multibyte characters).

- Letra `a` = 1 byte.
- Letra `ř` = 2 bytes.
- Emoji 🚀 = 4 bytes.

Nossa ferramenta resolve este problema. Antes de codificar para Base64, convertemos o texto corretamente para uma sequência de bytes UTF-8. Graças a isso, você pode codificar objetos JSON, textos tchecos e símbolos modernos sem o risco de corromper os dados.

## Onde a codificação de texto Base64 é usada?

Enquanto imagens em Base64 servem principalmente para incorporação em CSS/HTML, o Base64 textual tem uma utilização completamente diferente em sistemas de backend:

### 1\. Autenticação Básica HTTP

Quando você se autentica em uma API, o cabeçalho frequentemente tem esta aparência: `Authorization: Basic dXN1YXJpbzpzZW5oYQ==` Por trás deste código, esconde-se simplesmente um nome de usuário e senha combinados no formato `usuario:senha`. Nossa ferramenta permite que você gere ou verifique estes cabeçalhos facilmente.

### 2\. JSON Web Tokens (JWT)

As aplicações web modernas usam os chamados JWT para autenticação. Um token assim parece três longas strings separadas por um ponto. A parte com os dados (Payload) é um objeto JSON comum codificado em Base64.

- **Dica:** Tente colar a parte do meio do seu token JWT aqui e decodificá-la. Você verá exatamente que dados a aplicação registra sobre você (ex: ID do usuário, expiração).

### 3\. Arquivos de Configuração (Kubernetes Secrets)

Plataformas como Kubernetes armazenam dados secretos (Secrets) em arquivos de configuração YAML em Base64. Não se trata de criptografia, mas de uma forma de armazenar dados binários ou texto com caracteres problemáticos (novas linhas, aspas) em um arquivo de texto.

## O que é “codificação Base64 URL Safe” e por que isso importa?

O alfabeto padrão Base64 contém os caracteres `+` (mais) e `/` (barra). Ambos estes caracteres têm um significado especial em URLs:

- `/` separa diretórios.
- `+` é frequentemente interpretado como um espaço.

Se você enviasse Base64 padrão em um parâmetro de URL (ex: `site.com?token=ab/cd+ef`), o servidor poderia ler os dados incorretamente.

**Solução (Modo URL Safe):** Nosso botão ativa a variante **Base64URL** (conforme RFC 4648), que realiza estas alterações:

- `+` muda para `-` (hífen).
- `/` muda para `_` (sublinhado).
- No final, os caracteres `=` (preenchimento) são removidos, pois não são necessários em URLs.

---

## Mito: Base64 não é criptografia!

É importante compreender uma diferença fundamental que os iniciantes frequentemente confundem:

1. **Codificação (Encoding - Base64):** Serve para a transferência de dados. É como embalar algo em uma mala para que não quebre durante a viagem. Qualquer um que encontre a mala pode abri-la (decodificar) e ver o conteúdo. **Não é seguro para dados confidenciais.**
2. **Criptografia (Encryption - AES, RSA):** Bloqueia os dados com uma chave. Sem a chave, não é possível acessar o conteúdo.
3. **Hashing (Hashing - SHA, MD5):** Um processo unidirecional (ex: para armazenar senhas). Não é possível obter o texto original a partir do resultado.

*Se você precisar enviar uma senha ou dados sensíveis, o Base64 por si só não é suficiente. Use HTTPS (SSL/TLS), que criptografa a transmissão.*

---

## Perguntas Frequentes (FAQ)

### O que significam os caracteres "=" no final da string?

Isso é chamado de "padding" (preenchimento). Como o Base64 codifica dados em grupos de 3 caracteres, pode acontecer que o comprimento do texto original não seja divisível por três. Os caracteres \`=\` são adicionados ao final para que o decodificador saiba quantos bits deve ignorar no final.

### Por que o texto decodificado aparece como "caracteres estranhos"?

Provavelmente você está tentando decodificar dados que não são texto. Se a string Base64 representa um arquivo compactado (ZIP), uma imagem ou dados criptografados, a conversão para texto (UTF-8) não faz sentido. Tente descobrir a origem dos dados.

### A ferramenta funciona offline?

Sim. Toda a lógica de conversão está escrita em JavaScript e roda diretamente no seu navegador. Assim que a página carrega, você pode se desconectar da internet e a ferramenta continuará funcionando. Seus dados não são enviados para lugar nenhum.

## Other languages

- Čeština (cs): [Base64 Encoder a Decoder](https://acrafto.com/cs/base64-decoder-encoder/) ([Markdown](https://acrafto.com/cs/base64-decoder-encoder/index.md))
- Slovenčina (sk): [Base64 kódovač a dekódovač](https://acrafto.com/sk/base64-kodovac-dekodovac-online/) ([Markdown](https://acrafto.com/sk/base64-kodovac-dekodovac-online/index.md))
- English (en): [Base64 Encoder and Decoder](https://acrafto.com/en/base64-encoder-decoder/) ([Markdown](https://acrafto.com/en/base64-encoder-decoder/index.md))
- Deutsch (de): [Base64 Encoder und Decoder](https://acrafto.com/de/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/de/base64-encoder-decoder-online/index.md))
- Français (fr): [Encodeur et décodeur Base64](https://acrafto.com/fr/encodeur-decodeur-base64/) ([Markdown](https://acrafto.com/fr/encodeur-decodeur-base64/index.md))
- Español (es): [Codificador y decodificador Base64](https://acrafto.com/es/codificador-base64-decodificador-online/) ([Markdown](https://acrafto.com/es/codificador-base64-decodificador-online/index.md))
- Italiano (it): [Encoder e decoder Base64](https://acrafto.com/it/encoder-decoder-base64-online/) ([Markdown](https://acrafto.com/it/encoder-decoder-base64-online/index.md))
- Nederlands (nl): [Base64 encoder en decoder](https://acrafto.com/nl/base64-encoder-decoder/) ([Markdown](https://acrafto.com/nl/base64-encoder-decoder/index.md))
- Polski (pl): [Koder i dekoder Base64](https://acrafto.com/pl/koder-dekoder-base64-online/) ([Markdown](https://acrafto.com/pl/koder-dekoder-base64-online/index.md))
- Română (ro): [Base64 encoder și decoder](https://acrafto.com/ro/codor-decodor-base64/) ([Markdown](https://acrafto.com/ro/codor-decodor-base64/index.md))
- Magyar (hu): [Base64 kódoló és dekódoló](https://acrafto.com/hu/base64-kodolo-dekodolo-online/) ([Markdown](https://acrafto.com/hu/base64-kodolo-dekodolo-online/index.md))
- Ελληνικά (el): [Κωδικοποίηση και αποκωδικοποίηση Base64](https://acrafto.com/el/base64-encoder-decoder/) ([Markdown](https://acrafto.com/el/base64-encoder-decoder/index.md))
- Български (bg): [Base64 енкодер и декодер](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/) ([Markdown](https://acrafto.com/bg/base64-enkoder-dekoder-onlain/index.md))
- Hrvatski (hr): [Base64 koder i dekoder](https://acrafto.com/hr/base64-koder-dekoder/) ([Markdown](https://acrafto.com/hr/base64-koder-dekoder/index.md))
- Slovenščina (sl): [Base64 kodirnik in dekodirnik](https://acrafto.com/sl/base64-kodirnik-dekodirnik/) ([Markdown](https://acrafto.com/sl/base64-kodirnik-dekodirnik/index.md))
- Eesti (et): [Base64 kodeerija ja dekodeerija](https://acrafto.com/et/base64-teisendaja/) ([Markdown](https://acrafto.com/et/base64-teisendaja/index.md))
- Latviešu (lv): [Base64 kodētājs un dekodētājs](https://acrafto.com/lv/base64-kodetajs-dekodetajs/) ([Markdown](https://acrafto.com/lv/base64-kodetajs-dekodetajs/index.md))
- Lietuvių (lt): [Base64 koduotuvas ir dekoduotuvas](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/) ([Markdown](https://acrafto.com/lt/base64-koduotuvas-dekoduotuvas/index.md))
- Svenska (sv): [Base64 encode och decode](https://acrafto.com/sv/base64-kodare-avkodare-online/) ([Markdown](https://acrafto.com/sv/base64-kodare-avkodare-online/index.md))
- Dansk (da): [Base64 encoder og dekoder](https://acrafto.com/da/base64-encoder-dekoder-online/) ([Markdown](https://acrafto.com/da/base64-encoder-dekoder-online/index.md))
- Suomi (fi): [Base64-kooderi ja -dekooderi](https://acrafto.com/fi/base64-kooderi-dekooderi/) ([Markdown](https://acrafto.com/fi/base64-kooderi-dekooderi/index.md))
- Norsk (no): [Base64-enkoder og -dekoder](https://acrafto.com/no/base64-enkoder-dekoder/) ([Markdown](https://acrafto.com/no/base64-enkoder-dekoder/index.md))
- Українська (uk): [Base64 кодер і декодер](https://acrafto.com/uk/base64-koder-dekoder-onlajn/) ([Markdown](https://acrafto.com/uk/base64-koder-dekoder-onlajn/index.md))
- Русский (ru): [Base64 кодировщик и декодировщик](https://acrafto.com/ru/base64-koder-dekoder/) ([Markdown](https://acrafto.com/ru/base64-koder-dekoder/index.md))
- Српски (sr): [Base64 enkoder i dekoder](https://acrafto.com/sr/base64-enkoder-dekoder-online/) ([Markdown](https://acrafto.com/sr/base64-enkoder-dekoder-online/index.md))
- Македонски (mk): [Base64 енкодер и декодер](https://acrafto.com/mk/base64-converter/) ([Markdown](https://acrafto.com/mk/base64-converter/index.md))
- Bosanski (bs): [Base64 koder i dekoder](https://acrafto.com/bs/base64-koder-dekoder/) ([Markdown](https://acrafto.com/bs/base64-koder-dekoder/index.md))
- Shqip (sq): [Base64 kodues dhe dekodues](https://acrafto.com/sq/kodues-dekodues-base64-online/) ([Markdown](https://acrafto.com/sq/kodues-dekodues-base64-online/index.md))
- Türkçe (tr): [Base64 kodlayıcı ve çözücü](https://acrafto.com/tr/base64-kodlayici-cozucu-online/) ([Markdown](https://acrafto.com/tr/base64-kodlayici-cozucu-online/index.md))
- 日本語 (ja): [Base64エンコード・デコード](https://acrafto.com/ja/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ja/base64-encoder-decoder/index.md))
- 한국어 (ko): [Base64 인코딩 디코딩](https://acrafto.com/ko/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ko/base64-encoder-decoder/index.md))
- العربية (ar): [ترميز وفك ترميز Base64](https://acrafto.com/ar/base64-encoder-decoder/) ([Markdown](https://acrafto.com/ar/base64-encoder-decoder/index.md))
- हिन्दी (hi): [Base64 एन्कोडर और डिकोडर](https://acrafto.com/hi/base64-encoder-decoder-online/) ([Markdown](https://acrafto.com/hi/base64-encoder-decoder-online/index.md))
- Bahasa Indonesia (id): [Base64 encode dan decode](https://acrafto.com/id/konverter-base64-online/) ([Markdown](https://acrafto.com/id/konverter-base64-online/index.md))
- Tiếng Việt (vi): [Mã hóa và giải mã Base64](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/) ([Markdown](https://acrafto.com/vi/base64-ma-hoa-giai-ma-online/index.md))
- ไทย (th): [เข้ารหัสและถอดรหัส Base64](https://acrafto.com/th/base64-encoder-decoder/) ([Markdown](https://acrafto.com/th/base64-encoder-decoder/index.md))
- עברית (he): [קידוד ופענוח Base64](https://acrafto.com/he/base64-encoder-decoder/) ([Markdown](https://acrafto.com/he/base64-encoder-decoder/index.md))
