Decodificador Base64
Decodifica datos Base64 a texto legible con manejo seguro de UTF-8 y validación rápida
¿Qué es la Decodificación Base64?
La decodificación Base64 es el proceso inverso a la codificación: transforma una cadena Base64 de vuelta a los bytes binarios originales, que luego se interpretan como texto UTF-8 o datos binarios según el contexto. Esta operación es fundamental al trabajar con APIs que transmiten datos binarios como cadenas de texto, inspeccionar tokens JWT, decodificar adjuntos de email, o extraer datos embebidos en data URIs. Todo el procesamiento ocurre localmente en tu navegador, protegiendo datos sensibles.
Cómo Funciona la Decodificación Base64
La decodificación Base64 invierte el proceso de codificación: cada carácter Base64 se mapea a su valor de 6 bits, los grupos de 4 caracteres se convierten en 3 bytes (24 bits), y los caracteres de padding (=) indican cuántos bytes del último grupo son datos reales versus relleno.
El decodificador primero valida que la entrada solo contenga caracteres válidos del alfabeto Base64 (A-Z, a-z, 0-9, +, /) más padding (=). Cualquier carácter fuera de este conjunto — incluyendo espacios, saltos de línea, o caracteres especiales — indica una entrada inválida o corrupta.
Después de obtener los bytes decodificados, el paso final para obtener texto legible es interpretar esos bytes como UTF-8. Si los bytes no forman una secuencia UTF-8 válida, los datos originales probablemente eran binarios (una imagen, archivo comprimido, etc.) y no deberían interpretarse como texto.
Flujos de Trabajo de Depuración con Base64
- Inspección de tokens JWT: Los JWT tienen header y payload codificados en Base64URL. Decodificarlos revela claims, expiración e issuer sin necesitar la clave secreta.
- Depuración de respuestas API: Algunas APIs retornan datos codificados en Base64 dentro de JSON (certificados, archivos, metadatos binarios) que necesitas decodificar para inspeccionar.
- Análisis de cabeceras HTTP: La autenticación Basic Auth envía credenciales como Base64(user:password). Decodificar revela las credenciales transmitidas.
- Verificación de integridad: Comparar la decodificación de dos cadenas Base64 ayuda a confirmar si representan los mismos datos o detectar corrupción durante transmisión.
- Data URIs en CSS/HTML: Extraer y decodificar el payload de un data URI permite inspeccionar la imagen o recurso embebido sin herramientas externas.
Detección de Errores y Validación
No toda cadena que "parece" Base64 es Base64 válido. Esta herramienta detecta varios tipos de errores durante la decodificación:
- Caracteres inválidos: Cualquier carácter fuera del alfabeto Base64 señala entrada corrupta o formato incorrecto (podría ser Base64URL que usa - y _ en lugar de + y /).
- Longitud incorrecta: La longitud de una cadena Base64 debe ser múltiplo de 4. Cadenas con longitud incorrecta están truncadas o corruptas.
- Padding inválido: El padding (=) solo puede aparecer al final y máximo 2 caracteres. Padding en medio o más de 2 indica corrupción.
- UTF-8 inválido: Si los bytes decodificados no forman UTF-8 válido, se muestra un aviso indicando que los datos probablemente son binarios.
Code Examples
Decodificación Base64 segura para UTF-8 en JavaScript
// Decode Base64 to UTF-8 text
function decodeBase64(encoded) {
const binary = atob(encoded);
const bytes = Uint8Array.from(binary, c => c.charCodeAt(0));
const decoder = new TextDecoder('utf-8');
return decoder.decode(bytes);
}
// Example usage
const decoded = decodeBase64('SG9sYSBNdW5kbyDwn4yN');
console.log(decoded); // "Hola Mundo 🌍"Standards & Specifications
- RFC 4648 — Define los alfabetos Base64 y Base64URL con reglas de padding y decodificación
Preguntas Frecuentes
What is Base64 decoding?
Base64 decoding converts Base64-encoded text back to its original format. This reverses the encoding process, transforming the ASCII-safe representation back into the original binary data or text.
How do I know if text is Base64 encoded?
Base64 encoded text only contains letters (A-Z, a-z), numbers (0-9), plus signs (+), forward slashes (/), and equals signs (=) for padding. If you see other characters, it's likely not Base64 encoded.
What happens if I try to decode invalid Base64?
If the input isn't valid Base64, the tool will display an error message explaining the problem. Common issues include invalid characters, incorrect padding, or corrupted data.
Is my data sent to a server?
No, all Base64 decoding happens in your browser. Your data never leaves your device. This ensures complete privacy and security for sensitive information.