Utilia

Quitar caracteres invisibles

Detecta y quita caracteres invisibles online: espacios de ancho cero, espacios de no separación, guiones blandos y controles bidi (Trojan Source).

Caracteres que se eliminan

Cómo quitar los caracteres invisibles

  1. Pega tu texto en el cuadro de entrada. Se analiza en cuanto lo pegas.
  2. Lee el resultado: una tabla lista cada carácter oculto encontrado, con su punto de código, su abreviatura, su nombre Unicode, su tipo y su cantidad. La Entrada resaltada muestra dónde está cada uno, como una pequeña etiqueta de color, por ejemplo ZWSP o NBSP.
  3. En Caracteres que se eliminan, deja marcados los tipos que quieres borrar. Seleccionar todos / ninguno los activa o desactiva todos a la vez.
  4. Deja marcada la opción Sustituir los espacios de no separación y especiales por un espacio normal para que «10 000» conserve su espacio en lugar de convertirse en «10000».
  5. Copia el texto limpio del cuadro de resultado. Quitar caracteres invisibles actualiza el resultado.

Qué detecta esta herramienta

Tipo Caracteres De dónde vienen
Caracteres de ancho cero ZWSP U+200B, ZWNJ U+200C, ZWJ U+200D, WJ U+2060, BOM U+FEFF Páginas web, procesadores de texto, texto copiado de PDF o de apps de chat, archivos guardados con marca de orden de bytes
Espacios de no separación y especiales NBSP U+00A0, NBSP fino U+202F, espacios finos, de eme, de ene, de cifra e ideográficos, separadores de línea y de párrafo   de HTML, tipografía francesa, Word, Opción+Espacio en macOS
Guiones blandos SHY U+00AD Indicaciones de partición de palabras de procesadores de texto y sitios web
Controles bidireccionales LRM, RLM, ALM, LRE–RLO (U+202A–U+202E), LRI–PDI (U+2066–U+2069) Textos que mezclan árabe, hebreo y alfabeto latino, y código malicioso
Caracteres de control NUL, ESC, salto de página, DEL, controles C1 Salidas de terminal, archivos antiguos, codificaciones rotas
Otros caracteres de formato Caracteres de etiqueta, operadores matemáticos invisibles, rellenos hangul, braille en blanco y cualquier otro carácter Unicode «Cf» Marcas de agua ocultas, nombres de usuario «en blanco», fuentes poco comunes
Selectores de variación VS1–VS256 Estilos de emoji, variantes CJK y un truco de esteganografía que oculta datos después de un emoji

Las tabulaciones, los saltos de línea y los retornos de carro son caracteres normales y nunca se tocan. Los selectores de variación no están seleccionados por defecto porque suelen ser legítimos.

Por qué los caracteres invisibles dan problemas

Parecen no ser nada, pero los ordenadores sí los ven. Un espacio de ancho cero dentro de una palabra estropea la búsqueda y el corrector ortográfico, una marca de orden de bytes al principio de un archivo CSV corrompe el nombre de la primera columna, un espacio de no separación hace que dos valores no coincidan en una búsqueda de una hoja de cálculo o en un campo de contraseña, y un guion blando puede partir una URL. Un código que contenga un U+FEFF o un U+00A0 perdido puede negarse a compilar con un error desconcertante.

Los caracteres invisibles también pueden ser intencionados: algunos se usan para marcar los textos copiados, de modo que una filtración pueda rastrearse hasta su origen.

Trojan Source y los controles bidi

Los controles bidireccionales le dicen al motor de visualización que coloque parte de una línea de derecha a izquierda. Dentro del código fuente pueden hacer que el código se vea distinto de lo que el compilador ejecuta en realidad, un ataque publicado en 2021 con el nombre de «Trojan Source» (CVE-2021-42574). Cuando la herramienta encuentra uno, muestra una advertencia. Un texto legítimo en árabe o en hebreo puede usar las marcas LRM y RLM, pero los controles de incrustación, anulación y aislamiento dentro de código o de un archivo de configuración son una señal de alarma.

Conserva lo que necesitas

  • Conservar las uniones y los selectores dentro de los emojis (👨‍👩‍👧, ❤️) protege las uniones de ancho cero y los selectores de variación que forman emojis como 👨‍👩‍👧 o ❤️. Desmárcala para quitarlos también; el emoji de la familia se convierte entonces en tres personas separadas.
  • El persa, el hindi y otras escrituras usan ZWNJ y ZWJ para controlar cómo se unen las letras. Para esos textos, desmarca Caracteres de ancho cero (ZWSP, ZWNJ, ZWJ, WJ, BOM).
  • La tipografía francesa usa espacios finos de no separación antes de ; : ! ? y dentro de las comillas « ». Desmarca el tipo de los espacios para conservarlos.

Preguntas frecuentes

¿Cómo sé si mi texto contiene espacios de ancho cero?

Pégalo aquí. Si la tabla sigue vacía y el estado indica «No se han encontrado caracteres invisibles.», no hay ninguno.

¿Al quitar los espacios de no separación se juntarán mis palabras?

No con la configuración por defecto: los espacios de no separación y especiales se sustituyen por un espacio normal. Desmarca la opción de sustitución solo si quieres borrarlos.

¿La herramienta quita los espacios normales, las tabulaciones o los saltos de línea?

No. Solo se ven afectados los tipos de caracteres de la lista anterior.

¿Es seguro pegar un texto confidencial?

Sí. El análisis y la limpieza se hacen en tu navegador; no se sube ni se guarda nada.

¿Por qué mi archivo limpio sigue mostrando un carácter raro al principio?

Si el archivo se guardó en una codificación distinta de UTF-8, el problema puede ser la codificación y no un carácter invisible. Vuelve a guardar el archivo en UTF-8 y analízalo de nuevo.