Dividir Texto
Divide texto em pedaços por número de caracteres, palavras ou linhas. Útil para Twitter threads, mensagens longas e processamento por chunks.
Como funciona a divisão?
Escolha o critério (caracteres, palavras, linhas ou regex) e o tamanho de cada bloco. O texto é fatiado conforme o tamanho que você definiu, e palavras inteiras são mantidas quando a divisão é por caracteres ou por palavras.
Cada bloco sai numerado e com sua própria contagem. Dá para usar isso ao montar threads no Twitter/X, ao quebrar mensagens longas em SMS ou para processar texto em pedaços.
O processamento acontece todo no seu navegador.
Quando dividir um texto: limites de caracteres, organização e processamento por IA
Dividir um texto longo em pedaços menores parece trivial até você precisar fazer direito. Quando você tenta publicar um ensaio de 1.200 palavras num microblog, mandar um memorando por SMS, ou alimentar um PDF de 200 páginas em um modelo de linguagem, esbarra numa parede dura: todo canal tem tamanho máximo por mensagem, e todo algoritmo tem janela de contexto máxima. Um divisor transforma um bloco gigante de prosa em fragmentos bem formados que cabem nessas restrições sem perder sentido.
Existem três grandes motivos para dividir. Publicação: redes sociais, mensageiros e assuntos de e-mail impõem limites por mensagem, então textos longos viram threads ou partes. Consumo humano: um paredão é mais difícil de ler do que parágrafos curtos. Consumo por máquina: modelos de linguagem não leem documentos de tamanho arbitrário, então pipelines de RAG e geradores de embedding precisam dividir o material em pedaços que caibam na janela de contexto.
Limites comuns por plataforma
O limite padrão de post no X (antigo Twitter) continua em 280 caracteres para contas gratuitas, enquanto assinantes premium publicam até 25.000. URLs sempre contam como 23 caracteres, independente do tamanho real, porque o X encurta tudo no t.co, e emojis contam como dois caracteres cada. Quando você responde a outro post, a menção @ do destinatário não entra nos 280 caracteres.
SMS é mais sutil. Uma mensagem única carrega 160 caracteres em GSM-7 (alfabeto latino padrão, 7 bits por caractere) e apenas 70 em UCS-2 (Unicode, acionado assim que aparece qualquer emoji, aspa tipográfica ou caractere fora do alfabeto latino). Mensagens multi-segmento caem para 153 GSM-7 ou 67 UCS-2 por segmento, porque cada segmento reserva bytes para um cabeçalho que permite ao celular remontar a mensagem. Um único emoji pode transformar um SMS de 160 caracteres em uma mensagem UCS-2 de três segmentos e triplicar o custo.
WhatsApp não impõe limite que você bata no uso normal (teto técnico em torno de 65.536 caracteres), mas a UX impõe: acima de algumas centenas tudo colapsa atrás de um "Leia mais". Linhas de assunto de e-mail aparecem inteiras até uns 60 caracteres no celular. Instagram aceita 2.200; LinkedIn 3.000; YouTube 5.000.
Estratégias de divisão: caracteres, palavras, frases, parágrafos e marcadores
Existem várias formas de dividir, e a certa depende do que você vai fazer com os pedaços. Por número fixo de caracteres é o mais simples e previsível, mas corta palavra no meio se você não proteger a fronteira. Por palavras completas preserva integridade léxica. Por frase preserva unidades gramaticais, ideal para leitura humana. Por parágrafo preserva seções lógicas, mais seguro para prosa longa. Por marcador customizado, como quebra de linha dupla, controla as fronteiras explicitamente.
Para threads, a receita típica é "palavra completa, alvo 280 caracteres, deixe 6 a 10 de folga para o contador (1/n)". Para campanhas de SMS: "frase completa, alvo 153 caracteres, nunca dividir frase entre mensagens". Para ingestão em LLM, a estratégia dominante é divisão recursiva na maior fronteira significativa que ainda caiba, que é o que o RecursiveCharacterTextSplitter da LangChain implementa de fábrica.
Boas práticas para threads em redes sociais
Uma thread não é apenas um post longo picado em pedaços. O leitor vê cada tweet isoladamente, então cada fragmento precisa fazer sentido por si só. O primeiro post deve fisgar o leitor e anunciar a thread; o último deve fechar o argumento ou trazer uma chamada para ação. Numere os posts (1/8, 2/8, etc.) para que os leitores saibam quanto falta, e mantenha cada post abaixo do limite com folga para que a numeração não estoure o teto. Pesquisas de analytics mostram que threads de cinco a oito posts performam melhor no X, e que os posts individuais mais eficazes ficam entre 71 e 100 caracteres.
Chunking para LLMs: tamanho de chunk e overlap
Alimentar um documento longo em um modelo de linguagem é a razão moderna para usar um divisor de texto. Todo LLM tem janela de contexto medida em tokens (cerca de quatro caracteres em inglês por token). Você divide em chunks, embute cada um, armazena num banco vetorial, e em tempo de consulta recupera os mais relevantes como contexto do modelo.
Dois parâmetros dominam. chunk_size é o tamanho máximo de cada chunk em caracteres ou tokens; valores típicos vão de 200 a 1.500 caracteres. chunk_overlap é o número de caracteres que o fim de um chunk repete no início do próximo, para que uma frase que caia em cima de uma fronteira não fique órfã; overlap típico de 10 a 20 por cento do chunk_size. Chunks menores entregam recuperação mais barata e focada mas correm risco de perder contexto; chunks maiores preservam contexto mas diluem a resposta.
Split simples vs. RecursiveCharacterTextSplitter
O algoritmo mais simples divide por um único separador e fatia em baldes de tamanho fixo. Destrói prosa. O RecursiveCharacterTextSplitter da LangChain tenta uma lista de separadores em ordem, com o default ["\n\n", "\n", " ", ""], e só cai para um separador mais fino quando um chunk ainda está grande demais. Fronteiras de parágrafo são respeitadas quando possível, fronteiras de frase quando o parágrafo não cabe, fronteiras de palavra quando a frase não cabe, e fronteiras arbitrárias de caractere só como último recurso. Existem variantes especializadas para markdown, código e HTML, cada uma respeitando a estrutura natural do formato.
Erros comuns ao dividir texto
- Cortar palavra, URL ou hashtag no meio ao dividir por contagem fixa de caracteres.
- Esquecer que emojis contam como dois ou quatro bytes e silenciosamente trocam a codificação do SMS para UCS-2, cortando o limite por segmento pela metade.
- Esquecer o contador (1/n) ao orçar o tamanho de cada post, ficando 4 a 8 caracteres curto nos últimos posts de uma thread.
- Perder contexto entre chunks de LLM ao definir chunk_overlap igual a zero.
- Dividir JSON, CSV ou outros formatos estruturados com um splitter de prosa e quebrar a sintaxe.
- Assumir que contagem de caracteres é igual a contagem de bytes: um emoji pode ocupar um, dois, três ou quatro bytes em UTF-8.
FAQ
De que tamanho deve ser cada chunk para um LLM? Um ponto de partida comum é 1.000 caracteres com 200 caracteres de overlap, depois ajustar para cima ou para baixo conforme a qualidade das respostas observadas.
Meu emoji conta como um caractere ou dois no X? O X conta cada emoji como dois caracteres no limite de 280 do post, mesmo que o caractere seja logicamente um símbolo.
Por que meu SMS de 160 caracteres chega como três mensagens? Se o texto contém um emoji, uma aspa tipográfica ou um caractere fora do alfabeto latino, o gateway troca a codificação para UCS-2 e o limite por segmento cai de 153 para 67 caracteres.
Devo numerar todos os posts de uma thread? Sim, principalmente em threads de cinco posts ou mais; a numeração (1/8, 2/8, ...) ajuda o leitor a se localizar e sinaliza que a thread é finita.
Posso dividir markdown ou código com esta ferramenta? Pode, mas use um separador customizado que combine com sua estrutura (por exemplo uma linha em branco para markdown, ou duas quebras de linha para código) para não quebrar a sintaxe.
Divida um texto em partes
Tem hora que um texto não cabe inteiro onde você precisa colar. Pode ser o limite de uma rede social, uma mensagem comprida que vai ter que ir aos poucos, ou uma lista que você quer processar em blocos. A ferramenta corta o conteúdo do jeito que você mandar: por quantidade de caracteres, de palavras ou de linhas.
Serve bem para montar uma thread no Twitter/X sem estourar o limite de caracteres, picar uma mensagem longa para mandar em etapas ou separar o conteúdo em blocos do mesmo tamanho. Você escolhe o critério e o tamanho; o resto vem fatiado, cada pedaço pronto para copiar separadamente.
Nada do que você cola sai do navegador, o corte é feito ali mesmo. Cole o conteúdo, diga como dividir e copie parte por parte.
Ferramentas Relacionadas
Dividir String
Divida uma string em partes usando um delimitador personalizado (vírgula, ponto e vírgula, espaço, linha ou qualquer caractere).
Extrair Emails de Texto
Encontre e extraia todos os endereços de email de um texto ou página web copiada. Com opção de remover duplicatas. Processado no navegador.
Cortar Texto
Corte um texto até um limite de caracteres ou palavras. Com opção de adicionar reticências ao final. Ideal para resumos e previews.