Normalizador Unicode
La misma cadena visible puede almacenarse como distintas secuencias de bytes según si un acento vive como un solo punto de código o como una letra más una marca de combinación. Este normalizador convierte texto entre las cuatro formas de normalización Unicode (NFC, NFD, NFKC, NFKD) para que tus cadenas se comparen sin problemas en bases de datos, índices de búsqueda, scripts de deduplicación y coincidencias de regex.
Cómo normalizar texto Unicode
-
1
Pega tu entrada
Introduce la cadena: letras acentuadas, texto CJK, ligaduras, cualquier cosa que parezca inconsistente.
-
2
Elige una forma
Elige NFC (compuesta, la forma web habitual), NFD (descompuesta), NFKC (compuesta de compatibilidad) o NFKD (descompuesta de compatibilidad).
-
3
Compara los recuentos
La herramienta informa el número de caracteres (puntos de código) y la longitud en bytes antes y después, para que veas si la forma acortó o alargó la cadena.
-
4
Copia la salida normalizada
Usa el resultado en tu base de datos, carga útil de API, generador de slugs o fixture de prueba.
Las cuatro formas y cuándo usar cada una
La normalización Unicode está definida por el anexo estándar UAX #15. Las cuatro formas difieren en dos ejes: canónica frente a compatibilidad, y compuesta frente a descompuesta.
Referencia comparativa
| Forma | Composición | Asignación | Cuándo usarla |
|---|---|---|---|
| NFC | Compuesta | Solo canónica | Predeterminada para contenido web, bases de datos, nombres de archivo |
| NFD | Descompuesta | Solo canónica | Procesamiento de texto que quita acentos por carácter |
| NFKC | Compuesta | Incluye compat. | Búsqueda, identificadores, filtros de spam, plegado de visualización |
| NFKD | Descompuesta | Incluye compat. | Normalización agresiva antes de quitar diacríticos |
Las formas canónicas conservan el significado
Escribe é y cambia de forma. NFC informa 1 carácter y 2 bytes (el único punto de código U+00E9), mientras que NFD informa 2 caracteres y 3 bytes (una e simple seguida de un acento agudo de combinación, U+0301). Ambas se ven idénticas en pantalla, pero son secuencias de bytes distintas, y esa discrepancia es justo lo que arregla la normalización. Las formas canónicas solo reordenan los bytes, así que é en cualquiera de las dos formas siempre significa la letra e con acento agudo.
Lo que “compatibilidad” cambia realmente
Las formas K (NFKC, NFKD) también reescriben caracteres que parecen relacionados pero llevan un formato distinto. Esto tiene pérdida: no puedes recuperar el original. Por ejemplo:
fi(U+FB01, ligadura latina minúscula fi) pasa afi(dos letras)①(U+2460, dígito uno en círculo) pasa a1㌀(U+3300, el cuadrado CJK “apaato”) pasa aアパート- La
Ade ancho completo (U+FF21) pasa aA
Eso es potente para búsqueda y deduplicación, pero destructivo para la tipografía, así que recurre a las formas K solo cuando la fidelidad visual no importa.
Una regla práctica
- Almacena el contenido del usuario en NFC.
- Compara identificadores en NFC para que
caféescrito como un punto de código ycaféescrito comoe+ U+0301 coincidan; sube a NFKC cuando también necesites quefiyfi, o laAde ancho completo yA, se comparen como iguales, como hacen las reglas de identificadores de UAX #31. - Genera slugs sin acentos normalizando a NFD y eliminando el bloque de marcas de combinación U+0300 a U+036F.
Preguntas frecuentes
Normalmente significa que tu entrada ya estaba en la forma de destino. Pega texto que mezcle fuentes (un nombre de archivo de Mac, un fragmento de PDF copiado, una fila de una base de datos antigua) y será mucho más probable que veas cambiar los recuentos de caracteres y bytes.
Para URLs de visualización, NFC. Para slugs en los que quieras ASCII puro, normaliza a NFD, quita las marcas de combinación con un regex en U+0300 a U+036F y luego pon todo en minúsculas. NFKD es una alternativa cuando además quieres plegar ligaduras y dígitos en círculo.
Las formas canónicas (NFC, NFD) nunca cambian el significado, solo reordenan bytes. Las formas de compatibilidad (NFKC, NFKD) sí lo cambian: las ligaduras se separan, las letras de ancho completo se pliegan y los superíndices se aplanan. Úsalas solo cuando eso es lo que buscas.
La normalización se ejecuta en nuestro servidor mediante la clase Normalizer de PHP y el resultado vuelve en la misma solicitud; tu texto no se almacena. Solo registramos un evento anónimo que indica qué forma se aplicó, nunca el contenido en sí.
Herramientas relacionadas
Símbolo Cuadrado Copiar y Pegar
Copia el símbolo cuadrado ², además de números en superíndice y subíndice, fracciones comunes y unidades cuadradas y cúbicas como m², cm² y km². Haz clic para copiar.
Generador de nombres de ciudades
Genera nombres ficticios de ciudades, pueblos, aldeas y capitales para worldbuilding, mapas, juegos, historias y datos de prueba, con notas breves para cada resultado.
Generador de títulos de libros
Genera ideas de títulos para novelas, memorias y no ficción con controles de género, tono, palabra clave y subtítulo. Prepara tu lista de candidatos en minutos.
Generador de texto glitch
Crea texto glitch de estilo Zalgo con marcas Unicode combinantes. Elige la intensidad, previsualiza variantes y copia texto corrupto para perfiles, memes o publicaciones de terror.
Símbolo Menor o Igual
Copia el signo ≤ y símbolos de comparación matemática relacionados. Incluye Unicode, entidades HTML y marcado LaTeX para hojas de cálculo, documentos y páginas web.
Generador de nombres aleatorios
Genera nombres en inglés verosímiles a partir de listas populares de nombres y apellidos. Elige género, cantidad y formato.
Herramienta disponible en otros idiomas
- ตัวปรับข้อความให้เป็นมาตรฐาน Unicode [TH]
- مُطبِّع Unicode [AR]
- Unicode-normaliseerder [NL]
- Unicode-normaliserare [SV]
- Normaliseur Unicode [FR]
- Normalizator Unicode [PL]
- Unicode正規化ツール [JA]
- Penormal Unicode [ID]
- Normalizador Unicode [PT]
- Unicode-Normalisierer [DE]
- 유니코드 정규화기 [KO]
- Bộ chuẩn hóa Unicode [VI]
- Unicode Normalizer [EN]
- Normalizzatore Unicode [IT]
- Нормализатор Unicode [RU]
- Unicode Normalleştirici [TR]
- Unicode 规范化工具 [ZH]