Codificador y decodificador hexadecimal (Base16)

Convierte texto, archivos o bytes sin procesar a hexadecimal y viceversa. Elige mayúsculas o minúsculas, un separador y un prefijo 0x o \x; el decodificador limpia por ti los formatos hexadecimales más comunes.

Se ejecuta por completo en tu navegador. No se sube nada.

Cómo se usa

  1. Elige Codificar para convertir texto en hexadecimal o Decodificar para convertir hexadecimal de nuevo en texto.
  2. Escribe o pega la entrada, o abre un archivo para ver sus bytes en hexadecimal.
  3. Ajusta las opciones: Mayúsculas, un separador (Ninguno, Espacio o Dos puntos) y un prefijo (Ninguno, 0x o \x).
  4. 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 \x seguido 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 #FF8800 son 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

Alfabeto0-9 A-F
Tamaño de salida2 caracteres por byte (200%)
RellenoNinguno
EstándarRFC 4648, sección 8
Distingue mayúsculas y minúsculasNo

Ejemplos

Entrada (UTF-8)Salida
Hello, World!48656c6c6f2c20576f726c6421
Base64.is4261736536342e6973
你好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.

¿Por qué el hexadecimal ocupa el doble que el original?
Cada byte se convierte en dos caracteres, un aumento del 100 %. Base64 solo añade alrededor de un 33 %. Si el tamaño importa, convierte los bytes con Hexadecimal a Base64.
¿Es lo mismo que convertir un número a hexadecimal?
No exactamente. Esta herramienta codifica una secuencia de bytes, como los bytes de un texto. Para convertir un solo entero, por ejemplo 255 a FF, usa el conversor de bases numéricas.