Gerador de Espaço de Largura Zero
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.
Um caractere de formato de largura zero que marca uma oportunidade de quebra de linha. Não renderiza nada, não ocupa espaço e nunca insere um hífen.
Para que serve o espaço de largura zero
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.
Onde U+200B é genuinamente útil
Como U+200B se comporta nas bordas
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).
Notas antes de usar U+200B
U+200B marca uma oportunidade de quebra; não força uma. O renderizador ainda decide se quebra com base na largura disponível.
Ele nunca mostra um hífen no ponto de quebra. Para um hífen visível na quebra, use o hífen suave (U+00AD).
O trim() do JavaScript não remove U+200B porque ele não é classificado como whitespace. Use uma regex que mire U+200B se precisar removê-lo.
Para impedir uma quebra em vez de permitir, use U+2060 (word joiner) — o oposto de U+200B, e o substituto moderno do U+FEFF obsoleto.
Apps de mensagens que saneam input costumam remover U+200B. Para mensagens ou nomes de usuário em branco, mude para U+2800 ou U+3164.
Colocar U+200B dentro de uma hashtag ou @menção quebra o link. Útil quando você quer mencionar uma regra @media do CSS sem disparar um link de perfil.
Onde o espaço de largura zero funciona
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.
