Gerador cron da AWS
Gerador cron
Contador de texto
JSON para CSV
CSV para JSON
Conversor de timestamp Unix
Gerador de UUID v4 e v7
JSON para TypeScript
Markdown para PDF
Base64
Imagens
JSON
Código QR
Senhas
Unidades
Hash
Cores
Ferramentas PDF
Editor de PDF
Codificador de URL
Conversor de Formato
Lorem Ipsum
Testador Regex
Decodificador JWT
Diferença de texto
Otimizador SVG
Visualizador EXIF
Extrator de cores
Gerador de favicons
Conversor Universal
Conversor de horas
Divisor de PDF
Imagens para PDF
PDF para Imagem
Removedor de Fundo
Voltar ao BlogUTILX / Notas e guias

Contar palavras e caracteres: por que dois contadores podem discordar

Parágrafos de texto ao lado de medidas de palavras e caracteres

Dois contadores podem discordar sobre o mesmo texto sem que exista um erro aritmético. Talvez contem unidades diferentes, tratem a pontuação de outra maneira ou recebam conteúdos diferentes da área de transferência. Uma comparação útil começa por identificar a métrica e preservar a entrada exata. A palavra «caracteres» não define sozinha como a medição funciona.

O contador de palavras e caracteres apresenta palavras, caracteres com e sem espaços em branco, parágrafos e uma estimativa de leitura. Este guia usa um pequeno exemplo multilíngue para examinar cada resultado e aplicar depois o mesmo método a uma entrega editorial, uma tradução ou uma previsão de tempo de leitura.

Identifique o limite que precisa cumprir

Imagine que uma publicação pede um artigo com um máximo de palavras e uma introdução com limite de caracteres. Antes de cortar o rascunho, esclareça se as palavras incluem título, legendas, referências ou navegação. Um contador analisa o texto recebido; ele não consegue deduzir os limites editoriais da publicação. Copie somente a parte combinada e preserve o documento completo separadamente.

Para a introdução, descubra o que o destino considera um caractere. Ele pode limitar bytes, unidades de uma string JavaScript, pontos de código Unicode ou unidades percebidas visualmente. O UtilX usa grafemas quando o segmentador está disponível. Essa medida é útil para texto destinado a leitores, mas não garante aceitação em um destino com outra regra.

Registre o limite, a métrica escolhida e a versão exata do rascunho. Isso transforma uma discussão sobre dois números sem explicação numa comparação reproduzível. Também impede que uma alteração posterior no título mude silenciosamente o escopo da entrega.

Confira idiomas, acentos e um emoji composto

Cole este texto exato, mantendo a linha em branco e sem acrescentar uma quebra no final:

Hola món café Grüße 👨‍👩‍👧‍👦

Una idea.

Com o método normal, o resultado é seis palavras, 32 caracteres, 25 caracteres sem espaços em branco e dois parágrafos. A leitura estimada é de dois segundos. Esses resultados foram verificados com as cinco configurações regionais da ferramenta: espanhol, inglês, catalão, português e alemão.

O emoji de família contribui com um grafema para o resultado normal, embora seja composto por vários pontos de código Unicode. Ele não conta como palavra. Os seis segmentos considerados palavras são Hola, món, café, Grüße, Una e idea. O ponto final contribui com um caractere, mas não acrescenta uma palavra.

O exemplo contém cinco espaços comuns e duas quebras de linha. Excluir essas sete unidades explica a diferença entre 32 e 25. A linha vazia separa dois parágrafos. Se você copiar outra quebra ao final, o total de caracteres pode mudar mesmo que as palavras e a quantidade de parágrafos permaneçam iguais.

Compare medidas sem alterar as evidências

Abra o contador no seu idioma, cole o exemplo e confira todas as métricas antes de experimentar seu rascunho. Observe se a página informa o método normal ou uma alternativa aproximada. Guarde esse detalhe com os resultados, porque uma diferença de segmentação pode explicar o que inicialmente parece uma falha no cálculo.

Depois cole a parte combinada do seu texto. Não elimine pontuação, compacte espaços nem reescreva quebras apenas para conseguir o número de outro editor. Preserve o original e altere uma coisa por vez numa cópia de trabalho. Se remover o título explica a diferença, você encontrou um problema de escopo, não de segmentação.

Para investigar caracteres, teste separadamente uma palavra simples, uma acentuada e um emoji composto. Para parágrafos, substitua uma quebra simples por uma linha vazia e observe a métrica. Para palavras, isole a pontuação ou o sistema de escrita relacionado à divergência, em vez de colar repetidamente o documento inteiro.

Antes de enviar, aplique a regra do destino real. Guarde juntos o texto final e a contagem. Um resultado obtido antes da última correção não demonstra que a versão definitiva continua respeitando o limite solicitado pela publicação.

Entenda o significado de cada unidade

A contagem normal de palavras usa Intl.Segmenter com a configuração regional da página e conta segmentos marcados como isWordLike. Espaços e sinais podem formar segmentos sem serem palavras. A especificação de internacionalização do ECMAScript define essa interface; ela não estabelece os parágrafos nem a velocidade de leitura escolhida pelo UtilX.

Os caracteres são segmentados em grafemas, uma aproximação prática do caractere percebido por uma pessoa. Uma letra com uma marca combinante ou uma sequência de emojis unidos pode constituir uma unidade. A segmentação de texto do Unicode explica por que isso difere de contar valores codificados. A unidade visual e o tamanho de armazenamento respondem a perguntas distintas.

O total de caracteres inclui espaços em branco. A segunda métrica exclui também tabulações e quebras, não apenas espaços comuns visíveis. Parágrafos são blocos não vazios separados por linhas em branco. Uma quebra simples dentro de um bloco não cria outro parágrafo; linhas vazias ao final também não inventam parágrafos adicionais.

A leitura estimada usa uma convenção: 200 palavras por minuto. Para seis palavras, o cálculo produz 1,8 segundos e a estimativa inteira apresentada é dois. Isso serve como referência de planejamento, não como medição da velocidade de uma pessoa específica.

Explique a divergência antes de cortar conteúdo

Se outro editor atribui mais caracteres ao emoji de família, ele pode estar contando pontos de código ou unidades UTF-16. Isso não transforma o emoji em vários símbolos visíveis. Por outro lado, um total de grafemas não prova que uma coluna de banco de dados ou uma requisição de rede comporta o texto. Consulte a unidade documentada pelo destinatário.

Se os parágrafos diferem, examine as linhas vazias, não a quebra visual da área de texto. Uma janela estreita pode mostrar um parágrafo em muitas linhas de tela sem introduzir quebras no conteúdo. Um documento copiado também pode conter separações que não eram evidentes no desenho original.

Se as palavras diferem, confira idioma, pontuação e conteúdo incluído. Uma URL, um apóstrofo ou uma expressão com hífen podem revelar regras distintas. Não prometa igualdade entre todos os editores porque o exemplo simples coincide. Compare o menor trecho que mantém o problema e informe o método junto com o número.

Mantenha visíveis o idioma e a finalidade editorial

A ferramenta usa as configurações es, en, ca, pt e de. Segmentar conforme o idioma é melhor do que supor uma palavra por espaço comum, mas não equivale a avaliar linguisticamente o texto. Prosa multilíngue, nomes próprios e identificadores técnicos continuam exigindo julgamento editorial.

Ao revisar uma tradução, confira primeiro se todas as ideias necessárias estão presentes. Uma palavra composta em alemão e sua tradução inglesa com várias palavras podem expressar o mesmo conteúdo com totais diferentes. Uma tradução mais curta não está necessariamente incompleta, e duas contagens iguais também não comprovam equivalência de significado.

Para estimar a leitura, considere o uso do material. Passar os olhos por um aviso familiar não é como estudar código, seguir instruções ou ler em voz alta. Use as 200 palavras como base consistente e reserve margem para a tarefa real. Não apresente a estimativa como um prazo que cada leitor deveria cumprir.

Reconheça quando o resultado é aproximado

A entrada está limitada a 1 MiB de texto UTF-8. Esse é um limite de bytes, não uma promessa de aceitar um milhão de caracteres visíveis. Acentos e emojis podem precisar de vários bytes, portanto textos com os mesmos grafemas podem ocupar espaços diferentes. Divida um documento maior em seções significativas e preserve seus limites ao comparar resultados.

Se Intl.Segmenter estiver indisponível, a página identifica o método alternativo como aproximado. Ele usa um padrão de palavras compatível com Unicode e conta pontos de código para os caracteres. Emojis compostos podem contribuir com várias unidades; o de família no exemplo contém sete pontos de código. Não compare esse resultado com grafemas como se as unidades fossem iguais.

O contador não avalia clareza, originalidade, correção gramatical nem cumprimento de regras editoriais. O cálculo acontece localmente no navegador, sem precisar enviar o rascunho. Preserve seu documento separadamente: uma página de contagem não substitui um sistema de gestão de documentos ou o histórico das alterações feitas durante a revisão.

Acompanhe o número final com seu método

Antes de comunicar uma contagem, confirme escopo exato, idioma, método de segmentação, tratamento dos espaços em branco e regra de parágrafos. Verifique se o limite do destino usa a mesma unidade. Preserve o rascunho final com o resultado e repita o cálculo depois de qualquer alteração de última hora.

Para o exemplo fixo, exija seis palavras, 32 grafemas, 25 sem espaços em branco, dois parágrafos e dois segundos no método normal. Use diferenças como pistas de diagnóstico. O objetivo é uma medida que outra pessoa consiga reproduzir e interpretar, não um número sem explicação que apenas pareça aceitável.

Fontes: especificação de internacionalização do ECMAScript: Segmenter e anexo padrão Unicode #29: segmentação de texto.