Free Tool

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.

Gerar Espaço de Largura Zero
Escolha quantos caracteres U+200B copiar
Espaço de Largura ZeroU+200B

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

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.
Evitar auto-links em posts
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ê.
Controle de quebra de palavra em CSS
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.
Watermarking de texto
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.

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.

Perguntas comuns sobre U+200B