A free browser-based tool that sorts lines alphabetically, removes duplicates, shuffles, reverses, and filters any list of text instantly — 100% client-side, no login needed.

Text Line Sorter is a free, browser-based tool for sorting, filtering, and transforming any list of text lines in seconds. Paste a list, click a transform — results appear instantly. No signup, no install, no server. Everything runs in your browser.
You have a list. It might be a CSV column you copied into a text editor, a list of filenames from ls, keywords from a spreadsheet, or names someone sent you in a chat. You need to sort it, deduplicate it, or shuffle it.
Your options until now:
Text Line Sorter is the tool you'd want to find when you Google "sort lines online." Open it, paste, click, copy. Done.
Paste any list into the input box on the left. The tool accepts anything separated by newlines — words, phrases, filenames, URLs, code identifiers, CSV values, anything.
A live stats bar shows you input line count, unique line count, and empty line count as you type. Before you even click a transform, you can see: "I have 200 lines, 47 of them are duplicates, 3 are empty."
Ten transforms are available as one-click buttons:
Sort A→Z — Standard alphabetical ascending sort using locale-aware comparison. Works correctly for names, words, and phrases across languages.
Sort Z→A — Alphabetical descending.
Sort by Length ↑ — Shortest lines first. Useful for prioritising or skimming shorter items.
Sort by Length ↓ — Longest lines first.
Reverse — Flips the current order. If your list is already sorted, this un-sorts it. If you just shuffled, this reverses the shuffle.
Shuffle — Randomises line order using the Fisher-Yates algorithm for unbiased results. Each shuffle is independent.
Remove Duplicates — Keeps the first occurrence of each unique line, removes all subsequent ones. Case-sensitive.
Remove Empty Lines — Strips lines that are blank or contain only whitespace.
Trim Whitespace — Removes leading and trailing spaces from each line without changing content. Useful when lines were copied from a spreadsheet or document with padding.
Number Lines — Prefixes each line with its position (1. 2. 3. ...). Converts any unordered list into a numbered list instantly.
The output appears instantly in the right panel. Click Copy to put it on your clipboard. Use Re-use to push the output back into the input — handy for chaining transforms (e.g. Remove Duplicates, then Sort A→Z, then Number Lines).
All transforms run as pure functions in the browser:
sort-az / sort-za — Array.prototype.sort with localeCompare for locale-aware orderingsort-len-asc / sort-len-desc — sort by str.lengthreverse — Array.prototype.reverseshuffle — Fisher-Yates algorithm for unbiased random permutationdedup — Set to track seen lines, filter pass keeps first occurrenceremove-empty — filter for line.trim() !== ""trim — Array.prototype.map with str.trim()number-lines — map with index prefixNo external dependencies for the core logic. The entire transform pipeline is a switch statement over an enum — simple, predictable, easy to test.
Input and output are separate state values. Transforms are stateless functions that accept an array and return an array. The Re-use button is the only operation that moves output state back to input state, resetting both output and the last-transform highlight.
Copy a list of team member names, product categories, or error codes from a document. Click Sort A→Z. Copy. Paste back. Seconds.
Pull keyword lists from multiple sources, combine them, paste the merged list. Click Remove Duplicates. You now have a deduplicated keyword set without touching a spreadsheet.
You have a list of 20 questions and want to randomise their order for each participant. Paste, click Shuffle, copy. Done every time in under five seconds.
A CSV export leaves empty rows and lines with leading spaces. Click Remove Empty, then Trim Whitespace. Clean list in two clicks.
You have bullet points in a document and need them numbered. Paste, click Number Lines, copy back. No manual renumbering when you add or remove items.
Run ls or pull a URL list from a log. Paste into the tool. Sort A→Z or by length to find patterns. No awk, no sort command to remember.
Your changelog lists newest-first but you need oldest-first for a migration script. Click Reverse. Done.
sort Commandsort -u for dedup? -r for reverse? Just click the buttonText Line Sorter removes friction from list management:
Try it now: text-line-sorter.tools.jagodana.com
The client needed a robust developer tools solution that could scale with their growing user base while maintaining a seamless user experience across all devices.
We built a modern application using Text Processing and Productivity, focusing on performance, accessibility, and a delightful user experience.
Category
Developer Tools
Technologies
Date
May 2026
More work in Developer Tools