Saca la basura invisible de tu texto.
Pega lo que quieras. Encontramos espacios de ancho cero, caracteres tag de contrabando, letras parecidas, la marca de agua invisible de la IA y otros caracteres que no puedes ver, sin destrozar tus emojis ni tu texto en otros idiomas.
- Funciona en tu navegador
- Sin registro
- Gratis y sin límites
- Código abierto
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.
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.
Avanzado(limpiezas extra, desactivadas 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
Letras y puntuación
Controles
Agresivo
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.
- Tu texto nunca sale de esta páginaNo hay subida, ni llamada a ningún servidor, ni analítica sobre lo que pegas. Apaga el wifi y sigue funcionando.
- Gratis, sin límites y sin cuentaSin tope de caracteres, sin cuota diaria y sin pedirte el correo antes de enseñarte los resultados.
- 11 métodos reales de ocultación, vencidosBinario de ancho cero, contrabando con caracteres tag, bytes en selectores de variación, espacios SNOW, homóglifos, binario NFC/NFD y cinco más.
- El mismo motor que la línea de comandosLa herramienta de Python y esta página comparten un único reglamento, así que una comprobación en pre-commit y un pegado en el navegador coinciden.
Pega, limpia, copia.
Eso es todo. El resto de esta página es lectura opcional.
Pégalo aquí
Directo desde una ventana de chat, un PDF, una herramienta de traducción, un asistente de IA o el correo de un compañero. Los caracteres ocultos vienen de viaje con el texto: de eso se trata.
Presiona Limpiar texto
Recorremos tu texto carácter a carácter y decidimos, para cada uno sospechoso, si se está escondiendo o está trabajando. Las palabras visibles no se tocan nunca.
Copia la versión limpia
Un botón. Y si quieres las pruebas, abre la tabla de hallazgos y verás cada carácter con su posición, su punto de código y su nombre oficial en Unicode.
La misma limpieza, sin esta pestaña.
El limpiador de arriba es gratis y sin límite, y lo seguirá siendo. Estos tres llevan el mismo motor a donde ya está tu texto: una pulsación de teclas, un clic derecho o un comando.
Ghostchars para Mac
Una app en la barra de menús: selecciona texto en cualquier parte de tu Mac, pulsa el atajo y la versión limpia ocupa su lugar. O deja que limpie al copiar, y lo que pegues ya estará limpio.
El atajo de teclado y la limpieza al copiar son gratis 20 veces por semana; la ventana de la propia app y sus informes no se cuentan nunca.
Consíguela para MacGhostchars para Chrome
Una ventana que limpia lo que pegas en cualquier sitio y un menú contextual que sustituye ahí mismo el texto que seleccionaste. Activa la limpieza al pegar en los sitios donde pegas a menudo y aterrizará la versión limpia en lugar de la que copiaste.
La ventana y el menú contextual son ilimitados, en todos los sitios; limpiar al pegar es gratis 20 veces por semana. Se instala desde la Chrome Web Store, en Chrome, Edge, Brave, Arc, Opera.
Ver la extensiónGhostchars en tu terminal
Un paquete npm con el mismo motor: limpia archivos y documentos desde la línea de comandos, somete un repositorio a un nivel en CI y dale a tu agente de programación las herramientas por MCP. Dentro vienen los archivos del skill, un hook para Claude Code y un bloque de pre-commit.
Gratis y con licencia MIT, Node 22 o más reciente, y nada sale de tu equipo: no hay código de red en el paquete.
Ver la CLIUna licencia para todo: $24 una sola vez levanta el límite semanal en ambas, en hasta 3 equipos tuyos, y todo lo de este sitio sigue siendo gratis en cualquier caso.
Seis familias de caracteres que no puedes ver.
Unos 26 tipos distintos de carácter, agrupados en las familias que de verdad se comportan de forma diferente.
Caracteres de ancho cero
No ocupan espacio, sobreviven al copiar y pegar y pueden codificar un mensaje entero en binario. La forma clásica de marcar un documento distinto para cada destinatario.
U+200B ZWSP · U+200C ZWNJ · U+200D ZWJ · U+2060 WORD JOINER · U+FEFF BOM
Controles bidi
Reordenan cómo se muestra el texto. Son inofensivos junto al hebreo o al árabe; cuando no hay nada de eso alrededor, son la manera de hacer que un código fuente se lea de una forma y compile de otra.
U+202A-202E · U+2066-2069 · U+200E LRM · U+200F RLM · U+061C ALM
Caracteres tag
Un alfabeto ASCII en la sombra. Una frase entera cabe dentro del plano 14 y se representa como absolutamente nada: es el truco del ASCII smuggling hacia los asistentes de IA.
U+E0001 · U+E0020-E007E · U+E007F CANCEL TAG
Selectores de variación
Sirven para elegir el estilo de un emoji o de un glifo. Los que van sueltos llevan un byte cada uno, así que colgar una carga invisible y larga de cualquier carácter resulta trivial.
U+FE00-FE0F · U+E0100-E01EF
Espacios y separadores
No todos los espacios salen de la barra espaciadora. Cambiar un NBSP por un espacio normal, o dejar un espacio de más al final de una línea, codifica bits que nadie ve.
U+00A0 · U+2000-200A · U+202F · U+205F · U+3000 · U+2028 · U+2029
Letras parecidas
La а cirílica no es la a latina, pero nada en la pantalla te lo dice. Nuestro mapa tiene 1513 entradas generadas a partir del propio confusables.txt de Unicode.
U+0430 а · U+043E о · U+0435 е · U+03BF ο · U+0456 і · U+FF41 a
Por qué tus emojis sobreviven.
El mismo carácter puede ser un escondite o una pieza estructural. Las herramientas que borran solo por punto de código rompen cosas; las que van sobre seguro se dejan cosas. Nosotros miramos a los vecinos.
Conservado: es lo que mantiene unida a la familia
U+200D está entre dos emojis. Quítalo y el emoji de familia se deshace en tres personas separadas. Mismo carácter, mismo punto de código, trabajo completamente distinto.
Eliminado: está escondido entre dos letras
Ese mismo U+200D entre dos letras latinas no une nada. Está ahí para sobrevivir a un copiar y pegar y llevar un bit de la marca de agua de alguien.
🏴 sigue siendo una bandera
Los caracteres tag deletrean «gbsct» dentro de la bandera de Escocia. Los caracteres tag sueltos se eliminan; los que están dentro de una secuencia de bandera válida, no.
El persa y el hindi conservan sus uniones
Una no unión de ancho cero dentro de una palabra persa cambia cómo se enlazan las letras. Si la borras, has escrito mal la palabra. Nosotros la conservamos y te avisamos de que está ahí.
El hebreo conserva sus marcas de dirección
Una RLM junto a texto en hebreo hace un trabajo real de composición. Una RLM en medio de un párrafo en inglés, no. Las dos son U+200F.
Lo que esta herramienta no puede hacer.
Hay muchos sitios que prometen «eliminar marcas de agua de IA». Aquí está el punto donde la limpieza de caracteres se detiene de verdad, para que no cuentes con ella para algo que nunca ha podido hacer.
- Las marcas de agua estadísticas se quedan donde están. Sistemas como SynthID-Text, de Google, van incrustados en qué palabras eligió el modelo, no en ningún carácter. Nada de lo que eliminamos las toca. Reescribir el texto, sí.
- La estilometría queda intacta. El ritmo de las oraciones, el vocabulario y la estructura son lo que leen de verdad los clasificadores de detección de IA. Enderezar tus comillas no cambia nada de eso.
- Lo que se esconde a nivel de formato queda fuera de esta página. Los metadatos de un DOCX, el texto blanco sobre blanco de un PDF, los comentarios de un HTML: eso vive en el archivo, no en el texto. Pega el texto y limpiamos el texto; lleva el archivo entero a la página de Documentos.
- Una raya no es una prueba. Podemos convertir la puntuación tipográfica si lo pides, pero quien escribe bien también usa rayas. Trátalo como formato, no como evidencia.
Lo que sí afirmamos: once técnicas publicadas de esteganografía a nivel de carácter, todas vencidas en pruebas y con el texto visible idéntico byte a byte después.
Kris Vinters crea y mantiene Ghostchars. La página Acerca de explica las normas que sustentan estos límites.
¿Qué es de verdad una «marca de agua de IA» y qué se puede quitar?
Sobre todo, gente que acaba de pegar algo.
Escritores y estudiantes
El texto pasó por tres aplicaciones antes de llegar a tu documento. Límpialo una vez para que un portal de entregas o un detector de plagio no se atragante con caracteres que tú nunca escribiste.
Traductores
Las herramientas TAO y los motores de traducción automática dejan atrás NBSP, guiones opcionales y marcas bidi sueltas. Limpia la capa invisible sin tocar las uniones de las que depende tu idioma de destino.
Editoriales y equipos de CMS
Los originales llegan desde Word, Docs y el correo. Normalízalos antes de que entren en la base de datos y guarda un informe de lo que cambió.
Desarrolladores
Ejecuta --check en un hook de pre-commit y haz que falle el commit cuando un carácter invisible o una anulación bidi acabe en el código, en la configuración o en un archivo de idioma.
Equipos de seguridad informática y de IA
Inspecciona cargas sospechosas de inyección de prompts: mira la frase escrita con caracteres tag, los puntos de código y las posiciones exactas antes de decidir qué hacer con esa entrada.
Cualquiera que reciba un archivo raro
Si un documento se ve bien pero se comporta de forma extraña (la búsqueda falla, la ordenación se rompe, un nombre no coincide), pégalo aquí primero. Casi siempre es un carácter que no puedes ver.
Míralo funcionar
La misma limpieza en tres lugares: este sitio, la extensión del navegador que limpia lo que pegas dentro del propio campo en el que ya estás escribiendo, y un atajo de teclado en Mac que limpia el portapapeles desde cualquier aplicación. Los tres funcionan en tu propia máquina.
Ver
Ghostchars en la web, en Chrome y en un Mac
30 segundos · Subtítulos incluidos
El mismo motor, en tu terminal.
strip_invisible.py es un único archivo de Python sin dependencias. Sin instalación y sin paquetes en los que confiar: descárgalo, léelo y ejecútalo.
# Ver qué se esconde, sin cambiar nada
python3 strip_invisible.py --show file.md
# Limpiar sobre el archivo y, de paso, normalizar espacios y puntuación
python3 strip_invisible.py -i -s --punct draft.md
# Hacer fallar la compilación si entraron caracteres invisibles en el repositorio
python3 strip_invisible.py --check src/**/*.ts
# También documentos: fragmentos ocultos, control de cambios, metadatos, rsids
python3 clean_file.py --show essay.docxCódigo de salida 1 cuando encuentra algo, así que encaja tal cual en un hook de pre-commit o en un paso de CI. Cada interruptor del panel Avanzado de arriba corresponde a una opción.
Preguntas razonables.
¿Se sube mi texto a algún sitio?
No. Todo se ejecuta en JavaScript, en esta página. No hay ninguna petición a ningún servidor cuando presionas Limpiar texto, y nada de lo que pegas se registra ni se guarda. Si quieres comprobarlo, abre la pestaña de red de tu navegador o, sencillamente, desconéctate de internet y usa la página sin conexión.
¿Va a romper mis emojis?
No con los ajustes por defecto. Las uniones de ancho cero entre emojis, los selectores de variación que eligen la presentación de emoji y los caracteres tag dentro de una secuencia de bandera se reconocen como caracteres que cumplen una función y se conservan, y además se informan para que puedas verlos. La única forma de eliminarlos es activar a propósito «Eliminar uniones aunque hagan falta» en Avanzado.
¿Funciona con árabe, hebreo, hindi o persa?
Sí, y esa es la razón principal por la que existe esta herramienta. Las no uniones de ancho cero dentro de las palabras persas, las uniones en las escrituras índicas y las marcas direccionales junto a texto de derecha a izquierda cambian cómo se lee el texto, así que se conservan por defecto. Esos mismos caracteres flotando en medio de un texto en inglés sí se eliminan.
¿Puede eliminar una marca de agua de IA?
Elimina marcas de agua a nivel de carácter: las que esconden datos en puntos de código invisibles, en patrones de espacios o en letras parecidas. No elimina marcas de agua estadísticas como SynthID-Text, que viven en la elección de palabras, y no cambia la puntuación que un clasificador de detección de IA le da a tu escritura. Cualquier herramienta que afirme lo contrario está prometiendo de más.
¿Por qué hay un carácter en la lista que no se ha eliminado?
Por dos motivos. O cumple una función, y eliminarlo cambiaría cómo se representa tu texto, o necesita una opción que está desactivada por defecto porque alteraría texto visible, como las letras parecidas o las comillas tipográficas. En ambos casos la tabla de hallazgos indica la opción exacta que lo eliminaría, así que nada se ignora en silencio.
¿Qué es un ataque de ASCII smuggling?
Unicode tiene un bloque de caracteres «tag» (U+E0000-E007F) que reproducen el ASCII pero no dibujan absolutamente nada. Con ellos se puede escribir una instrucción completa, pegarla en un documento y hacer que un modelo de lenguaje la lea siendo del todo invisible para la persona que lo revisa. Eliminamos por defecto los caracteres tag sueltos y te enseñamos lo que decían.
¿Qué diferencia hay entre NFC y NFKC?
NFC elige una única forma de escribir cada carácter acentuado: la é como un solo punto de código en lugar de una e más un acento combinante. Elegir entre las dos formas al azar es, en sí mismo, una manera de codificar bits. NFKC va más allá y además convierte letras de ancho completo, ligaduras y superíndices en sus equivalentes simples, algo más agresivo de lo que la mayoría de los textos quiere.
¿Hay un límite de texto que pueda limpiar?
No hay cuota ni cuenta. El límite práctico es tu navegador: unos cientos de miles de caracteres van bien y, a partir de ahí, la versión de terminal encaja mejor, porque procesa archivos por partes y directorios enteros.
¿La limpieza cambia el aspecto de mi texto?
Con los ajustes por defecto, no: todos los caracteres que se eliminan son caracteres que no dibujan nada. Esa es la prueba a la que sometemos la herramienta: al pasarla sobre un método de esteganografía, el texto visible debe salir idéntico byte a byte. Las opciones de Avanzado rompen esa regla a propósito, y por eso cada una dice qué cambia.
¿En qué se diferencia de un buscar y reemplazar?
Un buscar y reemplazar borra todas las apariciones de un punto de código. Así es como algunas herramientas acaban destrozando los emojis de familia y la ortografía del persa. Esta decide caso por caso, según los caracteres que hay a cada lado, y te muestra el razonamiento de cada decisión con su número de línea y de columna.