Subir un archivo
  1. base64hub
  2. Otras bases
  3. Texto a hex

Texto a hex: cadena y ASCII a hexadecimal

Escribe o pega texto para ver sus bytes en hex: Hello es 48656c6c6f. Elige el juego de caracteres, mayúsculas o minúsculas y un separador como un espacio, :, 0x o \x.

Gratis sin registro, sin límites Local no se sube nada \x escapes listos para cadenas de C y Python Actualizado 27 oct 2026
Entrada 0Bytes 0 BSalida 0

Se procesa en tu navegador. Esta página no puede enviar tus datos a ninguna parte – cómo lo sabemos

Cómo convertir texto a hex

  1. Escribe o pega el texto en Entrada · Texto. El hex aparece en Salida · Hex mientras escribes.
  2. Bajo la entrada, Juego de caracteres decide cómo se convierten los caracteres en bytes. Déjalo en UTF-8 salvo que el sistema receptor espere otra cosa.
  3. Bajo la salida, elige Mayúsc./minúsc. (minúsculas o MAYÚSCULAS), Separador (ninguno, espacio, :, 0x o \x) y Bytes por línea (ninguno, 16 o 32).
  4. Usa Copiar salida o Descargar con el resultado. El botón Hex → Texto lo vuelve a convertir en texto, igual que Hex a texto.

Estilos de salida

Las opciones de separador y de mayúsculas cubren los sitios habituales donde se pega hex. Para el texto Hi!:

AjustesSalidaDónde encaja
ninguno, minúsculas486921hashes, URL, JSON
espacio, MAYÚSCULAS48 69 21editores hex, documentación de protocolos
:48:69:21huellas, listas al estilo de las MAC
0x0x48 0x69 0x21código fuente en C y ensamblador
\x\x48\x69\x21escapes de cadena en C, Python, printf de Bash

La forma \x se mete directamente en un literal de cadena: printf '\x48\x69\x21' en Bash imprime Hi!. Bytes por línea divide la salida larga en filas de 16 o 32 bytes para que puedas contar los desplazamientos a ojo.

Un carácter, uno o más bytes

Los caracteres ASCII ocupan un byte cada uno, y UTF-8 los deja idénticos, así que para el texto en inglés ambos juegos de caracteres dan el mismo hex. Todo lo demás depende del juego de caracteres:

TextoUTF-8ISO-8859-1UTF-16LE
A414141 00
éc3 a9e9e9 00
€e2 82 acno disponibleac 20
👋f0 9f 91 8bno disponible3d d8 4b dc

Los caracteres que un juego de caracteres no puede representar se sustituyen por ?, y la línea de estado indica cuántos se sustituyeron. Si el hex de otro sistema no coincide con el tuyo, revisa primero el juego de caracteres en ambos lados.

Encontrar caracteres invisibles

Convertir a hex es la forma más rápida de ver caracteres que en pantalla parecen nada. Dos cadenas que se imprimen igual pueden tener bytes distintos:

Hex en UTF-8Carácter
20espacio normal
c2 a0espacio de no separación, frecuente en texto copiado de páginas web y de Word
e2 80 8bespacio de ancho cero
ef bb bfmarca de orden de bytes al principio de un archivo
0d 0asalto de línea de Windows (0a solo en Linux y macOS)

Si una contraseña, una clave de API o un valor de configuración es «correcto pero lo rechaza», pégalo aquí con Separador en espacio y busca alguno de estos. La misma comprobación ayuda antes de codificar texto en Base64 con Texto a Base64: Base64 conserva cada byte invisible, así que pasan al valor codificado.

Texto a hex en código

"Hi!".encode("utf-8").hex()       # '486921'
"Hi!".encode("utf-8").hex(" ")    # '48 69 21'  (separator argument, Python 3.8+)
"é".encode("latin-1").hex()       # 'e9'
const hex = Array.from(new TextEncoder().encode("café"),
  b => b.toString(16).padStart(2, "0")).join(" ");
// '63 61 66 c3 a9'

TextEncoder siempre produce UTF-8. Las páginas de JavaScript y Python muestran las llamadas equivalentes para Base64.

Preguntas frecuentes

¿Cómo convierto una cadena a hex?

Pega la cadena en la entrada. Cada carácter se convierte en sus valores de byte en el juego de caracteres elegido, dos dígitos hex por byte. En Python, lo mismo es "Hello".encode("utf-8").hex().

¿Cómo se escribe "Hello" en hexadecimal?

48 65 6c 6c 6f en ASCII y en UTF-8, que coinciden para las letras inglesas normales. En UTF-16LE es 48 00 65 00 6c 00 6c 00 6f 00.

¿Por qué é se convierte en dos bytes, c3 a9?

UTF-8 codifica todos los caracteres por encima de U+007F con dos a cuatro bytes. Pon Juego de caracteres en ISO-8859-1 (Latin-1) o Windows-1252 si necesitas el byte único e9.

¿Cómo obtengo hex con 0x delante de cada byte?

Pon Separador en 0x. La salida queda así: 0x48 0x65 0x6c 0x6c 0x6f. Para un literal de array completo en C o Rust, Base64 a array de bytes escribe también la declaración.