Cómo se usa
- Elige Codificar para convertir texto en hexadecimal o Decodificar para convertir hexadecimal de nuevo en texto.
- Escribe o pega la entrada, o abre un archivo para ver sus bytes en hexadecimal.
- Ajusta las opciones: Mayúsculas, un separador (Ninguno, Espacio o Dos puntos) y un prefijo (Ninguno, 0x o \x).
- Copia el resultado o descárgalo como archivo.
¿Qué es el hexadecimal (Base16)?
El sistema hexadecimal usa dieciséis símbolos: los dígitos del 0 al 9 y las letras de la A a la F. Un dígito hexadecimal contiene cuatro bits, así que cada byte se escribe con exactamente dos dígitos, de 00 a FF. La salida ocupa el doble que la entrada, más que Base64 o Base32, pero los límites entre bytes siguen siendo visibles, y por eso los depuradores, los editores hexadecimales y las herramientas de red muestran los datos de esta forma.
RFC 4648 normaliza esta codificación como Base16, con un alfabeto en mayúsculas y sin relleno. En la práctica, las minúsculas son igual de habituales, y los decodificadores, incluido este, aceptan ambas.
Dónde se usa el hexadecimal
- Hashes y claves. Un resumen SHA-256 tiene 32 bytes, que se escriben como 64 dígitos hexadecimales. Las claves criptográficas, los UUID y las sumas de verificación también suelen mostrarse en hexadecimal.
- Direcciones de hardware. Las direcciones MAC son seis bytes en hexadecimal, normalmente separados por dos puntos. El separador Dos puntos genera ese formato.
- Secuencias de escape. Las cadenas de C, Python y JavaScript aceptan
\xseguido de dos dígitos hexadecimales para representar un byte, que es exactamente lo que escribe la opción de prefijo\x. - Formatos web. Los colores CSS como
#FF8800son tres bytes en hexadecimal, y la codificación porcentual de las URL escribe los bytes como%seguido de dos dígitos hexadecimales.
Decodificar hexadecimal a texto
El decodificador es tolerante con el formato. Acepta dígitos en mayúsculas y minúsculas, ignora espacios, saltos de línea, comas, dos puntos, puntos y coma y guiones, y elimina los prefijos 0x, \x, % y &#x. Puedes pegar tal cual la salida de xxd -p, direcciones MAC, UUID, listas de valores 0x separados por comas, escapes %XX y entidades hexadecimales de HTML. Cada byte necesita dos dígitos, así que un número impar de dígitos se indica como error. Los bytes se muestran como texto en la codificación de texto seleccionada.
Para pasar de hexadecimal a otra codificación sin pasar por texto, usa Hexadecimal a Base64 o Base64 a hexadecimal.
Hexadecimal en código
# Python
'Hi'.encode().hex() # '4869'
bytes.fromhex('4869').decode() # 'Hi'
// Node.js
Buffer.from('Hi').toString('hex') // '4869'
Buffer.from('4869', 'hex').toString('utf8') // 'Hi'
# Shell
printf 'Hi' | xxd -p # 4869
Especificación
| Alfabeto | 0-9 A-F |
|---|---|
| Tamaño de salida | 2 caracteres por byte (200%) |
| Relleno | Ninguno |
| Estándar | RFC 4648, sección 8 |
| Distingue mayúsculas y minúsculas | No |
Ejemplos
| Entrada (UTF-8) | Salida |
|---|---|
Hello, World! | 48656c6c6f2c20576f726c6421 |
Base64.is | 4261736536342e6973 |
你好 | e4bda0e5a5bd |
Preguntas frecuentes
¿Cómo convierto hexadecimal a texto?
Cambia a Decodificar y pega el hexadecimal. Los espacios, los dos puntos y los prefijos 0x o \x se eliminan automáticamente, y los bytes se muestran como texto UTF-8, salvo que elijas otra codificación de texto.
¿El hexadecimal debe ir en mayúsculas o en minúsculas?
Ambas formas representan los mismos bytes. RFC 4648 usa mayúsculas, mientras que muchos lenguajes de programación imprimen minúsculas. Activa Mayúsculas si el sistema de destino espera letras mayúsculas; el decodificador acepta las dos.