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)

Qué hace este conversor de códigos de caracteres Unicode

Esta herramienta toma cualquier carácter que escribas y muestra a la vez siete representaciones de código distintas, comparadas una junto a otra: su punto de código Unicode, su secuencia de bytes UTF-8, su escape de JavaScript, su entidad HTML (decimal y hexadecimal), su codificación porcentual URL y su escape CSS. Cada conversión —del carácter al punto de código, y del punto de código a cada representación en bytes— se calcula al instante en tu navegador mientras escribes, sin enviar ningún dato a un servidor.

Un matiz importante: muchos emojis tienen puntos de código situados fuera del Plano Multilingüe Básico de Unicode (BMP, U+0000-U+FFFF), por lo que las cadenas de JavaScript los representan internamente como un par suplente, es decir, dos unidades de código de 16 bits en lugar de una. Esta herramienta usa `codePointAt` internamente para que un par suplente se resuelva siempre en un único punto de código correcto, de modo que los emojis producen resultados precisos en vez de dos medios caracteres separados. Si escribes más de un carácter, cada uno recibe su propio bloque de resultado.

Cómo usar este conversor Unicode

  1. Escribe el carácter que quieres consultar Introduce cualquier letra, símbolo o emoji en el campo de entrada. También puedes pegar varios caracteres a la vez.
  2. Revisa el bloque de resultado de cada carácter Aparece una tarjeta independiente por cada carácter introducido, mostrando las siete representaciones de código.
  3. Localiza la representación que necesitas Recorre las filas hasta encontrar el formato relevante para tu tarea: punto de código, bytes UTF-8, escape de JavaScript, etc.
  4. Copia el valor con el botón de copiar Pulsa el botón de copiar junto a cualquier fila para enviar solo ese valor al portapapeles, listo para pegarlo en tu código.
  5. Prueba con otro carácter Edita el campo de entrada o pulsa "Borrar" para empezar de nuevo, y luego introduce el siguiente carácter que quieras comprobar.

Consejos para aprovecharla mejor

  • 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.

Situaciones en las que resulta útil

Diagnosticar texto corrupto o mal codificado

Cuando un programa o una base de datos muestra un carácter inesperado, comparar el punto de código y los bytes UTF-8 reales ayuda a identificar si el problema es una codificación incompatible.

Comprobar cómo se codifican los emojis

Consulta de un vistazo cuántas unidades de código necesita un emoji como par suplente en JavaScript y cuántos bytes ocupa en UTF-8.

Verificar el almacenamiento de caracteres en una base de datos

Útil cuando necesitas saber de antemano cuántos bytes ocupará un carácter concreto, por ejemplo para decidir si una columna de MySQL necesita utf8mb4.

Incrustar caracteres especiales en HTML o CSS

Obtén la entidad HTML o el escape CSS correcto para un símbolo o un carácter de otro idioma y pégalo directamente en tu marcado o tu hoja de estilos.

Validar la codificación de URL

Comprueba que los parámetros de consulta con caracteres no ASCII o símbolos se codifican en porcentaje tal como esperas antes de enviar una petición.

Glosario

Unicode
Un estándar internacional de codificación de caracteres que asigna un único número, un punto de código, a cada carácter usado en el mundo, con el objetivo de evitar los caracteres corruptos entre idiomas.
Punto de código
El número que Unicode asigna a un carácter, escrito como U+0041: un número hexadecimal tras el prefijo "U+" que identifica de forma única de qué carácter se trata.
UTF-8
Un esquema de codificación concreto para almacenar o transmitir puntos de código Unicode como bytes. Usa entre 1 y 4 bytes de longitud variable por carácter y es totalmente compatible con ASCII, por lo que domina en la web.
UTF-16
Un esquema de codificación que representa los puntos de código Unicode en unidades de 16 bits (unidades de código). Las cadenas de JavaScript usan internamente esta codificación.
Par suplente
Una combinación de dos unidades de código que se usa en UTF-16 para representar un punto de código situado más allá del Plano Multilingüe Básico (BMP). La mayoría de los emojis requieren un par suplente.
BMP (Plano Multilingüe Básico)
El rango de puntos de código Unicode desde U+0000 hasta U+FFFF. Los caracteres de este rango pueden representarse con una sola unidad de código UTF-16.
Entidad HTML
Una forma de escribir caracteres especiales de forma segura dentro de un marcado HTML, como A (decimal) o A (hexadecimal).
Codificación porcentual
Un esquema que convierte los caracteres no permitidos en una URL en bytes UTF-8 y escribe cada byte como %XX. Se usa habitualmente para texto no ASCII en las URL.

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.
Tool-kun

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.