Resumo: "contar caracteres" não é tão literal quanto parece — um emoji pode ser um caractere visível, mas vários pontos de código, e o que conta como "palavra" muda em idiomas que não usam espaços. Escolher o contador errado dá um número que não corresponde ao que uma plataforma realmente aplica. Combine este guia com Word Frequency, Remove Extra Spaces, AI Hidden Characters e Text Difference.
Character Counter e contadores de palavras resolvem problemas diferentes, e as plataformas aplicam limites diferentes: um tuíte é medido em caracteres, a contagem de palavras de uma redação em palavras, e nenhum dos dois números prevê o outro de forma confiável.
Referências: o relatório Unicode sobre segmentação de texto (UAX #29) define como o texto se divide em "clusters de grafemas" (o que uma pessoa percebe como um caractere), e a referência do MDN sobre Intl.Segmenter cobre a API do navegador que implementa isso corretamente.

Por que um emoji quebra a contagem ingênua de caracteres
Um emoji de família (👨👩👧👦) parece um único caractere, mas na verdade são quatro emojis de pessoas separados unidos por caracteres invisíveis zero-width joiner (ZWJ) — um contador ingênuo usando .length em JavaScript reporta 11 ou mais para algo que uma pessoa vê como um único glifo, porque .length conta unidades de código UTF-16, não caracteres visíveis.
Um contador ciente de grafemas, construído sobre Intl.Segmenter, conta o que uma pessoa contaria: esse mesmo emoji como 1. Essa é a diferença entre uma contagem de caracteres que corresponde ao limite real de uma plataforma e uma que super ou subestima silenciosamente qualquer texto com emojis, letras acentuadas ou símbolos combinados.
Por que a contagem de palavras depende do idioma
Contadores de palavras que dividem pelo espaço funcionam bem para português, espanhol ou inglês — mas chinês, japonês e tailandês não separam palavras com espaços de jeito nenhum, então um contador baseado em espaços retorna uma única "palavra" para um parágrafo inteiro. Obter uma contagem de palavras significativa nesses idiomas exige segmentação real baseada em dicionário ou estatística, não uma divisão mais simples.
Mesmo em idiomas separados por espaços, os casos limítrofes se acumulam: "pra" é uma palavra ou uma contração de duas? Um composto com hífen é uma palavra ou duas? Ferramentas diferentes tomam decisões diferentes, por isso o mesmo parágrafo pode reportar contagens de palavras diferentes dependendo do contador em que você confia.
Combinando o contador com o que realmente é aplicado
- Limites de posts em redes sociais (X/Twitter, SMS) → contagem de caracteres, ciente de grafemas se o texto tiver emojis.
- Meta descrições, tags de título → contagem de caracteres, já que buscadores truncam pela largura em caracteres/pixels, não por palavras.
- Redações, artigos, mínimos de palavras para briefings de conteúdo → contagem de palavras.
- Conteúdo CJK (chinês, japonês, tailandês) → a contagem de caracteres costuma ser a métrica significativa, já que "palavras" não são bem definidas sem separação por espaços.
Uma checagem rápida de bom senso
Se o limite de uma plataforma é aplicado em caracteres, cole o texto final exato em Character Counter antes de publicar — não uma estimativa, a string literal, incluindo qualquer emoji ou pontuação especial, porque é exatamente aí que ferramentas de contagem ingênuas divergem do que realmente é aplicado. Se em vez disso você está ajustando para uma meta de palavras, passe o texto por um contador de palavras, depois verifique a contagem de caracteres separadamente se a plataforma (como uma meta descrição) aplicar ambos.
Para texto com problemas de formatação ocultos que também distorcem as contagens — espaços extras, marcas Unicode invisíveis — limpe primeiro com Remove Extra Spaces ou AI Hidden Characters, depois conte a versão limpa.