¿Por qué usar un codificador Base64?
Base64 representa datos binarios como texto ASCII. Es esencial para transportar archivos, imágenes o datos en formatos que solo aceptan texto (JSON, XML, emails, URLs).
Tres casos de uso comunes:
- APIs y webhooks → Codificar payloads o decodificar respuestas Base64
- Autenticación HTTP → Verificar o crear un encabezado
Authorization: Basic - Emails y MIME → Decodificar adjuntos codificados en Base64
Cómo usar el codificador/decodificador en 3 pasos
Paso 1: Pegar el contenido
Pega el texto a codificar o la cadena Base64 a decodificar en el área de entrada.
Para codificar:
user:password
Para decodificar:
dXNlcjpwYXNzd29yZA==
Paso 2: Elegir la operación
- Codificar en Base64: Transforma texto legible a Base64
- Decodificar Base64: Recupera el contenido original
Paso 3: Copiar el resultado
El resultado se muestra instantáneamente. Para archivos binarios decodificados, guarda el contenido con la extensión correcta (.png, .pdf, etc.).
¿Qué es Base64?
Base64 es una codificación que representa bytes usando 64 caracteres: A-Z, a-z, 0-9, + y /. El signo = es padding cuando la longitud no es múltiplo de 3.
Características:
- El tamaño aumenta aproximadamente un 33% después de codificar
- El resultado contiene solo caracteres ASCII imprimibles
- NO es cifrado - los datos permanecen legibles
Ejemplo de codificación:
Texto: "Hola"
Base64: "SG9sYQ=="
Variantes de Base64
| Variante | Caracteres | Uso |
|---|---|---|
| Estándar | A-Z, a-z, 0-9, +, / | Emails (MIME), certificados, datos generales |
| URL-safe | A-Z, a-z, 0-9, -, _ | URLs, JSON, tokens JWT |
| MIME | Estándar + saltos de línea | Emails (76 caracteres por línea) |
Ejemplos de uso
Autenticación HTTP Basic
El encabezado Authorization: Basic espera credenciales codificadas en Base64:
Credenciales: admin:secret123
Base64: YWRtaW46c2VjcmV0MTIz
Encabezado: Authorization: Basic YWRtaW46c2VjcmV0MTIz
Data URL para imágenes
Incorporar una imagen pequeña directamente en HTML/CSS:
data:image/png;base64,iVBORw0KGgo...
Adjuntos MIME
Los emails codifican adjuntos en Base64:
Content-Transfer-Encoding: base64
SGVsbG8gV29ybGQh...
Solución de errores comunes
| Problema | Causa probable | Solución |
|---|---|---|
| Decodificación falla | Cadena URL-safe | Reemplaza - por + y _ por / |
| Padding faltante | Formato incompleto | Agrega = hasta que la longitud sea múltiplo de 4 |
| Resultado ilegible | Datos binarios | Guarda en archivo con extensión correcta |
| Doble codificación | Codificado dos veces | Decodifica una segunda vez |
Buenas prácticas
- UTF-8: Siempre usa UTF-8 para texto antes de codificar
- Sin secretos en texto plano: Base64 no es cifrado
- Data URLs: Limita a unos pocos KB para evitar páginas pesadas
- Validación: Verifica el formato (estándar vs URL-safe) antes de decodificar
FAQ - Preguntas frecuentes
P: ¿Base64 protege mis datos?
R: No. Base64 es codificación reversible, no cifrado. Cualquiera puede decodificar tus datos. Nunca almacenes secretos sin cifrado previo.
P: ¿Por qué aumenta el tamaño?
R: Base64 representa 3 bytes con 4 caracteres. El tamaño aumenta aproximadamente un 33%. Es el costo de la compatibilidad con texto.
P: ¿Cómo decodifico un JWT?
R: Un JWT contiene 3 partes separadas por puntos: header.payload.signature. Puedes decodificar el header y payload individualmente (son Base64 URL-safe).
Herramientas complementarias
| Herramienta | Utilidad |
|---|---|
| Convertidor de mayúsculas | Convertir texto a mayúsculas o minúsculas |
| Generador de slug | Transformar un título en URL limpia |
| Contador de palabras | Contar palabras y caracteres de un texto |
Recursos útiles
- RFC 4648 - Base Encodings (especificación oficial de Base64)
- MDN - btoa() y atob() (funciones nativas de JavaScript)
Compromiso de privacidad
Tu entrada se envía a la API CaptainDNS únicamente para codificación o decodificación. El contenido no se conserva. Solo se registran métricas técnicas anónimas (tiempo de procesamiento, tamaño de entrada).