Textos Invisibles

Herramienta de texto

Generador de Espacio de Ancho Cero

Copia el espacio de ancho cero (U+200B). Un carácter de formato de ancho cero que le dice a los navegadores y motores de texto dónde tiene permitido cortar una línea, sin mostrar un guion ni ocupar espacio.

Generador en vivo
Generar Espacio de Ancho Cero
Elige cuántos caracteres U+200B copiar
Salida de Negrita

Para qué sirve el espacio de ancho cero

El espacio de ancho cero (ZWSP, U+200B) es un carácter de formato Unicode sin glifo visible y con ancho de avance cero. Su trabajo es decirle a un motor de renderizado dónde tiene permitido cortar una línea. El elemento <wbr> de HTML se comporta de forma idéntica. Los navegadores y procesadores de texto consultan estas oportunidades de corte al envolver cadenas largas: un URL largo con caracteres U+200B colocados después de cada barra se envuelve prolijo en esos puntos en lugar de desbordarse de su contenedor. El carácter se construyó para escrituras como el tailandés, el lao y el jemer, que no usan espacios entre palabras; insertar U+200B entre las palabras le permite al renderer envolverlas. En texto latino tiene otro conjunto de usos: romper @menciones y #hashtags de Twitter para que no se auto-enlacen, partir palabras compuestas largas en alemán, y marcar puntos de corte discretos dentro de identificadores largos.

Dónde es genuinamente útil U+200B

Envolver URLs y cadenas largas

Coloca U+200B después de cada barra o punto en un URL largo y el navegador cortará en esos puntos en lugar de desbordar el layout. No aparece ningún guion en el corte.

Evitar auto-enlaces en publicaciones

Twitter y otras plataformas convierten @usuario y #hashtag en enlaces. Un espacio de ancho cero entre el símbolo y el texto rompe la coincidencia sin cambiar cómo se lee.

Control de word-break en CSS

Empareja U+200B con word-break: keep-all para marcar puntos de envoltura permitidos en texto CJK mientras suprimes cortes en otros lados. La spec de CSS Text nombra este patrón como el uso previsto.

Marcado de agua en texto

Inserta U+200B en posiciones escogidas de un documento y tienes una huella que sobrevive al copiar y pegar pero es invisible para los lectores. Cada destinatario recibe un patrón distinto.

Cómo se comporta U+200B en los bordes

U+200B es un carácter de formato (categoría general Cf), no un espacio. Esa distinción importa. No es un espacio en blanco, así que el trim() de JavaScript no lo elimina; pero también es invisible, así que una cadena que para un humano se ve idéntica puede diferir a nivel de bytes. Investigadores de seguridad han usado esta propiedad para esconder payload en identificadores: dos cadenas que se renderizan como «admin» pueden ser distintas para una base de datos si una contiene un U+200B. Las divulgaciones de Trojan Source (CVE-2021-42574 y CVE-2021-42694) documentaron cómo los caracteres Unicode invisibles pueden hacer que el código fuente compile de forma distinta a como se lee. Del lado del render, U+200B está muy soportado en navegadores pero lo eliminan las apps de chat que saneen la entrada: WhatsApp y TikTok lo remueven de mensajes y biografías, mientras que Discord lo maneja de forma inconsistente entre campos. Cuando una plataforma lo elimina, el fallback suele ser un carácter visible pero en blanco como U+2800 (blanco braille).

Notas antes de usar U+200B

  • U+200B marca una oportunidad de corte, no fuerza una. El renderer sigue decidiendo si envuelve según el ancho disponible.
  • Nunca muestra un guion en el punto de corte. Para un guion visible al envolver, usa el guión suave (U+00AD).
  • El trim() de JavaScript no elimina U+200B porque no está clasificado como espacio en blanco. Usa una regex que apunte a U+200B si necesitas quitarlo.
  • Para evitar un corte en lugar de permitirlo, usa U+2060 (word joiner): lo opuesto a U+200B, y el reemplazo moderno del obsoleto U+FEFF.
  • Las apps de chat que saneen la entrada suelen eliminar U+200B. Para mensajes o nombres de usuario en blanco, cámbiate a U+2800 o U+3164.
  • Colocar U+200B dentro de un hashtag o @mención rompe el enlace. Útil cuando quieres mencionar una regla @media de CSS sin disparar un enlace de perfil.

Dónde funciona el espacio de ancho cero

U+200B está soportado en todos los navegadores modernos y en la mayoría de los procesadores de texto, donde funciona como una oportunidad de salto de línea. La spec de CSS Text Module lo referencia explícitamente junto al elemento <wbr> como la forma de marcar puntos de envoltura. En apps de chat y redes sociales, el soporte es más irregular. WhatsApp, Instagram y Discord lo aceptan en algunos campos y lo eliminan en otros. TikTok lo remueve de las biografías. Las plataformas de juegos rara vez lo aceptan en nombres de usuario. La regla práctica: en un navegador o editor de texto, U+200B es confiable; en una app de chat o entrada social, prueba primero y mantén U+2800 o U+3164 como fallback.

Preguntas frecuentes sobre U+200B

¿Qué hace realmente el espacio de ancho cero?

Marca una posición donde una línea tiene permitido cortarse. El carácter en sí es invisible y no tiene ancho, pero un navegador o motor de texto que esté decidiendo dónde envolver una línea larga tratará U+200B como un punto de corte aceptable, sin insertar un guion.

¿En qué se diferencia U+200B de un espacio regular?

Un espacio regular (U+0020) tiene un ancho visible y es un espacio en blanco. U+200B tiene ancho cero, es un carácter de formato y no un espacio en blanco, y nunca inserta un hueco visible. Su única función es permitir saltos de línea en un punto escogido dentro de una palabra o cadena.

¿Cómo copio caracteres de espacio de ancho cero?

Define la cantidad arriba y haz clic en Copiar. Los caracteres van a tu portapapeles sin indicación visible, lo cual es lo esperado: pégalos en el campo de prueba para confirmar que llegaron.

¿Se puede detectar el espacio de ancho cero?

Sí. Tiene un punto de código fijo (U+200B), así que cualquier herramienta que inspeccione Unicode puede encontrarlo. Una búsqueda que apunte a ese punto de código localizará todas las instancias. Es invisible para los humanos, no para el software.

¿Por qué me eliminaron el espacio de ancho cero?

El saneador de entrada de la plataforma lo quitó. Las apps de chat y las redes sociales suelen filtrar caracteres de formato de ancho cero para evitar abusos. Cámbiate al blanco braille (U+2800) o al relleno Hangul (U+3164), que están clasificados como símbolo y letra y suelen sobrevivir al filtrado.

¿U+200B es lo mismo que el tag <wbr> de HTML?

En la práctica, sí. La documentación de MDN afirma que <wbr> se comporta como el punto de código U+200B. Ambos marcan una oportunidad de salto de línea sin glifo visible y sin guion. Usa <wbr> en markup HTML; usa U+200B en texto plano.