Codificador/Decodificador Base64
Um codificador/decodificador Base64 online gratuito para codificação e decodificação rápidas, com processamento seguro de UTF-8, conversão segura para URLs, preenchimento automático, estatísticas em tempo real e funcionalidade de cópia segura. Oferece exemplos de código multilíngues, geração de Data URI, guias detalhados de uso e perguntas frequentes. Interface amigável com preenchimento bidirecional de entrada, acessibilidade por teclado e design adaptado para dispositivos móveis. Sem necessidade de download, funciona diretamente no seu navegador.
Codificar (Texto → Base64)
Decodificar (Base64 → Texto)
Como Usar
Recursos
- Seguro para UTF-8: Trata corretamente caracteres não-ASCII (envolvidos com encodeURIComponent/unescape).
- Suporte seguro para URL: Alternância com um clique entre + / → - _, remoção opcional do preenchimento =.
- Pré-processamento antes da decodificação: Ignora espaços em branco, converte automaticamente para formato seguro para URL e adiciona automaticamente o preenchimento =.
- Interação em tempo real: A entrada é processada instantaneamente, com estatísticas de comprimento e taxa de crescimento exibidas.
- Usabilidade: Cópia rápida, preenchimento bidirecional entre entradas, acessível por teclado, otimizado para dispositivos móveis.
- Tema consistente: Sem classes dark: do Tailwind — totalmente estilizado com temas DaisyUI.
O que é Base64?
Base64 é um método de codificação de dados binários em texto ASCII, comumente usado para transmitir imagens ou conteúdos de arquivos sobre protocolos baseados em texto, como JSON, XML e HTTP.
Ele mapeia cada 3 bytes em 4 caracteres imprimíveis, resultando tipicamente em um aumento de tamanho de aproximadamente 33%.
O Base64 padrão usa A–Z, a–z, 0–9, +, /, e o caractere de preenchimento =; a variante segura para URL substitui + e / por - e _ para evitar problemas de escape em URLs.
Casos de Uso Comuns
- Incorporar imagens ou pequenos arquivos como Data URIs.
- Transferir dados binários entre cliente e servidor (ex.: textos cifrados criptografados, fluxos comprimidos).
- Converter texto para formato imprimível para evitar inconsistências de codificação ou caracteres invisíveis.
Perguntas Frequentes e Observações Importantes
- Conjunto de caracteres: Em ambientes web, primeiro codifique o texto como UTF-8 (esta ferramenta inclui esta etapa automaticamente).
- Seguro para URL: Para parâmetros ou caminhos de URL, prefira a variante segura para URL e considere remover os caracteres de preenchimento.
- Preenchimento: Algumas implementações permitem omitir =; durante a decodificação, adicione automaticamente o preenchimento até um múltiplo de 4 caracteres.
- Quebras de linha: MIME Base64 pode incluir quebras de linha; selecione "Ignorar espaços em branco" durante a decodificação para tratá-las.
Como Codificar/Decodificar Base64 em Linguagens de Programação
const encoded = btoa(unescape(encodeURIComponent(text)));
// Seguro para URL
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
// Pré-processamento: Substituir -_ por +/
let b64 = input.replace(/-/g, '+').replace(/_/g, '/');
if (b64.length % 4 !== 0) b64 = b64.padEnd(b64.length + (4 - (b64.length % 4)), '=');
const text = decodeURIComponent(escape(atob(b64)));
$encoded = base64_encode($text);
// Seguro para URL
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
$b64 = strtr($input, '-_', '+/');
// Adicionar '=' automaticamente
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
import base64
encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# Codificação segura para URL (Remover preenchimento)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
import base64
def b64_decode(s: str) -> str:
s = s.replace('-','+').replace('_','/')
s += '=' * (-len(s) % 4) # Adicionar '=' automaticamente
return base64.b64decode(s).decode('utf-8')
import (
"encoding/base64"
)
enc := base64.StdEncoding.EncodeToString([]byte(text))
// Codificação segura para URL (Sem preenchimento)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
import (
"encoding/base64"
)
decBytes, err := base64.StdEncoding.DecodeString(enc)
// Decodificação segura para URL (Sem preenchimento)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
use base64::{engine::general_purpose, Engine as _};
let enc = general_purpose::STANDARD.encode(text.as_bytes());
// Codificação segura para URL (Sem preenchimento)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
use base64::{engine::general_purpose, Engine as _};
let dec_bytes = general_purpose::STANDARD.decode(&enc).unwrap();
let dec = String::from_utf8(dec_bytes).unwrap();
let url_dec = String::from_utf8(
general_purpose::URL_SAFE_NO_PAD.decode(&url_enc).unwrap()
).unwrap();
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String enc = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));
// Codificação segura para URL (Sem preenchimento)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String dec = new String(Base64.getDecoder().decode(enc), StandardCharsets.UTF_8);
String urlDec = new String(Base64.getUrlDecoder().decode(urlEnc), StandardCharsets.UTF_8);