Quebrar URLs e strings longas
Coloque U+200B após cada barra ou ponto em uma URL longa e o navegador quebra naqueles pontos em vez de estourar o layout. Nenhum hífen aparece na quebra.
Ferramenta de texto
Copie o espaço de largura zero (U+200B). Um caractere de formato de largura zero que diz a navegadores e motores de texto onde uma linha tem permissão para quebrar, sem mostrar um hífen ou ocupar espaço.
O espaço de largura zero (ZWSP, U+200B) é um caractere de formato Unicode sem glifo visível e com largura de avanço zero. Sua função é dizer a um motor de renderização onde uma linha tem permissão para quebrar. O elemento <wbr> do HTML se comporta de forma idêntica. Navegadores e editores de texto consultam essas oportunidades de quebra ao quebrar strings longas — uma URL longa com caracteres U+200B colocados após cada barra quebra organizadamente naqueles pontos em vez de estourar o contêiner. O caractere foi criado para scripts como tailandês, lao e khmer, que não usam espaços entre palavras; inserir U+200B entre palavras permite que o renderizador as quebre. Em texto latino ele tem um conjunto diferente de usos: quebrar @menções e #hashtags do Twitter para que não virem link automaticamente, dividir palavras compostas longas em alemão, e marcar pontos de quebra discretamente dentro de identificadores longos.
Coloque U+200B após cada barra ou ponto em uma URL longa e o navegador quebra naqueles pontos em vez de estourar o layout. Nenhum hífen aparece na quebra.
Twitter e outras plataformas transformam @username e #hashtag em links. Um espaço de largura zero entre o símbolo e o texto quebra a correspondência sem mudar como ele lê.
Combine U+200B com word-break: keep-all para marcar pontos permitidos de quebra em texto CJK enquanto suprime quebras em outros lugares. A spec CSS Text cita isso como o padrão pretendido.
Insira U+200B em posições escolhidas de um documento e você tem uma impressão digital que sobrevive a copiar-colar mas é invisível para os leitores. Cada destinatário recebe um padrão diferente.
U+200B é um caractere de formato (categoria geral Cf), não um espaço. Essa distinção importa. Ele não é whitespace, então o trim() do JavaScript não o remove — mas também é invisível, então uma string que parece idêntica a um humano pode diferir no nível de byte. Pesquisadores de segurança usaram essa propriedade para esconder payload em identificadores: duas strings que renderizam como "admin" podem ser diferentes para um banco de dados se uma contiver U+200B. As divulgações Trojan Source (CVE-2021-42574 e CVE-2021-42694) documentaram como caracteres Unicode invisíveis podem fazer código-fonte compilar de forma diferente do que ele lê. Do lado da renderização, U+200B é amplamente suportado em navegadores mas removido por apps de mensagens que saneam input — WhatsApp e TikTok o eliminam de mensagens e bios, enquanto Discord o trata de forma inconsistente entre campos. Quando uma plataforma o remove, a alternativa costuma ser um caractere visível-mas-em-branco como U+2800 (braille em branco).
U+200B é suportado em todo navegador moderno e na maioria dos editores de texto, onde funciona como uma oportunidade de quebra de linha. A spec do CSS Text Module o referencia explicitamente ao lado do elemento <wbr> como a forma de marcar pontos de quebra. Em apps de mensagens e redes sociais, o suporte é mais irregular. WhatsApp, Instagram e Discord o aceitam em alguns campos e o removem em outros. O TikTok o elimina das bios. Plataformas de jogos raramente o aceitam em nomes de usuário. A regra prática: em um navegador ou editor de texto, U+200B é confiável; em um app de mensagens ou input social, teste antes e mantenha U+2800 ou U+3164 como alternativa.
Ele marca uma posição onde uma linha tem permissão para quebrar. O caractere em si é invisível e não tem largura, mas um navegador ou motor de texto que está decidindo onde quebrar uma linha longa trata U+200B como um ponto de quebra aceitável — sem inserir um hífen.
Um espaço comum (U+0020) tem largura visível e é whitespace. U+200B tem largura zero, é um caractere de formato e não whitespace, e nunca insere um espaço visível. Sua única função é permitir quebras de linha em um ponto escolhido dentro de uma palavra ou string.
Defina a contagem acima e clique em Copiar. Os caracteres vão para sua área de transferência sem indicação visível, o que é esperado — cole no campo de teste para confirmar que chegaram.
Sim. Ele tem um ponto de código fixo (U+200B), então qualquer ferramenta que inspecione Unicode pode encontrá-lo. Uma busca mirando esse ponto de código vai localizar todas as instâncias. Ele é invisível para humanos, não para software.
O saneador de input da plataforma o removeu. Apps de mensagens e plataformas sociais costumam filtrar caracteres de formato de largura zero para evitar abuso. Mude para braille em branco (U+2800) ou preenchedor Hangul (U+3164), que são classificados como símbolo e letra e tendem a sobreviver à filtragem.
Na prática, sim. A documentação do MDN afirma que <wbr> se comporta como o ponto de código U+200B. Ambos marcam uma oportunidade de quebra de linha sem glifo visível e sem hífen. Use <wbr> em markup HTML; use U+200B em texto puro.