All tools Text counter and list cleanup How to use this tool Choose Count original text, Remove duplicate lines or Sort lines. For list operations choose comparison, trimming and empty-line behavior.
Paste text or a line-separated list, or choose Load example. Empty text is valid for counting and cleanup.
Select Process text or list. Review the report or cleaned list before copying or downloading it.
Scope and limits Maximum 100,000 UTF-16 characters and 10,000 logical CRLF, LF or CR lines. Empty input has zero lines; a terminal line break does not create an extra record. Cleanup normalizes line breaks to LF and preserves a terminal break when output rows remain.
Counts report original UTF-16 code units, Unicode code points, UTF-8 bytes, logical lines and line breaks. Grapheme counts use Intl.Segmenter and can vary with the browser Unicode version; no word or reading-time estimate is claimed.
Duplicate removal keeps the first matching original spelling after optional trim. Sorting is stable Unicode code-point lexical order, not natural-number, language-aware or locale dictionary order. Lowercase comparison is Unicode toLowerCase; it is not full case folding and performs no Unicode normalization.
Inputs start empty. Load example fills them only when you choose it. Reset clears every text field and output. Cancel stops the worker and keeps your input.
Processing runs locally. This tool does not upload or autosave your input. The site can load consent-controlled third-party services; use nonsensitive test input and keep passwords, tokens and personal records out of these fields.
Enable JavaScript to calculate results. The worked example and limits below remain readable. Worked example Input and settings Apple
apple
Banana
Apple
Operation: Remove duplicate lines
Comparison: lowercase forms Result Apple
Banana
The first spelling wins. Apple and apple compare equal after lowercasing, so the original first Apple is retained. The input terminal newline is preserved in cleanup output.