Tabla de referencia Unicode/código de caracteres

Herramienta gratuita que muestra, para un carácter introducido, su punto de código Unicode, secuencia de bytes UTF-8 y las representaciones de escape JavaScript/HTML/URL/CSS, todo comparado en una misma vista. Todo se ejecuta en el navegador.

Tabla de referencia de caracteres comunes

Carácter Punto de código UTF-8 Nota
A U+0041 41 Letra mayúscula (ASCII, 1 byte)
0 U+0030 30 Dígito (ASCII, 1 byte)
U+0020 20 Espacio (ASCII, 1 byte)
! U+0021 21 Signo de exclamación (símbolo ASCII, 1 byte)
@ U+0040 40 Arroba (símbolo ASCII, 1 byte)
© U+00A9 C2 A9 Símbolo de copyright (suplemento Latin-1, 2 bytes)
U+20AC E2 82 AC Símbolo del euro (3 bytes)
U+2192 E2 86 92 Flecha derecha (bloque de flechas, 3 bytes)
U+3042 E3 81 82 Carácter hiragana (3 bytes)
U+6F22 E6 BC A2 Ideograma unificado CJK (3 bytes)
U+D55C ED 95 9C Sílaba hangul (3 bytes)
😀 U+1F600 F0 9F 98 80 Emoji (fuera del BMP, 4 bytes, se codifica como par suplente en JS)

Consejos de uso

  • Puedes introducir más de un carácter; cada uno recibe su propio bloque de resultado debajo del campo de entrada.
  • Emojis como 😀 quedan fuera del Plano Multilingüe Básico de Unicode (BMP, U+0000-U+FFFF), así que las cadenas de JavaScript los representan internamente con dos unidades de código (un par suplente); por eso la fila "Escape de JavaScript" muestra dos secuencias `\uXXXX`.
  • Un escape CSS como `\41` escribe el punto de código en hexadecimal sin ningún prefijo. Añade un espacio final si el siguiente carácter pudiera interpretarse como parte de los dígitos hexadecimales.
  • Los navegadores tratan igual las entidades HTML decimales (`A`) y hexadecimales (`A`); usa la que te resulte más cómoda para tu marcado.
  • Usa el botón de copiar en cada fila para llevar un valor directamente al portapapeles y pegarlo en código o CSS.

Preguntas frecuentes

Las cadenas de JavaScript se representan internamente en UTF-16, donde una sola unidad de código solo puede contener 16 bits (0-65535). Unicode define muchos puntos de código fuera de ese rango (U+10000 en adelante, donde vive la mayoría de los emojis), por lo que se representan con dos unidades de código especiales -un "sustituto alto" y un "sustituto bajo"- combinadas en un par suplente. Si lees una cadena unidad por unidad con `charCodeAt`, obtienes estas dos mitades por separado, así que necesitas `codePointAt` para obtener el punto de código correcto y completo.

Un punto de código Unicode (como U+3042) es simplemente el número asignado para identificar un carácter. UTF-8, en cambio, es un esquema de codificación concreto para almacenar o transmitir ese punto de código como una secuencia de bytes en un ordenador. El mismo punto de código puede representarse de forma distinta según la codificación: UTF-8 usa entre 1 y 4 bytes de longitud variable, mientras que UTF-16 o UTF-32 producen secuencias de bytes diferentes.

UTF-8 puede representar caracteres ASCII puros (letras inglesas, dígitos, puntuación básica) en un solo byte cada uno, lo que le da una fuerte compatibilidad con sistemas antiguos centrados en el inglés, a la vez que puede representar cualquier carácter de Unicode. En 2026, la gran mayoría del texto web está codificado en UTF-8, y es la codificación de caracteres predeterminada recomendada para documentos HTML.

No, usan una sintaxis distinta. Una entidad HTML se escribe como `A` (decimal) o `A` (hexadecimal, con prefijo `x`) y solo funciona dentro del marcado HTML. Un escape CSS se escribe como `\41` -solo dígitos hexadecimales, sin prefijo `U+` ni `x`- y se usa dentro de selectores o valores de propiedades CSS. Asegúrate de usar el formato correcto según el contexto en el que trabajes.
ツールくん

A propósito — Cómo Unicode unificó un mundo fragmentado de codificaciones de caracteres

Antes de que existiera Unicode, las codificaciones de caracteres variaban enormemente de un país a otro, e incluso de un idioma a otro. Solo el texto japonés tenía varios esquemas en competencia -Shift_JIS, EUC-JP y el código JIS, entre otros- y el intercambio de texto entre sistemas con codificaciones distintas producía con frecuencia caracteres ilegibles y corruptos. Unicode 1.0, publicado en 1991, se propuso resolver esto asignando un único punto de código a cada carácter usado en cualquier parte del mundo.

Unicode y la norma internacional ISO/IEC 10646 se desarrollaron al principio de forma algo independiente, pero después se coordinaron para compartir el mismo repertorio de caracteres y las mismas asignaciones de puntos de código. Hoy Unicode cubre más de 150.000 caracteres, incluidos los emojis, y cada año se publica una nueva versión que añade más.

UTF-8 fue diseñado en 1992 por Ken Thompson y Rob Pike. Su gran acierto fue mantener una compatibilidad total con el texto ASCII puro y, a la vez, poder representar cualquier carácter de Unicode; un diseño que resultó ser exactamente lo que necesitaba la web, y que desde entonces se ha convertido en la codificación estándar de facto para los documentos en internet.