Truncador de texto

Trunque um texto em um limite de caracteres ou palavras com um sufixo personalizável.

Como funciona

  1. Cole seu texto : insira ou cole qualquer texto no campo, artigos, descrições, postagens em redes sociais ou qualquer conteúdo a encurtar.
  2. Ajuste o limite : escolha o limite em caracteres ou palavras adequado à sua plataforma-alvo (ex. 160 para meta descrições, 280 para Twitter).
  3. Copie o resultado : o texto truncado aparece instantaneamente. Clique em Copiar para obter a versão encurtada, pronta para uso.

Por que usar o truncador de texto ?

Cada plataforma tem limites de comprimento, Twitter, meta descrições, campos de banco de dados, notificações e SMS impõem limites rígidos em caracteres. Um truncamento manual frequentemente corta desajeitadamente no meio da palavra ou deixa pontuação solta. Esta ferramenta trunca de forma inteligente nos limites das palavras e permite pré-visualizar exatamente como ficará dentro do seu limite, economizando tempo e evitando erros de formatação.

Funcionalidades

Perguntas frequentes

Ele corta no meio da palavra ?

Não. O truncador corta no limite de palavra mais próximo antes do limite, para que a saída termine sempre em uma palavra completa. Isso mantém seu texto truncado legível e bem apresentado.

Posso usá-lo para meta descrições ?

Sim. Defina o limite em 155–160 caracteres para meta descrições do Google, ou 120 caracteres para um truncamento mais apertado. A ferramenta exibe seu contador de caracteres em tempo real para refinar o resultado.

O que acontece com caracteres especiais e emojis ?

Os caracteres especiais e emojis são preservados como estão. Observe que emojis podem contar como 2 caracteres em algumas plataformas, verifique a contagem final na sua plataforma-alvo se a precisão for importante.

O que «um caractere» realmente significa

Um usuário vê um «caractere» onde JavaScript vê três valores. A string «👨‍👩‍👧‍👦» (emoji família de quatro) é um cluster de grafemas, sete pontos de código Unicode unidos por Zero-Width Joiners (U+200D), e onze unidades de código UTF-16. É por isso que "👨‍👩‍👧‍👦".length === 11 em JavaScript. A definição autoritativa vive no Anexo Padrão Unicode #29 «Segmentação de Texto Unicode» (versão atual 15.0, setembro de 2022), que especifica limites de cluster de grafemas, limites de palavras e limites de sentenças. JavaScript moderno expõe UAX #29 através de Intl.Segmenter, padronizado em ECMAScript 2022 e enviado em todo navegador desde Firefox 125 (abril de 2024); Chrome o tem desde a versão 87 (novembro de 2020) e Safari desde 14.1 (abril de 2021). Use new Intl.Segmenter('pt', { granularity: 'grapheme' }) para contar como humanos contam.

Limites de caracteres nas plataformas para as quais você entrega

Limites de palavras não são apenas split(' ')

O truncador ingênuo de limite de palavras divide a entrada em /\s+/ e corta antes da primeira palavra que o coloca acima do limite. Isso funciona para inglês. Falha em chinês, japonês, coreano e tailandês, nenhum usa espaços entre palavras: toda a entrada acaba como uma única «palavra», então o aparador ou mantém tudo ou corta tudo. O árabe usa espaços mas une formas de letras de maneiras que mudam as posições de limite. Intl.Segmenter com granularity: 'word' aplica o algoritmo de limite de palavras UAX #29 e produz cortes corretos para cada idioma. Também distingue segmentos «semelhantes a palavras» (retornam isWordLike: true) de segmentos de pontuação e espaços, então você pode encontrar o último limite de palavra antes do seu orçamento de caracteres com uma única passagem sobre os segmentos.

Truncamento CSS: text-overflow e line-clamp

Se o objetivo é truncar visualmente mantendo o texto completo no DOM (para que permaneça disponível para leitores de tela, motores de busca e copiar-colar), use CSS. O truncamento de linha única requer três propriedades juntas: overflow: hidden; white-space: nowrap; text-overflow: ellipsis;. text-overflow: ellipsis é definido no Módulo CSS Basic User Interface Nível 4 (Candidate Recommendation W3C agosto de 2021) e foi enviado em todo navegador desde Firefox 7 (setembro de 2011); Internet Explorer 6 o tinha já em agosto de 2001. O truncamento multilinha usa display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;. A propriedade -webkit-line-clamp data de WebKit 2009 e agora é definida no Módulo CSS Overflow Nível 3 (Working Draft W3C). O line-clamp sem prefixo é enviado no Safari 18 (setembro de 2024) e Firefox 125 (abril de 2024); sempre inclua a forma -webkit- como fallback. Limitação crítica: o truncamento CSS é puramente apresentacional. O texto completo ainda está no código HTML, então o snippet SEO, o resumo de e-mail e o índice de busca movido por JS veem a string não truncada.

Erros comuns

Mais perguntas frequentes

Por que o Twitter conta minha URL como 23 caracteres mesmo quando é muito mais longa?

O Twitter envolve cada URL através do seu encurtador t.co para análise e detecção de abuso, então cobra cada URL no comprimento do pior caso do encurtador: 23 caracteres para HTTPS. Se você escreve uma URL de 100 caracteres, conta como 23 na interface do Twitter. A mesma regra se aplica aos metadados Twitter Card. A biblioteca open-source twitter-text (Twitter, MIT) implementa a regra exata se você precisar de simulação perfeita ao byte.

Esta ferramenta respeita idiomas RTL como árabe e hebraico?

O conteúdo de texto é preservado incluindo seus marcadores bidi (bidirecionais). O truncamento opera em caracteres em ordem lógica, então cortar uma frase em árabe no caractere 100 corta no 100º caractere lógico (aquele que um leitor de tela anunciaria primeiro). A ordem de exibição pode reverter visualmente devido ao fluxo da direita para a esquerda, mas a string subjacente é consistente.

Por que meu SMS truncado ainda é dividido em três partes em 161 caracteres?

SMS usa codificação 7-bit GSM para texto somente latino, encaixando 160 caracteres em um segmento. Mas qualquer caractere fora de GSM-7, incluindo as aspas tipográficas «inteligentes» da autocorreção (U+2018 / U+2019), a elipse Unicode (U+2026), ou emojis, força toda a mensagem para codificação UCS-2 a 70 caracteres por segmento. Se sua mensagem truncada de 160 caracteres contém uma aspa tipográfica, a operadora a divide em três partes UCS-2 de 70 caracteres. Substitua aspas tipográficas por aspas ASCII para SMS.

Posso truncar texto formatado em HTML sem quebrar as tags?

Não com segurança com um corte contando caracteres. Ou remova as tags HTML primeiro (via DOMParser ou um parser do lado do servidor), trunque o texto simples, então opcionalmente reenvolva; ou use um truncador consciente do DOM que percorra a árvore de nós e clone prefixos de nós de texto inteiros. Regex puro sobre a string HTML não é seguro (HTML não é uma linguagem regular).

Algo é enviado a um servidor?

Não. O texto que você cola, o limite que você escolhe, o sufixo que você define e a saída truncada são todos processados no JavaScript do seu navegador. Nenhuma chamada de rede é feita e nenhuma cópia da sua entrada é armazenada. Abra a aba Rede no DevTools para verificar.

Ferramentas relacionadas

Contador de caracteres Contador de palavras e caracteres on-line gratuito Removedor de espaços e limpador de texto Conversor de maiúsculas/minúsculas