Convierte texto a puntos de código Unicode, entidades HTML o secuencias de escape de JavaScript, y decodifícalos de vuelta. Compatible con emoji y planos astrales.
Convierte texto a puntos de código Unicode y viceversa. Elige entidades HTML, escapes de JavaScript o notación U+. Ambos paneles son editables y los caracteres fuera del Plano Multilingüe Básico —incluidos todos los emoji— se tratan como un único punto de código, no como pares suplentes.
Puntos de código, codificaciones y pares suplentes
Un punto de código no es un byte
Unicode asigna a cada carácter un número llamado punto de código, escrito U+ seguido de dígitos hexadecimales. A es U+0041, 蜂 es U+8702 y el emoji de abeja es U+1F41D. Ese número es la identidad del carácter. Cómo se almacena —UTF-8, UTF-16, UTF-32— es una decisión aparte, y por eso esta herramienta es distinta del conversor a binario.
La trampa de los pares suplentes
Las cadenas de JavaScript son UTF-16. Los puntos de código por encima de U+FFFF se guardan como dos mitades de 16 bits llamadas par suplente. El código ingenuo que recorre con charCodeAt ve un emoji como dos valores sin sentido entre 0xD800 y 0xDFFF, y dice que "🐝".length es 2. Este conversor itera por punto de código, así que el emoji produce un único valor, U+1F41D.
Los cuatro formatos de salida
Entidad HTML decimal — A. Funciona en cualquier documento HTML y en XML.
Entidad HTML hexadecimal — A. Lo mismo en hexadecimal, igual que se escriben las tablas Unicode.
Escape de JavaScript — \u0041. Para literales de cadena en el código fuente. Por encima de U+FFFF se requiere la forma con llaves \u{1F41D}, que la herramienta genera automáticamente.
Notación de punto de código — U+0041. La forma usada en especificaciones y documentación.
Usos prácticos
Escapar texto no ASCII como entidades permite que sobreviva a sistemas que estropean codificaciones, como pasarelas de correo antiguas o bases de datos mal configuradas. Inspeccionar puntos de código también es la forma más rápida de diagnosticar caracteres invisibles: un espacio de ancho cero (U+200B) o un espacio duro (U+00A0) se ven igual que un espacio normal pero rompen las comparaciones de cadenas. Pega aquí el texto sospechoso y la diferencia salta a la vista.
Preguntas frecuentes
¿Por qué un emoji da un solo U+1F41D y no dos valores?
La herramienta itera por punto de código y no por unidad de código UTF-16. Los emoji están por encima de U+FFFF, así que los bucles ingenuos los parten en pares suplentes; este no.
¿En qué se diferencia del conversor a binario?
Esta herramienta muestra puntos de código, la identidad abstracta de cada carácter. La de binario muestra los bytes UTF-8 con que se almacenan. Un carácter puede ser un punto de código y tres bytes.
¿Puedo decodificar una mezcla de formatos?
Sí. El decodificador reconoce &#..;, &#x..;, \uXXXX, \u{...} y U+.... en la misma entrada, y el texto entre escapes se conserva tal cual.
¿Cómo encuentro caracteres invisibles en una cadena?
Pégala y cambia a notación U+. Los espacios de ancho cero aparecen como U+200B, los duros como U+00A0 y las marcas de orden de bytes como U+FEFF.
¿Es seguro poner entidades HTML directamente en una página?
Sí, las referencias numéricas son válidas en HTML y XML. Ten en cuenta que solo escapan los caracteres en sí; no sustituyen al escapado correcto de <, > y & en contenido no confiable.
¿Sale algo de mi navegador?
No. La conversión es manipulación de cadenas realizada localmente.