Ir al contenido
Ghostchars

Qué detecta Ghostchars

Todas las categorías que el motor puede informar, la opción que gobierna cada una y los puntos de código que tienen página propia. Pega un texto en el cuadro de abajo para ver cuáles contiene.

Lo elimina la pasada por defectoSe conserva cuando cumple una funciónNecesita una opción

No se sube nada. La limpieza ocurre en esta misma página.

Tu texto se analiza en el navegador. Presiona Limpiar texto para ver los resultados aquí abajo.

Nivel de limpieza

El nivel estándar solo elimina caracteres que no puedes ver. El máximo también reescribe texto que sí ves: letras parecidas, comillas, guiones y espaciado. Por eso es una decisión y no el valor por defecto.

Los ajustes por defecto ya eliminan todos los caracteres que son invisibles y no hacen ningún trabajo: caracteres de ancho cero, marcas de orden de bytes, guiones opcionales, operadores matemáticos invisibles, anulaciones bidi, caracteres tag y selectores de variación sueltos, no caracteres y otros controles de formato. Todo lo que viene a continuación va más allá: o cambia texto que puedes ver, o elimina caracteres que están cumpliendo una función. Por eso lo decides tú.

Espacios y composición

Los espacios de no separación (NBSP), finos e ideográficos pasan a ser un espacio normal. Desactivado porque el NBSP suele estar puesto a propósito.
CRLF, CR, NEL y los separadores Unicode de línea y de párrafo pasan a ser un salto de línea normal.
Quita la barra que una terminal copia delante de cada línea citada. Desactivado porque los árboles de carpetas usan la misma barra.
Los espacios aparcados al final de una línea pueden codificar un mensaje oculto (la técnica SNOW).
Los espacios dobles entre palabras pueden transportar datos binarios. Desactivado porque altera las composiciones de ancho fijo.

Letras y puntuación

La а cirílica en «аmigo» pasa a ser la a latina. Solo actúa dentro de palabras que mezclan alfabetos, así que un texto ruso o griego normal queda intacto. Desactivado por defecto porque reescribe letras.
La raya, las comillas tipográficas, los puntos suspensivos y el signo menos pasan a ASCII. Se usa a menudo como «señal de IA», pero también es simplemente buena tipografía.
Los acentos compuestos o descompuestos (la é como un carácter o como dos) pueden codificar bits. NFC elige una sola forma.
Además unifica las formas de ancho completo, los superíndices y las ligaduras. Cambia más de lo que esperarías y sustituye a NFC.

Controles

Ya eliminamos las anulaciones bidi y las marcas que aparecen en prosa de izquierda a derecha. Esta opción elimina también las que acompañan al hebreo o al árabe, donde sí hacen un trabajo real de composición.
Controles C0 y C1 distintos del tabulador y el salto de línea.
Rompe las fuentes de iconos y algunos glifos de marca, que es justo donde suelen vivir estos caracteres.

Agresivo

Elimina todas las uniones de ancho cero y los selectores de variación, incluidos los que mantienen unido a 👨‍👩‍👧 y los que necesitan el persa, el hindi y las secuencias de banderas. Úsalo solo cuando quieras letras y nada más.

ZWSPTAG U+E0053

Presiona Limpiar texto y te enseñamos exactamente qué había escondido ahí dentro: primero en lenguaje claro y, debajo, los puntos de código si los quieres.

Las tablas de abajo dicen sobre qué actúa el motor. Dónde lo ejecutas es otra pregunta: si el texto está dentro de un archivo, el informe del documento abre un .docx, un .odt o un .html en tu navegador y lista los fragmentos ocultos, el control de cambios y los metadatos de autoría junto a los caracteres. Si es texto que vas a pegar en algún sitio, la extensión de Chrome lo limpia en el mismo campo en el que ya estás escribiendo.

Nada de eso tiene que ver con cómo se lee la prosa. De eso se ocupa el informe de estilo, que mide la variación en el largo de las oraciones, los conectores prefabricados, las fórmulas de cautela y la densidad de rayas, y te da los números sin puntaje, sin probabilidad y sin ningún veredicto sobre quién escribió el texto.

Por categoría

Las categorías se comprueban en este orden y gana la primera coincidencia; por eso un espacio de ancho cero se informa como carácter de ancho cero y no como un control de formato genérico.

Ancho cero e invisibles

Lo gobierna Pasada por defecto (siempre activo)

Caracteres sin glifo y sin anchura que son contrabando en cualquier parte de un texto: el espacio de ancho cero, la unión de palabras, el guion opcional, la marca de orden de bytes, los cuatro operadores matemáticos invisibles, los controles de formato obsoletos, las marcas de anotación interlineal, los controles de notación musical y los no caracteres que Unicode reserva para siempre.

Punto de códigoNombrePasada por defecto
U+200BZERO WIDTH SPACESí
U+2060WORD JOINERSí
U+00ADSOFT HYPHENSí
U+FEFFZERO WIDTH NO-BREAK SPACESí
U+2061FUNCTION APPLICATIONSí
U+2062INVISIBLE TIMESSí
U+2063INVISIBLE SEPARATORSí
U+2064INVISIBLE PLUSSí
U+034FCOMBINING GRAPHEME JOINERSí
U+180EMONGOLIAN VOWEL SEPARATORSí
U+2800BRAILLE PATTERN BLANKSí
U+3164HANGUL FILLERSí
U+FDD0-U+FDEFNONCHARACTERSSí

Anulaciones bidireccionales

Lo gobierna Pasada por defecto (siempre activo)

Los cinco controles de incrustación y anulación. Reordenan texto que no es suyo, que es la manera de conseguir que un nombre de archivo se muestre como algo que no es. No hay ningún contexto en el que Ghostchars conserve uno.

Punto de códigoNombrePasada por defecto
U+202ERIGHT-TO-LEFT OVERRIDESí
U+202DLEFT-TO-RIGHT OVERRIDESí
U+202ALEFT-TO-RIGHT EMBEDDINGSí
U+202BRIGHT-TO-LEFT EMBEDDINGSí
U+202CPOP DIRECTIONAL FORMATTINGSí

Marcas bidireccionales

Lo gobierna Marcas bidi --bidi

Pistas de dirección: las marcas de izquierda a derecha y de derecha a izquierda, la marca de letra árabe y los cuatro aislantes. Junto a texto de derecha a izquierda resuelven una ambigüedad real y se conservan; en un párrafo en inglés son relleno invisible y un portador de esteganografía publicado, y se van.

Punto de códigoNombrePasada por defecto
U+200ELEFT-TO-RIGHT MARKCuando va suelto
U+200FRIGHT-TO-LEFT MARKCuando va suelto
U+061CARABIC LETTER MARKCuando va suelto
U+2066-U+2069BIDIRECTIONAL ISOLATESCuando va suelto

Uniones, selectores y rellenos

Lo gobierna Agresivo -a

Caracteres invisibles que se enganchan al carácter anterior o al siguiente: la unión y la no unión de ancho cero, los selectores de variación, los caracteres tag y los rellenos propios del mongol, el jemer y el hangul. Se conservan cuando sus vecinos hacen que cumplan una función, y se eliminan cuando van sueltos.

Punto de códigoNombrePasada por defecto
U+200DZERO WIDTH JOINERCuando va suelto
U+200CZERO WIDTH NON-JOINERCuando va suelto
U+FE00-U+FE0FVARIATION SELECTORSCuando va suelto
U+E0000-U+E007FTAG CHARACTERSCuando va suelto
U+180B-U+180DMONGOLIAN FREE VARIATION SELECTORSCuando va suelto
U+17B4-U+17B5KHMER INHERENT VOWELSCuando va suelto
U+115F-U+1160HANGUL JAMO FILLERSCuando va suelto

Cualquier otro control de formato

Lo gobierna Pasada por defecto (siempre activo)

El cajón de sastre. Se elimina cualquier carácter restante cuya categoría general de Unicode sea Cf, así que un control de formato añadido en una versión futura de Unicode queda cubierto sin tocar el código. Las excepciones ortográficas, es decir, los signos de número árabes, la marca de abreviatura siríaca y el signo de número kaithi, se comprueban antes y se dejan en paz.

Se detecta por una propiedad de Unicode y no a partir de una lista, así que no hay un conjunto fijo de puntos de código que enumerar.

Caracteres de uso privado

Lo gobierna Caracteres de uso privado --pua

Puntos de código que Unicode nunca asignará, cuyo significado es un acuerdo privado entre una fuente y una aplicación. Aquí viven las fuentes de iconos, y por eso eliminarlos es opcional: en los textos de una interfaz, son el contenido.

Punto de códigoNombrePasada por defecto
U+E000-U+F8FFPRIVATE USE AREANo

Espacios exóticos

Lo gobierna Espacios -s

Espacios que no son U+0020: el de no separación, el fino y el mediano, el ideográfico, la marca de espacio ogham y los once espacios tipográficos de ancho fijo. Se sustituyen por un espacio corriente en vez de borrarse, porque están separando palabras.

Punto de códigoNombrePasada por defecto
U+00A0NO-BREAK SPACENo
U+202FNARROW NO-BREAK SPACENo
U+205FMEDIUM MATHEMATICAL SPACENo
U+3000IDEOGRAPHIC SPACENo
U+1680OGHAM SPACE MARKNo
U+2000-U+200AGENERAL PUNCTUATION SPACESNo

Separadores de línea

Lo gobierna Finales de línea -n

Los separadores de línea y de párrafo de Unicode y el NEL heredado de EBCDIC. Se unifican a un salto de línea normal en vez de borrarse: borrarlos juntaría dos líneas en una.

Punto de códigoNombrePasada por defecto
U+2028LINE SEPARATORNo
U+2029PARAGRAPH SEPARATORNo
U+0085NEXT LINENo

Caracteres de control

Lo gobierna Caracteres de control --controls

Los códigos de control C0 y C1, excepto el tabulador, el salto de línea y el retorno de carro. Que aparezcan en un texto suele significar un accidente de descodificación o un sondeo deliberado.

Punto de códigoNombrePasada por defecto
U+0000-U+001FC0 CONTROL CHARACTERSNo
U+0080-U+009FC1 CONTROL CHARACTERSNo

Puntuación tipográfica

Lo gobierna Puntuación --punct

Las comillas tipográficas, la raya y la semirraya, los puntos suspensivos, el signo menos y las primas. Aquí no se esconde nada, porque son caracteres visibles, pero tienen un punto de código distinto al de sus formas ASCII, y elegir entre la recta y la curva es un canal publicado de un bit por apóstrofo.

Punto de códigoNombrePasada por defecto
U+2013EN DASHNo
U+2014EM DASHNo
U+2019RIGHT SINGLE QUOTATION MARKNo
U+2026HORIZONTAL ELLIPSISNo

Barras de cita de la terminal

Lo gobierna Barras de cita --gutters

La barra que una terminal dibuja a la izquierda de una cita y que, al copiarla, llega como texto al principio de cada línea. Una barra solo cuenta si abre su línea y el mismo carácter no vuelve a aparecer más adelante en esa línea, así que una tabla dibujada con caracteres de recuadro queda intacta. Se va junto con el espacio que la sigue. Es opcional porque un árbol de carpetas impreso en una terminal empieza sus líneas con la misma barra.

Punto de códigoNombrePasada por defecto
U+2502│ BOX DRAWINGS LIGHT VERTICALNo
U+2503┃ BOX DRAWINGS HEAVY VERTICALNo
U+258C▌ LEFT HALF BLOCKNo
U+258D▍ LEFT THREE EIGHTHS BLOCKNo
U+258E▎ LEFT ONE QUARTER BLOCKNo
U+258F▏ LEFT ONE EIGHTH BLOCKNo

Letras parecidas

Lo gobierna Letras parecidas --confusables

Letras cirílicas, griegas, armenias, cheroquis, de ancho completo y matemáticas que se dibujan igual que las latinas. El mapa tiene 1513 entradas generadas a partir de los propios datos de confundibles de Unicode, y una letra solo cuenta dentro de una palabra de alfabeto mixto, es decir, una racha de letras que también contiene una letra o un dígito ASCII, como «аmigo». Una palabra puramente cirílica o griega nunca se detecta ni se toca. Sigue siendo opcional aun así, porque reescribe letras que puedes ver.

Punto de códigoNombrePasada por defecto
U+0430CYRILLIC SMALL LETTER ANo
U+043ECYRILLIC SMALL LETTER ONo
U+0435CYRILLIC SMALL LETTER IENo
U+0441CYRILLIC SMALL LETTER ESNo

Las opciones

La pasada por defecto no necesita ninguna opción y está siempre activa. Todo lo demás está desactivado hasta que tú lo actives, y todas esas opciones cambian texto que puedes ver, que es justo por lo que están desactivadas.

OpciónOpción de la CLIQué hacePor qué no viene por defecto
Pasada por defecto(siempre activo)Caracteres de ancho cero, la marca de orden de bytes, los guiones opcionales, los operadores matemáticos invisibles, las anulaciones bidi, los caracteres tag sueltos, los selectores de variación sueltos, los no caracteres, todos los controles de formato Cf restantes y las uniones sueltas.Siempre activa. Nada de lo que elimina es visible ni cumple una función.
Agresivo-aElimina las uniones incluso donde cumplen una función.Rompe los emojis de familia, la ortografía persa e índica, las banderas de subdivisión y las variantes de glifo CJK.
Espacios-sSustituye los espacios de no separación y los exóticos por un espacio corriente.Un espacio de no separación suele estar haciendo su trabajo: la puntuación francesa, «10 km», la composición CJK.
Finales de línea-nUnifica CRLF, CR, NEL, U+2028 y U+2029 a un salto de línea normal.Cambiar los finales de línea cambia el archivo, y algunos procesos dependen de ellos.
Marcas bidi--bidiElimina las marcas de dirección y los aislantes incluso junto a texto de derecha a izquierda.Rompe la composición del texto mixto en hebreo, árabe y persa.
Caracteres de control--controlsElimina los controles C0 y C1 y conserva el tabulador y los saltos de línea.Son raros en un texto corriente, y su presencia suele apuntar a un problema de codificación que conviene arreglar en el origen.
Caracteres de uso privado--puaElimina los puntos de código de las áreas de uso privado.Ahí viven los glifos de las fuentes de iconos; eliminarlos vacía las etiquetas de tu interfaz.
Puntuación--punctConvierte a ASCII la raya y la semirraya, las comillas tipográficas, los puntos suspensivos y el signo menos.Es tipografía, no ocultación. Convertirla empeora la prosa; no la hace más humana.
Letras parecidas--confusablesAsigna 1513 puntos de código parecidos a sus gemelos latinos, solo dentro de palabras de alfabeto mixto.Reescribe letras que puedes ver. El texto puramente cirílico, griego o turco queda intacto, pero una palabra que mezcla alfabetos sí cambia, así que lo pides tú.
Barras de cita--guttersQuita la barra de cita que una terminal copia al principio de cada línea, junto con el espacio que la sigue.Un árbol de carpetas o un recuadro dibujado con texto puede empezar sus líneas con la misma barra.

Opciones sobre todo el texto

Otras cuatro opciones reescriben patrones en vez de caracteres sueltos, así que no tienen categoría propia.

Normalizar (NFC)

Compone una letra y su acento en un solo punto de código.

Cambia bytes que ya son correctos, y solo derrota a la esteganografía por forma de normalización cuando tú lo pides.

--nfc

Normalizar (NFKC)

NFC más las letras matemáticas con estilo, las ligaduras y las formas de ancho completo unificadas a sus equivalentes simples.

Con pérdida: 𝐧𝐞𝐠𝐫𝐢𝐭𝐚 se convierte en negrita y el estilo desaparece para siempre.

--nfkc

Espacios finales

Elimina los espacios y tabuladores del final de cada línea.

Dos espacios finales son un salto de línea forzado en Markdown.

--trailing

Unificar espacios

Reduce a uno las secuencias de espacios dentro de una línea y conserva la sangría.

Algunos formatos dependen de esas secuencias: tablas alineadas, ASCII art, código.

--collapse

Todos los caracteres con página propia

Cada uno de estos tiene su propia página: qué es, de dónde viene, cuándo es legítimo y la respuesta honesta a si es una marca de agua de IA.

Explorar el índice de caracteres

Preguntas

¿Cuántos caracteres detecta?

Las tablas nombran exactamente varios cientos de puntos de código, y dos reglas generales cubren por propiedad de Unicode todos los controles de formato restantes y todos los puntos de código de uso privado, así que un carácter añadido en una versión futura de Unicode se detecta sin tocar el código. Además, el mapa de letras parecidas cubre 1513 puntos de código.

¿Es seguro pasar la pasada por defecto sobre cualquier texto?

Está diseñada para serlo: la pasada por defecto solo elimina caracteres que son invisibles Y no están haciendo ningún trabajo en su contexto. Deja en paz todos los caracteres visibles, incluidos los espacios de no separación, las comillas tipográficas y las rayas. Si quieres cambiar esos, tienes que pedirlo.

¿Y si mi carácter no aparece aquí?

Pega el texto en la herramienta y revélalo. Todo lo que el motor clasifica se informa con su posición, su punto de código, su nombre Unicode y su categoría, tenga o no una página aquí.

¿Estadísticas de uso anónimas?

Ghostchars procesa tu texto en el navegador y nunca lo envía a ninguna parte. Nos gustaría contar las visitas con un servicio de analítica alojado por nosotros y con un uso mínimo de cookies. El contenido, nunca.