Ordenador de Linhas

Ordene linhas alfabeticamente, por comprimento, em ordem inversa ou aleatória

Experimente um exemplo

Linhas de entrada

Linhas ordenadas

Roda localmente · Seguro para colar segredos
As linhas ordenadas aparecerão aqui…

O Que É Ordenação de Linhas?

Ordenação de linhas é o processo de reorganizar as linhas de um bloco de texto de acordo com uma regra específica: ordem alfabética, ordem inversa, comprimento da linha ou embaralhamento aleatório. Ordenar linhas online é uma tarefa comum ao trabalhar com arquivos de log, dados CSV, listas de configuração ou qualquer conteúdo em texto simples onde a ordem é importante. A operação divide o texto nos caracteres de nova linha, aplica uma função de comparação ao array resultante e reúne as linhas ordenadas.

A maioria das linguagens de programação ordena strings usando comparação lexicográfica por padrão, que compara caracteres pelos seus valores Unicode. Isso significa que letras maiúsculas são ordenadas antes das minúsculas ("Banana" antes de "apple"), e dígitos antes de letras. A ordenação com suporte a locale, às vezes chamada de ordenação natural ou collation, corrige isso aplicando regras específicas do idioma. O localeCompare() do JavaScript, o locale.strxfrm() do Python e o comando sort do POSIX com LC_COLLATE fornecem ordenação sensível ao locale.

Ordenar por comprimento é útil quando você precisa encontrar as entradas mais curtas ou mais longas de uma lista, identificar valores discrepantes em saídas de log ou organizar itens por complexidade. A ordenação inversa inverte a ordem existente das linhas sem reordenar, o que é diferente da ordenação alfabética Z-A. O embaralhamento aleatório atribui a cada linha uma chave de ordenação aleatória, produzindo uma ordem diferente a cada execução. Alternar entre modos com o mesmo texto de entrada é mais rápido do que escrever um script pontual.

Por Que Usar Este Ordenador de Linhas?

Cole seu texto, escolha um modo de ordenação e obtenha o resultado instantaneamente. Sem configuração de linha de comando, sem arquivos de script, sem instalação de pacotes.

Ordenação Instantânea
Os resultados aparecem enquanto você digita ou cola. Alterne entre seis modos de ordenação e compare as saídas sem precisar executar nada novamente.
🔒
Processamento com Privacidade em Primeiro Lugar
Toda a ordenação é feita no seu navegador com JavaScript. Seu texto permanece no seu dispositivo. Nada é enviado a um servidor ou registrado.
🔀
Seis Modos de Ordenação
A-Z, Z-A, menor primeiro, maior primeiro, ordem inversa e embaralhamento aleatório. Uma única entrada cobre as tarefas mais comuns de ordenação de linhas.
📋
Sem Cadastro Necessário
Abra a página e comece a ordenar. Sem cadastro, sem extensão, sem aplicativo. Funciona em qualquer dispositivo com um navegador moderno.

Casos de Uso do Ordenador de Linhas

Desenvolvimento Frontend
Ordene listas de classes CSS, declarações de importação ou chaves de tradução i18n em ordem alfabética. A ordenação consistente reduz conflitos de merge no controle de versão e agiliza as revisões de código.
Engenharia Backend
Ordene listas de dependências em package.json, requirements.txt ou go.mod antes de commitar. Ordene nomes de colunas SQL ao construir instruções CREATE TABLE ou comparar diffs de schema.
DevOps e Infraestrutura
Ordene nomes de variáveis de ambiente em arquivos .env, entradas de ConfigMap do Kubernetes ou blocos de variáveis do Terraform. A ordem alfabética facilita identificar duplicatas e valores ausentes durante a revisão.
QA e Automação de Testes
Ordene logs de saída de testes por timestamp ou mensagem para identificar falhas rapidamente. Randomize dados de entrada dos testes para verificar que o comportamento da aplicação não depende da ordem de inserção.
Engenharia de Dados
Ordene cabeçalhos CSV ou listas de colunas antes de escrever scripts de migração de schema. Ordene linhas de amostra de dados por comprimento para encontrar linhas truncadas ou valores incomumente longos em um pipeline de dados.
Estudantes e Aprendizes
Ordene listas de vocabulário, referências bibliográficas ou anotações de estudo em ordem alfabética. Embaralhe linhas de flashcards para sessões de revisão aleatória sem instalar um aplicativo separado.

Referência dos Modos de Ordenação

Esta ferramenta suporta seis modos de ordenação. A tabela abaixo descreve cada modo, o método de comparação utilizado e um exemplo de resultado para a lista de entrada: maçã, banana, cereja, tâmara, figo.

ModoDescriçãoMétodo JSExemplo de Saída
A-ZAlphabetical ascendinglocaleCompare()apple, banana, cherry
Z-AAlphabetical descendinglocaleCompare() reversedcherry, banana, apple
Length (short)Shortest line firsta.length - b.lengthfig, date, apple, banana
Length (long)Longest line firstb.length - a.lengthbanana, apple, date, fig
ReverseFlip line order, no reorderingArray.reverse()Last line becomes first
RandomRandomized comparator (biased)Math.random() - 0.5Different every run

Algoritmos de Ordenação por Trás das Cenas

Quando você chama Array.sort() em JavaScript, o motor V8 (Chrome, Node.js) usa Timsort desde 2019. Outros runtimes usam algoritmos diferentes. A tabela abaixo compara os algoritmos de ordenação mais comuns usados nas bibliotecas padrão das linguagens. Todos lidam com as cargas de trabalho de ordenação de linhas desta ferramenta em menos de um milissegundo para entradas típicas (menos de 100.000 linhas).

AlgoritmoUsado PorTempoObservações
TimsortPython, Java (Arrays.sort)O(n log n)Stable, fast on partially sorted data
QuicksortC stdlib, V8 (older)O(n log n)In-place, unstable by default
Merge sortMost stable-sort implementationsO(n log n)Stable, predictable, uses extra memory
IntrosortC++ std::sort, .NETO(n log n)Hybrid: quicksort + heapsort fallback
Radix sortFixed-length keys, integersO(nk)Non-comparative, linear for short keys

Exemplos de Código

Ordene linhas programaticamente em JavaScript, Python, Go e linha de comando. Cada exemplo abrange ordenação alfabética, por comprimento e inversa.

JavaScript
const text = `banana
apple
cherry
date
fig`

// Sort A-Z (locale-aware)
const az = text.split('\n').sort((a, b) => a.localeCompare(b)).join('\n')
// → "apple\nbanana\ncherry\ndate\nfig"

// Sort by line length, shortest first
const byLen = text.split('\n').sort((a, b) => a.length - b.length).join('\n')
// → "fig\ndate\napple\nbanana\ncherry"

// Reverse line order (no alphabetical sorting)
const reversed = text.split('\n').reverse().join('\n')
// → "fig\ndate\ncherry\napple\nbanana"

// Remove duplicates and sort
const unique = [...new Set(text.split('\n'))].sort().join('\n')
Python
text = """banana
apple
cherry
date
fig"""

lines = text.splitlines()

# Sort A-Z (case-insensitive)
az = sorted(lines, key=str.lower)
# → ['apple', 'banana', 'cherry', 'date', 'fig']

# Sort by line length
by_len = sorted(lines, key=len)
# → ['fig', 'date', 'apple', 'banana', 'cherry']

# Reverse original order
rev = lines[::-1]
# → ['fig', 'date', 'cherry', 'apple', 'banana']

# Shuffle randomly
import random
random.shuffle(lines)  # modifies in place
Go
package main

import (
	"fmt"
	"sort"
	"strings"
)

func main() {
	text := "banana\napple\ncherry\ndate\nfig"
	lines := strings.Split(text, "\n")

	// Sort A-Z
	sort.Strings(lines)
	fmt.Println(strings.Join(lines, "\n"))
	// → apple\nbanana\ncherry\ndate\nfig

	// Sort by length
	sort.Slice(lines, func(i, j int) bool {
		return len(lines[i]) < len(lines[j])
	})
	fmt.Println(strings.Join(lines, "\n"))
	// → fig\ndate\napple\nbanana\ncherry
}
CLI (bash)
# Sort lines A-Z
sort file.txt

# Sort lines Z-A (reverse)
sort -r file.txt

# Sort numerically (first field)
sort -n data.txt

# Sort by line length (awk + sort + cut)
awk '{ print length, $0 }' file.txt | sort -n | cut -d' ' -f2-

# Shuffle lines randomly
shuf file.txt          # GNU coreutils
sort -R file.txt       # alternative (not truly uniform)

# Sort and remove duplicates
sort -u file.txt

Perguntas Frequentes

Qual é a diferença entre ordenação A-Z e ordenação natural?
A ordenação A-Z (lexicográfica) compara caracteres pelo valor do ponto de código Unicode. Isso significa que "item10" é ordenado antes de "item2" porque o caractere '1' tem um valor de código menor que '2'. A ordenação natural trata números embutidos como valores numéricos, então "item2" vem antes de "item10". Esta ferramenta usa ordenação lexicográfica sensível ao locale via localeCompare(), que trata corretamente caracteres acentuados mas não realiza ordenação natural em números.
Meu texto é enviado a um servidor quando ordeno as linhas?
Não. Toda a ordenação acontece no seu navegador usando o método Array.sort() do JavaScript. O texto nunca sai do seu dispositivo. Você pode verificar isso abrindo a aba Rede no DevTools do navegador e confirmando que nenhuma requisição é feita ao colar e ordenar o texto.
Quantas linhas esta ferramenta consegue processar?
A ferramenta funciona bem com dezenas de milhares de linhas. A implementação Timsort do JavaScript no V8 processa 100.000 linhas em menos de 100 milissegundos em hardware moderno. Para arquivos maiores que alguns megabytes, uma ferramenta de linha de comando como o sort do Unix é mais eficiente, pois pode usar merge sort baseado em disco e múltiplas threads.
Como funciona a ordenação sem distinção entre maiúsculas e minúsculas?
Esta ferramenta usa String.localeCompare() com a opção { sensitivity: 'base' }, que torna a comparação insensível a maiúsculas e minúsculas, de modo que "Maçã" e "maçã" sejam ordenados juntos em vez de em grupos separados. Por padrão, localeCompare() é sensível a maiúsculas e minúsculas; a opção explícita é necessária para o comportamento insensível. Se você precisar de ordenação estritamente sensível a maiúsculas onde letras maiúsculas vêm primeiro, o comando sort do Unix sem a opção -f oferece esse comportamento.
Posso ordenar linhas e remover duplicatas ao mesmo tempo?
Esta ferramenta ordena as linhas, mas não remove duplicatas. Para remover linhas duplicadas, use a ferramenta Removedor de Linhas Duplicadas na mesma categoria. Você pode ordenar o texto aqui primeiro e depois colar o resultado no removedor de duplicatas para obter uma lista limpa, única e ordenada.
Qual é a diferença entre ordenação inversa e ordenação Z-A?
A ordenação inversa inverte a ordem original das linhas: a última linha torna-se a primeira, a penúltima torna-se a segunda, e assim por diante. Nenhuma comparação alfabética é envolvida. A ordenação Z-A organiza as linhas em ordem alfabética decrescente independentemente de sua posição original. Se sua entrada já estiver ordenada A-Z, inversa e Z-A produzem o mesmo resultado, mas para entradas não ordenadas os resultados diferem.
Como ordeno linhas por uma coluna ou campo específico?
Esta ferramenta ordena pelo conteúdo completo da linha. Para ordenar por uma coluna específica (por exemplo, o segundo campo em um arquivo separado por tabulação), use o comando sort do Unix com a opção -k: sort -t$'\t' -k2,2 arquivo.txt. Em Python, divida cada linha e use uma função de chave: sorted(linhas, key=lambda x: x.split('\t')[1]).