Ferramenta para Remover Quebras de Linha
Remova rapidamente quebras de linha do texto com vários modos de processamento
Selecionar Modo de Processamento
O que é Remover Quebras de Linha?
Remover quebras de linha é o processo de manipular ou excluir caracteres de quebra de linha (\n, \r\n) no texto. Usos comuns incluem: mesclar múltiplas linhas em uma, limpar linhas em branco extras, substituir quebras por espaços, etc. Útil para minificação de código, formatação de texto, limpeza de dados e outros cenários. Ao remover quebras de linha, importa saber se parágrafos devem ser unidos com espaços ou colados diretamente. Trechos CSV, logs, artigos copiados, prompts, fragmentos de código e textos de formulário podem exigir regras diferentes. Remover quebras sem cuidado pode juntar palavras, destruir listas, mudar significado ou dificultar leitura de dados estruturados. Antes de enviar texto importante, compare com o original e decida se linhas vazias, indentação e limites de parágrafo devem ser preservados.
Como Usar
Como usar
- Digite ou cole o texto que deseja processar na caixa de entrada à esquerda
- Selecione um modo de processamento (Remover Todas as Quebras de Linha, Quebras de Linha para Espaços, etc.)
- O resultado aparecerá automaticamente à direita com visualização em tempo real
- Clique em 'Copiar' para copiar o resultado, ou clique em 'Trocar' para usar o resultado como entrada para processamento adicional
Dicas de Limpeza de Texto
- Escolha Quebras de Linha para Espaços quando as palavras devem permanecer separadas; remover todas as quebras pode juntar palavras ou campos acidentalmente.
- Para dados estruturados como CSV, código ou endereços, visualize o resultado antes de copiar, pois as quebras de linha podem ter significado.
Casos de uso
Princípio técnico
Cada modo é uma chamada a String.prototype.replace com uma expressão regular global. Remover-tudo usa /[\r\n]+/g e substitui pela string vazia; quebras-para-espaços usa /[\r\n]+/g e substitui por um único ' '; mesclar-vazias usa /(\r?\n){2,}/g e substitui por '\n\n' para colapsar três ou mais quebras de linha em uma linha em branco; remover-vazias faz split em /\r?\n/, filtra entradas cujo trim resulta em vazio e rejoin com '\n'. A forma de classe de caracteres [\r\n] é deliberada porque os três finais de linha clássicos — CRLF (\r\n, Windows desde o DOS), LF (\n, Unix e macOS moderno) e CR isolado (\r, Mac OS clássico até o System 9) — devem ser absorvidos mesmo quando aparecem misturados no mesmo arquivo (um artefato comum de copiar e colar entre plataformas ou editar um arquivo Unix no Notepad). Existem dois pontos de quebra Unicode adicionais, mas são raros na prática: U+2028 LINE SEPARATOR e U+2029 PARAGRAPH SEPARATOR, definidos pelo algoritmo de quebra de linha Unicode UAX #14 e reconhecidos por literais de string JavaScript desde o ES2019. A ferramenta atualmente os trata como caracteres comuns, o que corresponde ao que a maioria dos usuários espera ao colar de um aplicativo de chat. O BOM (U+FEFF) no início de um arquivo UTF-8 também é passado sem alterações — remova-o separadamente se o parser downstream for estrito. A atualização em tempo real é conduzida por um par React useState/useMemo: um textarea controlado escreve a entrada, o memo recalcula o resultado a cada tecla digitada, e a reconciliação do React apenas repinta o painel de saída. Como a substituição por regex em strings de até algumas centenas de KB completa em menos de um milissegundo no V8 moderno, não é necessário debounce; para entradas de vários megabytes o custo ainda fica bem abaixo do orçamento de 16 ms por quadro a 60 Hz.
- Remover-tudo: text.replace(/[\r\n]+/g, '') — colapsa sequências de quebras de linha em nada, adequado para literais de string JSON e valores .env
- Quebras-para-espaços: text.replace(/[\r\n]+/g, ' ') — preserva limites de palavras de parágrafos quebrados sem duplicar espaços
- Mesclar-vazias: text.replace(/(\r?\n){2,}/g, '\n\n') — comprime sequências de linhas vazias em uma única linha em branco, preservando o ritmo dos parágrafos
- Remover-vazias: split(/\r?\n/).filter(l => l.trim() !== '').join('\n') — mantém as linhas de conteúdo e normaliza os finais para LF em uma única passagem
- Zoológico de finais de linha: CRLF (Windows \r\n, originalmente retorno de carro + alimentação de linha da máquina de escrever), LF (Unix \n desde a década de 1970), CR (Mac clássico até o System 9) — a classe de caracteres [\r\n] captura os três; U+2028 e U+2029 do UAX #14 são reconhecidos por literais de string ES2019 mas são raros na entrada do usuário
- BOM (U+FEFF) no início do arquivo é deixado intocado — remova-o com text.replace(/^\uFEFF/, '') se a próxima etapa for um parser JSON ou CSV estrito
- O core.autocrlf=true do Git normaliza CRLF↔LF no checkout — use esta ferramenta quando o arquivo já chegou na sua máquina com os finais errados e o Git não detectou
Exemplos
Organização de texto copiado de PDF
Original: Est e é
de PDF
conteúdo
copiado
Depois: ÉdePDFconteúdocopiadoExemplo de compactação de código
Original: function hello() {
return 'world';
}
Compactado: function hello(){return 'world';}Organização de parágrafos de artigos
Remova linhas em branco extras preservando o espaçamento entre parágrafos para uma formatação de artigo limpa e padronizadaPerguntas frequentes
Quais tipos de quebras de linha são removidos?
Todas as três convenções de fim de linha: LF (\n, Unix/macOS), CRLF (\r\n, Windows) e CR (\r, Mac clássico). A saída é uma única linha. Opcionalmente também remove ou normaliza tabs, múltiplos espaços e outros caracteres de espaço em branco.
Ele preserva o espaçamento entre parágrafos?
Ative 'colapsar para um único espaço' para substituir cada quebra de linha por um espaço. Ative 'remover totalmente' para concatenar sem nada. Para parágrafos com linhas em branco, você também pode optar por manter as quebras de parágrafo (uma quebra de linha) e remover apenas as quebras de linha dentro dos parágrafos — comum ao desfazer quebras de texto colado de PDF.
Por que meu texto colado tem quebras visíveis que não consigo remover?
Provavelmente são quebras de linha suaves ou separadores invisíveis como U+2028 (LINE SEPARATOR) ou U+0085 (NEL). Ative 'remover todos os separadores de espaço em branco' (uma opção que reconhece Unicode) em vez da remoção simples de quebras de linha. Algumas cópias de PDF também incluem espaços de largura zero — ative 'remover caracteres invisíveis'.
Em que isso difere de um join de texto em código?
É a mesma operação, apenas visual. A página faz o que `text.replace(/\r?\n/g, ' ').trim()` faria em JavaScript. Se você está programando, faça em código; se está limpando uma colagem pontual, faça aqui.
Ele remove espaços em branco no final e espaços duplos?
Sim, se você ativar 'colapsar múltiplos espaços' — útil quando o original usava vários espaços para alinhamento. Espaços em branco no fim de cada linha são removidos antes da concatenação.
Funciona com texto CJK?
Sim. Quebras de linha em torno de caracteres chineses/japoneses são removidas sem inserir espaços ocidentais por padrão — a pontuação do leste asiático não usa espaços entre os caracteres. Ative a opção 'preservar espaçamento entre palavras' se seu texto mistura inglês e CJK.
Meu texto é enviado para a internet?
Não. A substituição roda no seu navegador. Texto colado não é transmitido.