Caractere Invisível – Como Funciona e Como Copiar

Por que um caractere pode existir no texto sem aparecer na tela? Nesta página você entende o que o padrão Unicode diz sobre cada caractere invisível — U+200B, U+3164 e U+2800 — e aprende a copiar e testar cada um.

Copie cada caractere invisível

Três botões, um para cada caractere. Copie e cole onde quiser testar.

U+200B — Zero Width Space

O "pequeno": espaço de largura zero, o mais frágil diante de filtros.

U+3164 — Hangul Filler

O "médio": preenchedor hangul, o mais aceito por validadores.

U+2800 — Braille Pattern Blank

O "grande": braille em branco, com largura de espaço visível.

Atenção: nem todos os aplicativos aceitam todos os caracteres invisíveis. O comportamento de cada caractere depende do filtro, da fonte e da versão do app. Teste um tipo por vez no seu caso de uso.

O que é um caractere invisível?

Um caractere invisível é um caractere como qualquer outro do padrão Unicode — ocupa uma posição no texto, conta no tamanho da string e pode ser copiado e colado —, mas a fonte não desenha nenhum traço visível para ele. Não confunda com o espaço comum do teclado (U+0020): espaços repetidos são comprimidos pelos aplicativos, enquanto cada caractere invisível tem código, categoria e comportamento próprios no Unicode.

O Unicode atribui um número único a cada caractere de todos os sistemas de escrita. Alguns caracteres utilitários servem para organizar o texto — indicar quebras de linha, preencher sílabas coreanas ou representar células braille vazias — e, fora do contexto original, viram o famoso "espaço invisível".

U+200B — Zero Width Space (espaço de largura zero)

O U+200B, "Zero Width Space", mora no bloco General Punctuation do Unicode e pertence à categoria Cf (formato). A função original dele é tipográfica: marcar um ponto onde uma quebra de linha é permitida, sem inserir espaço visível — usado, por exemplo, em idiomas sem espaços entre palavras.

Como é um caractere de formato com largura zero, o U+200B é o mais frágil na prática: muitos programas removem caracteres de formato antes de validar o texto, e aí um nome que parecia preenchido vira um nome vazio, que o aplicativo rejeita. Colado entre palavras, ele não cria espaçamento nenhum — serve apenas como "algo invisível presente no texto".

U+3164 — Hangul Filler (preenchedor hangul)

O U+3164, "Hangul Filler", pertence ao bloco Hangul Compatibility Jamo e à categoria Lo (letra). Na escrita coreana, ele preenche uma posição vazia na composição de uma sílaba hangul; sozinho, fora desse contexto, as fontes não têm o que desenhar — e ele aparece em branco.

O detalhe que muda tudo é a categoria: por ser classificado como letra, o U+3164 passa por validadores que barram o U+200B. Filtros de "caracteres de formato" não o tocam. É por isso que ele é o mais recomendado para nomes invisíveis em jogos e redes sociais — e, ocupando a largura de um caractere normal, ainda empurra o conteúdo ao redor.

U+2800 — Braille Pattern Blank (braille em branco)

O U+2800, "Braille Pattern Blank", faz parte do bloco Braille Patterns e da categoria So (símbolo). No sistema braille, cada caractere é uma célula de 6 pontos; o U+2800 é a célula sem nenhum ponto marcado — o "braille vazio". Na prática, é o "espaço invisível grande": ocupa visivelmente o espaço de um caractere, ideal para espaçamento — alinhar textos no WhatsApp ou separar blocos numa bio.

A ressalva honesta: ele depende da fonte ter cobertura para o bloco braille. Na maioria dos celulares modernos renderiza em branco sem problemas, mas em fontes antigas pode aparecer como um pequeno quadrado vazio. Se isso acontecer, troque pelo U+3164.

Tabela comparativa dos caracteres invisíveis

Resumo lado a lado para escolher com clareza:

Caractere Código Unicode Nome oficial Categoria Largura visual Comportamento típico
Pequeno U+200B Zero Width Space Cf (formato) Zero Frequentemente removido por filtros; vazio total quando aceito
Médio U+3164 Hangul Filler Lo (letra) Largura de caractere Costuma passar por validadores; o mais indicado para nomes
Grande U+2800 Braille Pattern Blank So (símbolo) Largura de espaço Bom para espaçamento; pode virar quadrado em fontes sem braille

Para sequências maiores, use a página de espaço invisível ou o gerador de texto invisível.

Por que os aplicativos rejeitam caracteres invisíveis?

Quando um app recusa seu caractere invisível, não é defeito do caractere: é uma das camadas de proteção do aplicativo agindo — filtros de formato, validação de texto vazio, normalização Unicode ou listas de caracteres permitidos. Conhecê-las ajuda a diagnosticar o problema em segundos.

Filtros de caracteres de formato

Muitos aplicativos removem caracteres da categoria Cf (formato), como o U+200B, antes de processar o texto. Como o U+3164 é uma letra e o U+2800 é um símbolo, eles sobrevivem a esse tipo de filtro.

Validação de "texto vazio"

Campos de nome e mensagem costumam verificar se o texto está vazio depois da limpeza. Se o filtro removeu seu U+200B, o que sobra é uma string vazia — e o app responde com erro de "nome inválido" ou simplesmente não habilita o botão de enviar. É o comportamento mais comum no WhatsApp com mensagens só de invisíveis.

Normalização Unicode

Alguns sistemas aplicam normalização (como NFKC) ao salvar textos, o que pode descartar caracteres de formato. Isso explica por que um caractere funciona ao digitar, mas "some" depois de salvo.

A fonte do aparelho

Por fim, a camada visual: mesmo aceito e salvo, a fonte do celular de quem vê pode não renderizar o caractere — o U+2800 é o mais sensível a isso. Confira o resultado no aparelho de destino, não só no seu.

Como testar qual caractere funciona no seu caso

Em vez de adivinhar, siga este método simples de eliminação:

  1. Comece pelo U+3164. Copie um caractere no botão acima e cole no campo desejado. É o que tem maior chance de passar em validadores.
  2. Observe o cursor e o contador. Se o cursor se moveu ao colar ou um contador aumentou, o caractere foi aceito. Se nada mudou, o filtro o removeu.
  3. Salve e confira o resultado. Aceitar na digitação não garante aceitar no salvamento — a normalização pode agir depois. Salve e veja como ficou.
  4. Teste o U+2800 em seguida. Se o U+3164 falhar, tente o braille em branco. Confira se ele não aparece como quadrado na fonte do seu aparelho.
  5. Deixe o U+200B por último. Ele é o mais frágil; teste apenas se os outros dois falharem, e prefira combiná-lo com um caractere visível.

Um truque para "enxergar" o invisível: cole o caractere num editor e navegue com as setas do teclado — cada toque que move o cursor sem mudar nada visível indica um caractere presente.

Perguntas frequentes sobre caractere invisível