Base64 frente a Hex: tamaño, legibilidad y cuándo usar cada uno
Base64 y hex son codificaciones de binario a texto que permiten transmitir flujos de bytes por protocolos de texto sin problemas. Suelen confundirse, pero difieren mucho en alfabeto, sobrecoste de tamaño y usos: elegir mal desperdicia ancho de banda o rompe la URL por caracteres especiales.
| Dimensión | Base64 | Hex (hexadecimal) |
|---|---|---|
| Alfabeto | 64 caracteres: A-Z, a-z, 0-9, + y /, con = como relleno | 16 caracteres: 0-9 más A-F, siempre dos dígitos por byte |
| Sobrecoste de tamaño | ≈ ×4/3 (+33%): tres bytes se convierten en cuatro caracteres | Fijo ×2 (+100%): cada byte se convierte en dos caracteres |
| Legibilidad humana | Baja; la salida parece texto aleatorio sin correspondencia directa con los bytes | Alta; dos dígitos ordenados por byte se corresponden con volcados de memoria y documentación |
| Verificación de longitud | La longitud varía según el módulo 3 del original y puede llevar uno o dos = finales; las reglas son enrevesadas | La longitud siempre es el doble del número de bytes; la integridad se comprueba de un vistazo |
| Seguridad en URLs y rutas | + / y = tienen significado especial en las URLs; hay que usar la variante segura (- y _) o escaparlos | Solo caracteres alfanuméricos, seguro de serie en parámetros y nombres de archivo |
| Usos típicos | Adjuntos de correo (MIME), Data URI para imágenes y fuentes incrustadas, carga de JWT, autenticación Basic | Visualización de hashes (MD5/SHA), direcciones MAC, códigos de color y vistas hex en depuradores y analizadores |
¿Cuándo elegir Base64?
Elige Base64 para mover datos binarios grandes por canales de texto: adjuntos, imágenes incrustadas o cargas de tokens. Su sobrecoste del +33% gana al doble de hex, pero recuerda usar el alfabeto seguro para URLs en la web para que + y / no se escapen mal.
¿Cuándo elegir Hex (hexadecimal)?
Usa hex cuando una persona deba leer, comparar o revisar los bytes a mano: huellas de hash, material de claves, depuración a nivel de byte. Sus reglas transparentes y la ausencia de ambigüedad de relleno lo hacen universal.
Herramientas relacionadas
Conversor de Bases en Línea
Convierte números entre bases 2/8/10/16/32/36/52/58/62/64 al instante con procesamiento local.
Conversor de Texto a Hexadecimal en Línea
Convierta cualquier texto (incluido chino y emoji) a secuencias de bytes hexadecimales UTF-8 y viceversa. Bytes de dos dígitos con ceros separados por espacios, análisis tolerante, procesamiento local.
Base64 Online — Codificar y Decodificar Texto al Instante
Codifica y decodifica Base64 online con soporte UTF-8 para tildes, ñ y emoji, y acepta el formato URL-Safe.
Preguntas frecuentes
¿Base64 es un algoritmo de cifrado?
No. Base64 es solo una codificación: reversible sin clave y descifrable por cualquiera. Protege los datos con cifrados reales como AES; Base64 solo permite que el criptograma viaje por canales de texto.
¿Por qué los hashes se muestran en hexadecimal?
Porque un hash son bytes de longitud fija y hex muestra exactamente dos dígitos por byte: longitudes ordenadas y fáciles de comparar. Base64 sería más corto pero sus convenciones de alineación varían según la implementación y generan confusión.
¿Qué codificación debo usar dentro de una URL?
Prefiere hex o la variante Base64 segura para URLs (- y _ en lugar de + y /, sin relleno). El Base64 estándar se corrompe en parámetros: + se vuelve espacio y / corta la ruta.
Para saber más
Un error que conviene repetir: Base64 no es cifrado. Solo es otra notación para los mismos bytes, y cualquiera con la cadena puede restaurarla al instante; los datos sensibles deben cifrarse primero y codificarse después. Ambas codificaciones también se combinan: cifra un archivo con AES, envuelve el resultado en Base64 para transportarlo en JSON y luego revísalo byte a byte en hex durante la depuración. Nuestro sitio ofrece herramientas de códec Base64 y conversión hexadecimal totalmente locales, útiles para comprobar las diferencias entre ambas.