Codificação / Decodificação Base64/ Lado do cliente

Converta texto para Base64 e vice-versa. Suporte completo a Unicode, modo URL seguro, sem envio ao servidor.

Texto simples
Saída Base64
O resultado aparecerá aqui…
Entrada0 car.
Saída0 car.

Esta ferramenta resolveu o seu problema?

O que é codificação Base64

Base64 é um esquema de codificação que representa dados binários usando 64 caracteres ASCII imprimíveis. Codifica每 3 bytes (24 bits) em 4 caracteres, usando apenas A-Z, a-z, 0-9, +, / e o caractere de preenchimento =. Base64 NÃO é um algoritmo de criptografia — é um formato de codificação que任何人 pode decodificar facilmente, sem提供任何 segurança.

Usos comuns do Base64

Anexos de e-mail: o protocolo MIME usa Base64 para anexos binários. Data URLs: incorporar imagens, fontes e outros recursos直接 em CSS ou HTML para减少 requisições HTTP. Transmissão API: codificar dados binários (imagens, PDF) em JSON como strings Base64. Tokens JWT: os cabeçalhos e payloads dos JWT são JSON codificados em Base64. Autenticação Basic: HTTP Basic Auth codifica usuário:senha como Base64.

Quanto o Base64增加 o tamanho do arquivo

A codificação Base64增加 o tamanho dos dados about 33%. Como每 3 bytes原 se tornam 4 caracteres, o tamanho codificado = ceil(tamanho original / 3) × 4. Para arquivos grandes, a transmissão binária直接 é portanto mais eficiente. Mas quando você precisa传输 dados binários através de um canal de仅 texto (JSON, XML, URLs), Base64 é a solução padrão.

Exemplos de código

JavaScript (Browser)
// Encode (ASCII only)
const encoded = btoa("Hello, World!");
// Decode
const decoded = atob(encoded);

// Encode Unicode (CJK, emoji, etc.)
function b64Encode(str) {
  const bytes = new TextEncoder().encode(str);
  const bin = String.fromCharCode(...bytes);
  return btoa(bin);
}
function b64Decode(b64) {
  const bin = atob(b64);
  const bytes = Uint8Array.from(bin, c => c.charCodeAt(0));
  return new TextDecoder().decode(bytes);
}
Python
import base64

# Encode
text = "Hello, 世界 🌏"
encoded = base64.b64encode(text.encode("utf-8")).decode()
print(encoded)

# Decode
decoded = base64.b64decode(encoded).decode("utf-8")
print(decoded)

# URL-safe variant
url_safe = base64.urlsafe_b64encode(
    text.encode("utf-8")
).decode().rstrip("=")
Go
import "encoding/base64"

// Encode
encoded := base64.StdEncoding.
    EncodeToString([]byte("Hello, World!"))

// Decode
decoded, err := base64.StdEncoding.
    DecodeString(encoded)

// URL-safe
urlSafe := base64.URLEncoding.
    EncodeToString([]byte("Hello, World!"))
Shell (curl / openssl)
# Encode
echo -n "Hello, World!" | base64

# Decode
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d

# URL-safe encode (GNU coreutils)
echo -n "Hello" | base64 | tr '+/' '-_' | tr -d '='

Perguntas frequentes

O que é Base64?
Base64 é um esquema de codificação que converte dados binários em texto ASCII usando 64 caracteres imprimíveis (A–Z, a–z, 0–9, +, /). É amplamente usado para transmitir dados binários (imagens, arquivos) através de protocolos baseados em texto como HTTP, e-mail e JSON.
A codificação Base64 é o mesmo que criptografia?
Não. Base64 é codificação, não criptografia. Qualquer pessoa pode decodificá-lo instantaneamente — não há chave ou segredo envolvido. Para segurança de dados, use um algoritmo de criptografia como AES ou RSA.
Qual a diferença entre Base64 e base64url?
O Base64 padrão usa + e / que precisam de escape em URLs (%2B e %2F), além de preenchimento com =. O base64url substitui + por -, / por _, e remove os = finais, tornando-o seguro para uso em URLs e nomes de arquivo. Os tokens JWT usam base64url para o cabeçalho e payload.
Por que o Base64 aumenta o tamanho dos dados?
O Base64 representa cada 3 bytes de dados binários como 4 caracteres ASCII, aumentando o tamanho codificado para ~133% do original — aproximadamente 33% a mais. Este é o custo de representar dados binários como texto simples.
Como uso Base64 em JavaScript?
Os navegadores fornecem btoa() (codificar) e atob() (decodificar). No entanto, não suportam Unicode nativamente; para strings com caracteres não latinos, primeiro codifique para bytes UTF-8 via TextEncoder. Esta ferramenta trata Unicode corretamente.
Meus dados estão seguros?
Sim. Esta ferramenta funciona inteiramente no seu navegador sem requisições de rede — seus dados nunca saem do seu dispositivo. Sinta-se à vontade para colar texto sensível para testes.