Empieza con una muestra intacta
Copia el valor exacto recibido en una referencia preservada y en una copia de trabajo. Anota el origen y el fallo: igualdad visual, copiar y pegar, coincidencia de búsqueda, URL, regla de formulario o parser. Indica también si emojis, joiners, selectores de variación, formas de ancho y escrituras no latinas son válidos en ese campo.
Haz visibles las diferencias
Usa hex-unicode-converter para mostrar una representación orientada a puntos de código. Usa emoji-extractor para listar emojis y posiciones, special-character-validator para puntuación y símbolos, y text-fake-detector para obtener pistas heurísticas sobre invisibles, espacios atípicos y homoglifos comunes. Son señales de diagnóstico, no una prueba de que un carácter multilingüe sea incorrecto.
Decide la rama antes de modificar
Si el valor es un dominio, compara la etiqueta legible con el resultado ASCII de punycode-encoder y usa punycode-decoder para inspeccionar una etiqueta ASCII existente. Si el problema es el ancho, escoge solo la dirección exigida por el consumidor. Ninguna rama demuestra por sí sola seguridad o compatibilidad de la aplicación.
Mantén explícita la limpieza
Usa zero-width-remover o text-emoji-remover únicamente en la copia de trabajo y después de decidir qué se puede borrar. Conserva espacios con significado de diseño y cuidado con los joiners que forman secuencias emoji. No conviertas una sugerencia del detector en un reemplazo sin revisión.
Verifica el límite que falló
Repite las herramientas de diagnóstico y compara representaciones, conteos y emojis que debían conservarse. Después prueba la copia en el buscador, parser de URL, formulario o analizador real. Acepta solo cuando el comportamiento se corrige y cada diferencia restante tiene una explicación.