Generador de texto invisible: la guía completa (2026)
El texto invisible no es un fallo, ni un truco, ni una función que ninguna plataforma lanzara a propósito. Es el efecto secundario de un estándar Unicode que tiene que dar soporte a todos los sistemas de escritura del planeta, incluidos los idiomas donde las marcas de ancho cero y las marcas combinantes tienen un significado lingüístico real. Los usos cosméticos (una biografía de Instagram vacía, un mensaje de WhatsApp en blanco, un nombre fantasma en Discord) viajan sobre la misma infraestructura que hace funcionar el hebreo, el jemer y el devanagari. El catálogo de caracteres, dónde sobrevive cada uno, dónde se elimina cada uno y el flujo para copiar un espacio en blanco de forma fiable.
- Qué es en realidad el texto invisible
- El catálogo Unicode de caracteres que se ven en blanco
- Cómo los manejan las plataformas en la práctica
- Los usos legítimos detrás del truco
- Los usos cosméticos (la razón por la que la mayoría está aquí)
- El vector de abuso y las respuestas de las plataformas
- Qué hacen los lectores de pantalla con los caracteres invisibles
- Cuándo y dónde se eliminan a nivel de API o de base de datos
- Usa la herramienta
- El flujo que funciona
Qué es en realidad el texto invisible
Un carácter invisible es un punto de código Unicode que se renderiza con ancho cero o con un glifo vacío. Existe en la cadena de fondo, así que los validadores de entrada ven contenido. Pero la fuente no pinta nada visible. El resultado es un campo de entrada que se ve en blanco para las personas mientras pasa la comprobación de «no debe estar vacío» de la plataforma.
La categoría técnica se divide en dos. Los caracteres de ancho cero se renderizan con exactamente cero píxeles de ancho. Son controles de formato. El estándar Unicode los reserva para el control de ligaduras, la separación silábica suave y la separación de marcas combinantes. Los caracteres de glifo vacío son caracteres de ancho completo cuya forma visual resulta estar en blanco. El ejemplo más famoso es el Hangul Filler (U+3164), un carácter de relleno coreano que la mayoría del software trata como una letra normal pero que no tiene forma pintada.
Ambas categorías sirven al mismo propósito cosmético. Se diferencian en con cuánta agresividad las eliminan las plataformas. La normalización Unicode marca los caracteres de ancho cero como eliminables. Los de glifo vacío, no. Por eso el Hangul Filler es el carácter invisible más fiable en la práctica, aunque técnicamente sea más ancho que un Zero-Width Space.
El catálogo Unicode de caracteres que se ven en blanco
U+3164 Hangul Filler. El carácter más importante de esta página. Oficialmente un relleno de Jamo coreano. Se renderiza en blanco pero cuenta como una letra imprimible. Sobrevive a casi todos los saneadores de entrada porque no es un carácter de control, de espacio ni de formato. El estándar de oro para las biografías vacías.
U+200B Zero-Width Space. El carácter invisible de manual. Ancho cero. Sin glifo. Se usa de forma legítima para marcar puntos de salto de palabra suaves en cadenas largas. Lo eliminan la normalización NFC y la mayoría de las funciones de trim de entrada. Funciona en muchos lugares pero falla en Slack, LinkedIn y varias plataformas de CMS.
U+2800 Braille Pattern Blank. Un glifo Braille sin puntos en relieve. Se renderiza como una sola celda en blanco. El ancho es completo. Sobrevive a la mayoría de los saneadores. Ten en cuenta que los lectores de pantalla pueden anunciarlo como «blank» en lugar de omitirlo en silencio, que es uno de los pocos casos en que el blanco visual es audible.
U+034F Combining Grapheme Joiner. Un carácter de ancho cero puro pensado para unir grafemas con fines de ordenamiento (usado en hebreo y en algunos alfabetos índicos). Rara vez se elimina porque quienes escriben los saneadores rara vez lo encuentran. Algo menos fiable que el Hangul Filler pero más fiable que el ZWSP.
U+2003 Em Space. Un blanco ancho. Visualmente en blanco en lugar de ancho cero. El recurso de respaldo cuando los filtros que reconocen Unicode bloquean todos los anteriores. Cuenta como espacio en blanco, así que las plataformas que eliminan el espacio en blanco también eliminarán este. Funciona en los casos en que los filtros solo comprueban el espacio ASCII (0x20).
U+FFA0 Halfwidth Hangul Filler. El hermano de medio ancho de U+3164. Útil cuando el campo tiene un límite estricto de caracteres y el Hangul Filler es una celda demasiado ancho. Menos fiable porque algunas plataformas apuntan específicamente a los caracteres Hangul de medio ancho durante el saneamiento.
Otros caracteres que a veces se recomiendan en internet (el Mongolian Vowel Separator U+180E, los distintos Variation Selectors) o bien se han descontinuado para el uso cosmético o nunca fueron fiables entre plataformas. Quédate con los seis de arriba.
Cómo los manejan las plataformas en la práctica
La fiabilidad práctica importa más que la teoría Unicode. Esto es lo que pasa de verdad en 2026.
Instagram. Permite el Hangul Filler en biografías, pies de foto y nombres visibles. Rechaza el espacio en blanco ASCII puro. El truco de la biografía de Instagram en blanco usa uno o dos caracteres U+3164.
Twitter y X. Permite el Hangul Filler y el Braille Pattern Blank en los nombres visibles. El @ (el nombre de usuario) está restringido a alfanuméricos ASCII, así que el texto invisible no funciona ahí. Los campos de biografía aceptan todo el conjunto.
WhatsApp. Permite caracteres invisibles en el estado, los nombres de grupo y los mensajes. El efecto de «mensaje en blanco» se logra enviando un solo Hangul Filler. Ten en cuenta que algunos teclados de Android eliminan el carácter antes de enviar, así que pega desde el portapapeles en lugar de escribirlo.
Discord. Permite el Hangul Filler y el Braille Pattern Blank en los nombres de usuario, los apodos de servidor, el estado personalizado y los mensajes. La reciente migración de nombres de usuario de Discord al sistema de identificador único exige ASCII para el identificador en sí, pero permite caracteres invisibles en el nombre visible.
Slack. Elimina la mayoría de los caracteres invisibles durante la normalización de la entrada. Su uso no es fiable. Slack trata los nombres visibles y los nombres de canal con un trim agresivo y normalización NFC.
Telegram. Permite caracteres invisibles en los mensajes y las descripciones de grupo. Los normaliza y elimina en los nombres de usuario y los identificadores de canal.
Among Us y Fortnite. Ambos juegos permiten el Hangul Filler en los nombres visibles. El truco del «sin nombre» que deja a los jugadores aparecer como anónimos en el chat. Pruébalo en una sala privada antes de confiar en él en una partida clasificatoria.
Los usos legítimos detrás del truco
Los caracteres invisibles existen por razones reales. El abuso cosmético es un efecto secundario.
Niqqud hebreo. Las marcas vocálicas del hebreo se adjuntan a las letras consonantes mediante diacríticos combinantes. Varios de esos diacríticos son de ancho cero por diseño. Sin ellos, el hebreo con puntos vocálicos (usado en los textos litúrgicos y los libros infantiles) no se renderizaría correctamente.
Subíndices jemeres. El jemer apila las consonantes subíndice debajo de las consonantes base usando un marcador «coeng» de ancho cero. Quitar los caracteres de ancho cero de la entrada rompería por completo la escritura del jemer.
Signos vocálicos índicos. El devanagari, el tamil, el telugu y el canarés usan marcas combinantes (matras) que se adjuntan a las consonantes base. Algunas matras son de ancho cero. Los métodos de entrada índicos modernos dependen de que estos caracteres sobrevivan a la normalización Unicode.
Control de ligaduras árabes. El Zero-Width Joiner (U+200D) y el Zero-Width Non-Joiner (U+200C) le dicen al modelador árabe si debe formar una ligadura en una posición dada. Son necesarios para que el árabe se muestre correctamente en cualquier texto más largo que una sola palabra.
Control de salto de línea. El Zero-Width Space también se usa de forma legítima para sugerir un salto suave en URLs largas, compuestos con guion o texto CJK donde no existe otra oportunidad de salto. Quienes hacen tipografía web lo insertan a mano para controlar el ajuste de línea.
Los usos cosméticos (la razón por la que la mayoría está aquí)
Biografía de Instagram vacía. La mayor razón por la que existe este generador. Pega un carácter Hangul Filler. La biografía se ve sin configurar para quien la visita, pero Instagram la considera configurada, así que el aviso de «completa tu perfil» desaparece.
Mensajes y estados de WhatsApp en blanco. Envía un Hangul Filler como mensaje para mostrar una burbuja totalmente en blanco. Quien lo recibe ve un mensaje vacío con la marca de tiempo. Útil para probar las notificaciones, señalar «no tengo nada que decir pero te leo» o hacer bromas en los chats de grupo.
Nombres de usuario en modo fantasma. Las plataformas de juego (Among Us, Fortnite, Call of Duty Mobile) que requieren un nombre visible no vacío. El Hangul Filler deja a un jugador aparecer sin nombre en el chat y en la tabla de puntuaciones.
Nombres de perfil vacíos en redes. Los campos de nombre visible de Twitter, TikTok, Snapchat y Telegram aceptan todos caracteres invisibles. La estética es deliberada. Un perfil sin nombre visible se lee como misterioso o como terminado según el contexto.
Estados y embeds de Discord en blanco. Los campos de estado de Discord y los campos de embed de los bots usan a menudo caracteres invisibles para crear líneas en blanco, separadores o campos vacíos que de otro modo se rechazarían por estar vacíos.
El vector de abuso y las respuestas de las plataformas
El texto invisible no es del todo inofensivo. Dos patrones de abuso han impulsado las restricciones de las plataformas a lo largo de los años.
Ataques de homógrafos. Un nombre de usuario que parece idéntico a un usuario objetivo, logrado insertando caracteres de ancho cero que el ojo no ve pero que la base de datos trata como distintos. El ejemplo clásico es la suplantación de un administrador en un servidor de Discord donde el nombre del impostor contiene un U+200B en medio. Para los usuarios, los nombres son visualmente idénticos. Para Discord, son cadenas distintas, así que el impostor obtiene la misma visualización.
Captchas falsamente vacíos y ataques de evasión. Algunas defensas antibots más antiguas rechazaban los envíos vacíos literales pero aceptaban cualquier cadena no vacía. Los atacantes usaban caracteres invisibles para satisfacer la comprobación de no-vacío mientras enviaban, en la práctica, nada. Los sistemas de captcha modernos normalizan Unicode antes de comprobar, lo que cierra este vector.
Las respuestas de las plataformas han sido acotadas en lugar de generales. Discord y Twitter restringen los caracteres invisibles en los identificadores únicos (los @, los ID) pero los permiten en los campos de visualización. Slack y Google los eliminan en todas partes. La contrapartida es entre la expresión del usuario y la prevención del abuso; cada plataforma ha tomado su propia decisión.
Qué hacen los lectores de pantalla con los caracteres invisibles
El comportamiento de los lectores de pantalla varía según el carácter y la configuración.
Zero-Width Space. NVDA y VoiceOver suelen omitirlo en silencio. JAWS puede anunciarlo como «zero width space» en las configuraciones verbosas.
Hangul Filler. Se anuncia como «Hangul filler» o como un relleno fonético coreano, según el paquete de idioma coreano del lector de pantalla.
Braille Pattern Blank. A menudo se anuncia como «blank» o «Braille blank cell». El carácter con más probabilidad de producir una palabra hablada inesperada.
Combining Grapheme Joiner. Casi siempre se omite en silencio. La opción menos disruptiva para la accesibilidad.
La guía pragmática: un solo carácter invisible para una biografía en blanco está bien para casi todos. Llenar los campos con muchos caracteres invisibles degrada la experiencia de quienes usan lectores de pantalla y se trata como diseño hostil en la mayoría de las auditorías de accesibilidad.
Cuándo y dónde se eliminan a nivel de API o de base de datos
La tubería de eliminación corre en tres lugares, y entender cuál quitó tu carácter determina qué hacer al respecto.
Filtros de entrada del lado del cliente. JavaScript que corre antes de enviar. A menudo elimina el Zero-Width Space y el CGJ. Solución: pega el carácter en lugar de escribirlo, ya que el pegado puede saltarse el detector del evento de entrada.
Normalización Unicode del lado del servidor. NFC, NFD, NFKC o NFKD aplicada al guardar. NFKC y NFKD son agresivas y eliminan muchos caracteres invisibles. NFC es más suave y suele conservar el Hangul Filler. Solución: usa el Hangul Filler en lugar del ZWSP.
Trim y validación de base de datos. Las funciones de trim de SQL eliminan el espacio en blanco, incluidos algunos caracteres de espacio Unicode. Las bibliotecas de validación que rechazan lo «vacío tras el trim» quitan los caracteres invisibles antes de comprobar. Solución: usa el Hangul Filler, que no es espacio en blanco y sobrevive al trim.
Usa la herramienta
El Generador de Texto Invisible de TextKit maneja los cinco caracteres en un solo lugar. Elige el tipo de carácter, fija cuántos generar, copia y pega. El interruptor de verificación revela los puntos de código para que confirmes que el campo no está realmente vacío antes de guardar. Todo el procesamiento es local. No se sube nada.
Para los casos de uso típicos. Un Hangul Filler para una biografía de Instagram. Dos o tres para un nombre visible de Discord. Uno para un mensaje en blanco de WhatsApp. Pasados cinco o seis caracteres en un solo campo, casi con certeza estás degradando la accesibilidad sin sumar nada al efecto cosmético.
El flujo que funciona
- Elige primero la plataforma. Biografía de Instagram, estado de Discord, mensaje de WhatsApp, nombre de usuario de juego. Cada plataforma tiene un saneador algo distinto.
- Usa el Hangul Filler por defecto. Sobrevive al mayor número de saneadores. Empieza aquí salvo que tengas una razón específica para no hacerlo.
- Genera uno o dos caracteres. No diez. El efecto cosmético es el mismo y se conserva la accesibilidad.
- Pega, no escribas. Los filtros de entrada del lado del cliente suelen correr en el evento de escritura. El pegado a veces se los salta.
- Verifica. Recarga la página o revisa desde otra cuenta. Si la biografía queda vacía tras guardar, la plataforma eliminó el carácter. Prueba un carácter distinto (ZWSP si el Hangul Filler fue el primer intento, o al revés).
- Si todo falla, usa el Em Space. Es visible (un blanco ancho) pero sobrevive a casi todos los filtros. Aceptable cuando no funciona nada más.
Para temas relacionados: Contador de caracteres: la guía completa explica cómo cuentan los caracteres Unicode frente a los límites de las plataformas. Herramientas de texto para la era de la IA cubre la categoría más amplia de herramientas Unicode. El Conversor de Mayúsculas y el Contador de Caracteres son las herramientas compañeras que manejan el resto de un flujo Unicode.
Preguntas frecuentes
¿Cuál es el carácter invisible más fiable para una biografía de Instagram vacía?
El Hangul Filler (U+3164). Instagram rechaza el espacio en blanco literal, pero acepta U+3164 porque es un carácter coreano normal cuyo glifo se renderiza en blanco. Sobrevive a la validación de biografías de Instagram y se muestra como una biografía vacía para quien la ve.
¿Puedo copiar y pegar un espacio en blanco en Discord?
Sí. Discord permite el Hangul Filler y el Braille Pattern Blank tanto en los mensajes como en los nombres de usuario. El Zero-Width Space a veces se elimina durante la normalización de los mensajes, así que prefiere el Hangul Filler por fiabilidad.
¿Por qué algunos formularios eliminan el texto invisible?
Muchos formularios web ejecutan la normalización Unicode o trim() sobre las entradas antes de guardar. Tanto la normalización NFC como el trim tratan varios caracteres de ancho cero como eliminables. El Hangul Filler suele sobrevivir porque no es un carácter de trim ni de control.
¿Usar texto invisible se considera trampa o va contra los términos de servicio?
Depende de la plataforma. El uso cosmético (una biografía vacía, un mensaje en blanco) suele tolerarse. El uso para suplantación (un nombre de usuario que parece idéntico a otro mediante inserciones de ancho cero) está prohibido de forma explícita en la mayoría de las plataformas y puede acarrear la suspensión de la cuenta.
¿Qué hacen los lectores de pantalla con los caracteres invisibles?
El comportamiento varía. NVDA y VoiceOver suelen anunciar el Braille Pattern Blank como «blank» y omiten el Zero-Width Space en silencio. El Hangul Filler puede anunciarse literalmente como «Hangul filler» en las configuraciones verbosas. El uso intenso de caracteres invisibles degrada la accesibilidad.
¿Cuál es la diferencia entre U+200B, U+200C y U+200D?
U+200B es el Zero-Width Space, un salto de formato. U+200C es el Zero-Width Non-Joiner, que evita que dos letras formen una ligadura. U+200D es el Zero-Width Joiner, que fuerza la formación de la ligadura. Los tres se renderizan con cero píxeles de ancho pero tienen semánticas tipográficas distintas.
Seguir leyendo
Escrito por SAVI. Creamos las herramientas sobre las que escribimos. Prueba el Generador de Texto Invisible que usamos en este artículo.