Ordenador de Líneas

Ordena líneas alfabéticamente, por longitud, en orden inverso o de forma aleatoria

Prueba un ejemplo

Líneas de entrada

Líneas ordenadas

Se ejecuta localmente · Es seguro pegar secretos
Las líneas ordenadas aparecerán aquí…

¿Qué es la ordenación de líneas?

La ordenación de líneas es el proceso de reorganizar las líneas de un bloque de texto según una regla específica: orden alfabético, orden inverso, longitud de línea o una mezcla aleatoria. Ordenar líneas en línea es una tarea habitual al trabajar con archivos de registro, datos CSV, listas de configuración o cualquier contenido de texto plano donde el orden importa. La operación divide el texto por los caracteres de nueva línea, aplica una función de comparación al array resultante y une de nuevo las líneas ordenadas.

La mayoría de los lenguajes de programación ordenan cadenas usando comparación lexicográfica por defecto, que compara los caracteres por sus puntos de código Unicode. Esto significa que las letras mayúsculas se ordenan antes que las minúsculas («Banana» antes que «apple»), y los dígitos antes que las letras. La ordenación con reconocimiento de configuración regional, a veces llamada ordenación natural o cotejamiento, corrige esto aplicando reglas específicas del idioma. localeCompare() de JavaScript, locale.strxfrm() de Python y el comando POSIX sort con LC_COLLATE ofrecen ordenación con reconocimiento regional.

Ordenar por longitud es útil cuando necesitas encontrar las entradas más cortas o más largas de una lista, identificar valores atípicos en la salida de registros u organizar elementos por complejidad. La ordenación inversa voltea el orden existente de las líneas sin reordenarlas, lo cual es diferente a la ordenación alfabética de Z a A. La mezcla aleatoria asigna a cada línea una clave de ordenación aleatoria, produciendo un orden diferente en cada ejecución. Cambiar entre modos con la misma entrada es más rápido que escribir un script puntual.

¿Por qué usar este ordenador de líneas?

Pega tu texto, elige un modo de ordenación y obtén el resultado al instante. Sin configuración de línea de comandos, sin archivos de script, sin instalar paquetes.

Ordenación instantánea
Los resultados aparecen mientras escribes o pegas. Cambia entre seis modos de ordenación y compara el resultado sin volver a ejecutar nada.
🔒
Procesamiento con privacidad garantizada
Toda la ordenación se ejecuta en tu navegador con JavaScript. Tu texto permanece en tu dispositivo. No se sube nada a ningún servidor ni se registra.
🔀
Seis modos de ordenación
A-Z, Z-A, el más corto primero, el más largo primero, orden inverso y mezcla aleatoria. Una sola entrada cubre las tareas de ordenación de líneas más comunes.
📋
Sin registro de cuenta
Abre la página y empieza a ordenar. Sin registro, sin extensión, sin aplicación de escritorio. Funciona en cualquier dispositivo con un navegador moderno.

Casos de uso del ordenador de líneas

Desarrollo frontend
Ordena listas de clases CSS, sentencias de importación o claves de traducción i18n alfabéticamente. Un orden consistente reduce los conflictos de fusión en el control de versiones y agiliza las revisiones de código.
Ingeniería backend
Ordena las listas de dependencias en package.json, requirements.txt o go.mod antes de hacer commit. Ordena los nombres de columnas SQL al construir sentencias CREATE TABLE o comparar diferencias de esquema.
DevOps e infraestructura
Ordena los nombres de variables de entorno en archivos .env, entradas de ConfigMap de Kubernetes o bloques de variables de Terraform. El orden alfabético te permite detectar duplicados y valores faltantes durante la revisión.
QA y automatización de pruebas
Ordena los registros de salida de pruebas por marca de tiempo o mensaje para aislar fallos rápidamente. Aleatoriza los datos de entrada de pruebas para verificar que el comportamiento de la aplicación no depende del orden de inserción.
Ingeniería de datos
Ordena cabeceras CSV o listas de columnas antes de escribir scripts de migración de esquemas. Ordena líneas de muestra de datos por longitud para encontrar filas truncadas o valores inusualmente largos en un pipeline de datos.
Estudiantes y aprendices
Ordena listas de vocabulario, entradas bibliográficas o notas de estudio alfabéticamente. Mezcla líneas de tarjetas de memoria para sesiones de repaso aleatorias sin instalar una aplicación separada.

Referencia de modos de ordenación de líneas

Esta herramienta soporta seis modos de ordenación. La tabla a continuación describe cada modo, el método de comparación que utiliza y un resultado de ejemplo para la lista de entrada: apple, banana, cherry, date, fig.

ModoDescripciónMétodo JSEjemplo de salida
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 ordenación en segundo plano

Cuando llamas a Array.sort() en JavaScript, el motor V8 (Chrome, Node.js) usa Timsort desde 2019. Otros entornos de ejecución utilizan algoritmos diferentes. La tabla a continuación compara los algoritmos de ordenación más comunes usados en las bibliotecas estándar de los lenguajes. Todos gestionan las cargas de trabajo de ordenación de líneas de esta herramienta en menos de un milisegundo para entradas típicas (menos de 100.000 líneas).

AlgoritmoUsado porTiempoNotas
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

Ejemplos de código

Ordena líneas programáticamente en JavaScript, Python, Go y la línea de comandos. Cada ejemplo cubre la ordenación alfabética, por longitud y en orden inverso.

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

Preguntas frecuentes

¿Cuál es la diferencia entre la ordenación A-Z y la ordenación natural?
La ordenación A-Z (lexicográfica) compara caracteres por su punto de código Unicode. Esto significa que «item10» se ordena antes que «item2» porque el carácter '1' tiene un punto de código menor que '2'. La ordenación natural trata los números incrustados como valores numéricos, por lo que «item2» aparece antes que «item10». Esta herramienta usa ordenación lexicográfica con reconocimiento regional mediante localeCompare(), que maneja correctamente los caracteres acentuados pero no realiza ordenación natural sobre números.
¿Se envía mi texto a un servidor cuando ordeno líneas?
No. Toda la ordenación ocurre en tu navegador usando el método Array.sort() de JavaScript. El texto nunca abandona tu dispositivo. Puedes verificarlo abriendo la pestaña Red en las DevTools del navegador y confirmando que no se realizan peticiones al pegar y ordenar texto.
¿Cuántas líneas puede manejar esta herramienta?
La herramienta funciona bien con decenas de miles de líneas. La implementación de Timsort de JavaScript en V8 procesa 100.000 líneas en menos de 100 milisegundos en hardware moderno. Para archivos de varios megabytes, una herramienta CLI como el comando Unix sort es más eficiente porque puede usar ordenación por mezcla en disco y múltiples hilos.
¿Cómo funciona la ordenación sin distinción entre mayúsculas y minúsculas?
Esta herramienta usa String.localeCompare() con la opción { sensitivity: 'base' }, que hace la comparación insensible a mayúsculas y minúsculas para que «Apple» y «apple» se ordenen juntos en lugar de en grupos separados. Por defecto, localeCompare() distingue mayúsculas de minúsculas; la opción explícita es necesaria para el comportamiento insensible. Si necesitas una ordenación estricta que distinga mayúsculas, donde las letras mayúsculas van primero, el comando Unix sort sin el indicador -f ofrece ese comportamiento.
¿Puedo ordenar líneas y eliminar duplicados al mismo tiempo?
Esta herramienta ordena líneas pero no elimina duplicados. Para eliminar líneas duplicadas, usa la herramienta Eliminador de líneas duplicadas de la misma categoría. Puedes ordenar tu texto aquí primero y luego pegar el resultado en el eliminador de duplicados para obtener una lista limpia, única y ordenada.
¿Cuál es la diferencia entre la ordenación inversa y la ordenación Z-A?
La ordenación inversa voltea el orden original de las líneas: la última línea pasa a ser la primera, la penúltima pasa a ser la segunda, y así sucesivamente. No se realiza ninguna comparación alfabética. La ordenación Z-A organiza las líneas en orden alfabético descendente independientemente de su posición original. Si tu entrada ya está ordenada de A a Z, invertir y Z-A producen el mismo resultado, pero para entradas sin ordenar los resultados difieren.
¿Cómo ordeno líneas por una columna o campo específico?
Esta herramienta ordena por el contenido completo de la línea. Para ordenar por una columna específica (por ejemplo, el segundo campo en un archivo separado por tabuladores), usa el comando Unix sort con el indicador -k: sort -t$'\t' -k2,2 file.txt. En Python, divide cada línea y usa una función de clave: sorted(lines, key=lambda x: x.split('\t')[1]).