To sort text alphabetically in Microsoft Word, click inside a bulleted or numbered list, choose Home → Sort, set Sort by to Paragraphs, set Type to Text, pick Ascending or Descending, then click OK — the command works on any selected block of paragraph-separated text and needs no extra software. For lists that live outside Word — pasted from emails, exported from a tool, copied from a spreadsheet column, or pulled from a configuration file — a dedicated line sorter that runs in the browser offers more explicit controls for direction, case sensitivity, numeric order, trimming, empty-line removal, and exact duplicate removal, and it can handle up to 50,000 lines and 1,000,000 characters in a single pass. Both paths are local: Word rewrites the paragraphs in place, and the browser tool sorts the lines without uploading anything to a server. The choice depends on whether your list is already inside a Word document or you need browser-level controls that Word's Sort dialog does not expose, including the ability to download a clean UTF-8 text result for use elsewhere.

Sort a list inside Microsoft Word with the built-in Sort command
Microsoft Word ships with a Sort command on the Home tab that alphabetizes paragraph-separated text. It treats each paragraph as one item, so a bulleted or numbered list sorts cleanly and a selection of plain paragraphs also works as long as every paragraph is a complete entry. The command rewrites the selected paragraphs in place; nothing is saved to a separate file.
- Open the document and select the list to sort. If the list is bulleted or numbered with a single level, click any one item and Word selects the whole list automatically.
- Go to Home → Sort. If the ribbon is collapsed, expand the Editing group or click the Sort icon directly.
- In the Sort Text dialog, set Sort by to Paragraphs and Type to Text. Click Options only if you need to switch field separators or choose a different language.
- Choose Ascending (A to Z) or Descending (Z to A).
- Click OK. Word replaces the selected paragraphs with the sorted list immediately.
This path is fast when the data already lives inside Word and each item is one paragraph. It does not move text between paragraphs, does not parse numbers, and does not touch lists that mix paragraphs with inline content. It also does not give a preview before applying, so make a copy of the document first if the original order matters.
When Word's built-in sort is not enough
Word's Sort command reaches its limits quickly. It works only on selected paragraphs inside a Word document, so anything pasted from outside must first be turned into real Word paragraphs (separate lines with Enter, not soft line breaks inside a single paragraph). The dialog has no checkbox for case sensitivity, natural number order, trimming, empty-line removal, or duplicate removal — every one of those has to be done by hand or with Find and Replace before opening the dialog.
The dialog also offers no preview before sorting, no way to undo multiple operations at once, and no output file. Once you click OK, the original order is gone from the visible list, and Ctrl+Z is the only recovery path. For lists longer than a few hundred paragraphs the selection and the dialog both slow down, with no documented line-count or character-count ceiling to plan against.
When the list is text only — filenames, labels, a pasted email column, log entries, tags — sorting it inside Word wastes a conversion step. Pasting it into a tool that understands line-oriented text directly removes that step and adds the controls Word is missing, including case-sensitive toggles, numeric comparison, and an exact preview you can verify before saving.
Sort up to 50,000 lines with Text Sorter
For plain text outside Word, Text Sorter orders lines with documented, independent controls and runs entirely in the browser. The same accepted text with the same options produces the same line sequence, and the limit is 50,000 logical lines or 1,000,000 UTF-16 code units, whichever the input reaches first; over-limit input is rejected before sorting and no partial output is returned.
- Paste the line-oriented text to sort. Each line should be one complete entry. CRLF, standalone CR, and LF are all recognized, so text copied from Windows, classic Mac, or Unix sources sorts the same way.
- Choose direction, case and numeric comparison, then enable only the cleanup controls you want. Direction is ascending or descending. Case sensitivity and Natural number order are independent toggles. The three cleanup controls — Trim every line, Remove empty lines, and Remove exact duplicates — only fire when you turn them on, so the input's character content is preserved exactly when you leave them off.
- Sort the lines, verify the before-and-after counts and exact preview, then download the TXT result. The original logical line count and the final line count are both shown; a difference comes from empty-line or exact-duplicate removal, never from sorting itself. The preview is the actual result, not an estimate, and Download creates a temporary UTF-8 Blob only after a click and revokes it as soon as the browser starts the file transfer.
The two limits interact: at 1,000,000 characters total, an average line length of 20 characters would allow exactly 50,000 lines (1,000,000 ÷ 20 = 50,000); longer average lines reduce the maximum number of lines you can fit under the character cap. If the input approaches either limit, shorten the lines or remove duplicates first to stay under both.
What each Text Sorter control actually does
Every control in the tool does one thing and is documented separately. Knowing what each toggle changes prevents surprising output.
- Direction (Ascending / Descending). Ascending applies the collator from lower to higher order. Descending reverses the comparison result while keeping stable order for values that compare equal — it does not merely reverse a previously sorted array, because reversing would reorder equivalent entries.
- Case sensitivity. Off (default) treats letters that differ only by case as equivalent; on makes case participate in collation. The comparison still uses the browser's English Intl.Collator rather than raw Unicode code points, per the MDN Intl.Collator reference.
- Natural number order. On makes digit runs compare numerically, so file2 sorts before file10. Off treats the same digit runs as ordinary text under the same collator, which usually places file10 before file2. Natural sorting is useful for filenames and numbered labels but does not parse decimals, dates, versions, units, or signed expressions as structured data.
- Trim every line. Removes leading and trailing Unicode whitespace before any other cleanup or sorting runs. It does not collapse spaces inside a line, and it does not touch line-internal indentation unless you requested that.
- Remove empty lines. Runs after optional trimming. A whitespace-only line becomes empty and is removed only when both trimming and this control are active; without trimming, a line containing spaces is not empty.
- Remove exact duplicates. Runs after trimming and empty-line removal but before sorting. "Exact" means JavaScript string equality, so "Apple" and "apple" remain separate even when case-insensitive comparison treats them as equivalent. The first occurrence is kept; later exact copies are removed. No fuzzy matching or Unicode normalization is applied.
Changing any input or option clears the old output immediately, so a previous count cannot be confused with the new configuration.
Stable sort and identical lines
The sort is stable: when two lines compare as equal, they keep their original relative order in the output. This is consistent with the documented behavior of Array.prototype.sort on engines that guarantee stability, and Text Sorter implements it explicitly by using each line's pre-sort index as the tie-breaker. For a list of unique entries, stability is invisible. For a list that contains intentional or accidental duplicates, stability means earlier occurrences stay earlier in the output, which is the behavior you want when the input order carried meaning.
Stability also interacts with descending order. Descending reverses the comparison outcome for non-equal pairs, but it does not reverse equivalent entries — that would violate the stability rule. The visible effect is that, in descending output, every run of identical lines stays in its original relative order, regardless of how the duplicates came into the input.
Word built-in Sort vs Text Sorter at a glance
The two paths overlap on simple A-to-Z paragraph lists but diverge quickly once the input is unusual.
| Capability | Word built-in Sort | Text Sorter |
|---|---|---|
| Input source | Selected paragraphs inside a Word document | Any pasted plain text, line by line |
| Maximum size | Limited by Word document and selection size | 50,000 logical lines, 1,000,000 UTF-16 code units |
| Direction toggle | Ascending or Descending | Ascending or Descending |
| Case-sensitive comparison | Limited, depends on Word settings | Explicit on/off toggle |
| Natural number order | Not available | Explicit on/off toggle |
| Trim leading and trailing whitespace | Not available | Optional, per run |
| Remove empty lines | Manual | Optional, per run |
| Remove exact duplicates | Manual | Optional, per run |
| Preview before accepting | No | Yes, exact preview of full output |
| Output file | Rewrites the Word selection | Downloadable UTF-8 TXT |
| Line endings in output | Matches Word's paragraph endings | Always LF between sorted lines |
| Processing location | Local inside Word | Local inside the browser |
| Stable sort for equivalent lines | Yes | Yes (explicit index tie-breaker) |
Pick Word when the list is already a one-level list inside a Word document and you want the sorted version to live in the same file. Pick Text Sorter when the list is plain text, when you need any of the cleanup toggles, when natural number order matters, or when you want a downloadable result you can paste into a different tool.