Los textos de IA suelen contener Unicode invisible, sobre todo espacios de no separación y espacios estrechos de no separación. Pero son subproductos triviales del formato del texto, no una marca de agua oculta. La marca de agua de texto real existe y funciona sesgando estadísticamente la elección de palabras, sin dejar caracteres especiales que encontrar. Puedes comprobar cualquier texto tú mismo en pocos segundos.
La afirmación y por qué se difundió
Cada pocos meses se hace viral una publicación que muestra que el texto copiado de ChatGPT contiene caracteres ocultos, con la conclusión de que OpenAI marca en secreto sus respuestas para poder rastrearlas.
La observación es real. La conclusión no está respaldada.
Lo que la gente encuentra es genuino: pega una respuesta del chat en un inspector de caracteres y verás con frecuencia puntos de código que no se representan como nada. El salto ocurre en la interpretación. Una marca de agua tiene que sobrevivir a la edición, ser difícil de eliminar y codificar algo. Unos caracteres que desaparecen en cuanto alguien hace un buscar y reemplazar, y que no contienen ninguna carga recuperable, no cumplen ninguna de esas condiciones.
Qué hay realmente en el texto
Los caracteres invisibles que aparecen en los textos de IA son, en su inmensa mayoría, caracteres tipográficos corrientes:
| Carácter | Punto de código | Por qué aparece |
|---|---|---|
| Espacio de no separación | U+00A0 | Mantiene un número y su unidad en la misma línea |
| Espacio estrecho de no separación | U+202F | Espaciado fino antes de signos de puntuación y en números |
| Espacio de ancho cero | U+200B | Sugerencias de salto de línea, a menudo heredadas de texto web |
| Guión suave | U+00AD | Marca dónde puede dividirse una palabra al ajustar la línea |
| Marca de orden de bytes | U+FEFF | Artefacto de codificación de un archivo anterior |
Cada uno tiene un propósito tipográfico legítimo y cada uno existe desde décadas antes de los modelos de lenguaje. Llegan por las mismas vías de siempre: el modelo los aprendió de textos de entrenamiento que los contenían, la interfaz del chat muestra la salida formateada como HTML, y copiar desde una página web renderizada arrastra lo que contuviera el marcado.
Esa última vía importa más de lo que la gente cree. Gran parte de lo que se atribuye al modelo lo introduce en realidad la copia del navegador, no la generación. Copiar la misma respuesta a través de la API suele producir un texto notablemente más limpio que copiarla desde la ventana del chat.
¿Existe siquiera la marca de agua en textos de IA?
Sí, pero no funciona como asumen las publicaciones virales.
SynthID-Text de Google DeepMind es el enfoque mejor documentado, publicado en Nature en 2024. Funciona sesgando sutilmente qué palabras elige el modelo en cada paso, de modo que el texto final lleva una firma estadística detectable por un verificador correspondiente. No intervienen caracteres especiales. No se inserta nada. La marca de agua reside en la elección de palabras corrientes, y por eso sobrevive a la copia y a la edición ligera, y por eso no puedes encontrarla inspeccionando puntos de código.
OpenAI ha hablado públicamente de investigar marcas de agua en textos y no ha lanzado ninguna implementación confirmada de cara al consumidor para las respuestas de ChatGPT.
La implicación práctica va en contra del pánico: si un modelo que usas tiene marca de agua, eliminar los caracteres invisibles no la quitará. Y si encuentras caracteres invisibles, eso no es prueba de marca de agua: es prueba de formato.
Por qué los caracteres invisibles importan de todos modos
Haya marca de agua o no, normalmente querrás eliminarlos, porque rompen cosas silenciosamente:
- La búsqueda y el buscar y reemplazar fallan. Un espacio de ancho cero entre dos letras hace que buscar la palabra no encuentre nada, sin motivo visible.
- La validación de formularios rechaza la entrada. Una dirección de correo o una clave de licencia con un espacio de no separación al final falla en una comparación que en pantalla parece correcta.
- El código no compila ni se analiza. Un espacio de no separación donde debería haber un espacio normal produce un error de sintaxis que apunta a una línea que parece perfecta.
- Las importaciones de CSV se corrompen. Una marca de orden de bytes se adhiere al primer encabezado de columna, así que el primer campo no se asigna y nadie se entera.
- Aparecen registros duplicados. Dos entradas que parecen idénticas son cadenas distintas, así que la desduplicación las pasa por alto.
Estos fallos son especialmente molestos porque el texto parece correcto. Todo instinto de depuración apunta a otro sitio.
Cómo comprobar y limpiar tu propio texto
Pega el texto en el Detector de caracteres invisibles. Informa de cada espacio de ancho cero, guion suave, marca de orden de bytes y marca direccional que encuentre, con un recuento por tipo, y los elimina si lo pides. Nada sale de tu navegador: el análisis se ejecuta localmente.
Si quieres una visión más amplia, el Limpiador de texto de IA cubre los caracteres invisibles junto con rayas largas, comillas tipográficas y emojis en una sola pasada.
Un hábito que vale la pena adquirir: haz la comprobación cada vez que un texto cruce la frontera entre sistemas. De la ventana del chat al editor de código, de la página web a la hoja de cálculo, del PDF al formulario. Ahí es donde los caracteres invisibles hacen daño, y es el momento en que eliminarlos cuesta menos.
Para ver la lista completa de qué son estos caracteres y qué hace cada uno, consulta la referencia de Unicode invisible.
Preguntas frecuentes
¿ChatGPT marca su texto con caracteres invisibles?
No hay pruebas de ello. Los caracteres invisibles que se encuentran en las respuestas de ChatGPT son caracteres tipográficos corrientes, como los espacios de no separación y los espacios estrechos de no separación, que existen desde hace décadas y no contienen ninguna carga. Además, desaparecen con cualquier limpieza básica, lo que los haría inútiles como marca de agua.
¿Se puede marcar con marca de agua un texto generado por IA?
Sí. SynthID-Text de Google DeepMind, publicado en Nature en 2024, sesga las elecciones de palabras del modelo para que la salida lleve una firma estadística. No inserta caracteres especiales, así que inspeccionar puntos de código nunca lo revelará, y eliminar caracteres invisibles no lo quita.
¿Por qué el texto copiado de ChatGPT contiene caracteres ocultos?
Sobre todo porque estás copiando HTML renderizado de una página web. La interfaz del chat muestra la salida con formato, y la copia arrastra los caracteres de espaciado que ese formato usaba. Obtener la misma respuesta a través de la API suele producir un texto notablemente más limpio.
¿Cómo encuentro caracteres invisibles en mi texto?
Pégalo en un detector que liste puntos de código, como nuestro Detector de caracteres invisibles. Identifica cada tipo de carácter invisible presente, los cuenta y los elimina si lo pides, funcionando por completo en tu navegador.
¿Los caracteres invisibles son peligrosos?
No peligrosos, pero sí realmente disruptivos. Rompen la búsqueda, hacen fallar la validación de formularios, producen errores de sintaxis en el código, corrompen encabezados CSV y crean registros duplicados que parecen idénticos. Como el texto parece normal, estos errores son inusualmente difíciles de diagnosticar.