Why Two Texts That Look the Same Don't Match
Zero-width spaces, non-breaking spaces, curly quotes, lookalike letters and accents stored two ways make…
Compare two texts and highlight added or removed words, lines and characters. Review edits and cleaning changes with clear comparison options.
The Text Compare tool shows exactly what differs between two versions of a text, and runs entirely in your browser.
Compare by lines for code, configuration files and lists, where a line is the unit that matters. Compare by words for prose, where a one-word edit should not mark a whole paragraph as rewritten. Compare by characters to find a single stray letter, digit or symbol. In line mode on shorter texts, a changed line that pairs with its replacement also has the words that changed marked inside it.
If two texts match only because something was ignored, the result says so, so a match is never mistaken for byte-for-byte identical.
Line endings. A text box in a web browser converts Windows line endings (CR LF) and old Mac ones (CR) to LF the moment text is pasted, so a file saved on Windows and the same file saved on Linux compare as identical here. If the line ending itself is what you need to check or change, use the Line Ending Converter.
Inside every change, a tab is drawn as →, a space at the end of a line as ·, and invisible characters are named in brackets — [ZWSP] for a zero-width space, [NBSP] for a non-breaking space. Characters are compared as they are displayed, so an accented letter written as a letter plus a combining accent counts as one character, and so does an emoji with a skin tone. Differences the eye cannot see are the usual reason two strings that look the same will not match. To remove them rather than just find them, use Text Cleaner, which can send its before-and-after straight back here.
The tool finds the smallest set of additions and removals that turns the first text into the second — the same goal as the diff programs developers use — with a method in the style of the Myers difference algorithm that keeps memory proportional to the size of the texts. Similarity is twice the unchanged pieces divided by all the pieces in both texts, so identical texts score 100% and texts with nothing in common score 0%. Each text can be up to 500,000 characters. Texts larger than about 20,000 characters together are compared in a background worker with a Cancel button, and a pair that is too different to compare finely is reported rather than left running.
A comparison tells you what differs, not which version is right or whether a change was intended. Text moved from one place to another appears as a removal where it was and an addition where it is now, because a difference is about order as well as content. Formatting such as bold or fonts is not compared — only the text.
Zero-width spaces, non-breaking spaces, curly quotes, lookalike letters and accents stored two ways make…
Compares two texts and highlights every added, removed and changed line or word, side by side.
Counts words, characters, sentences, paragraphs and reading time live as you type, using the…
Counts characters with and without spaces and shows live progress against Twitter, SMS, meta…
Counts sentences in any text and shows average sentence length, longest sentence and how many…
Counts paragraphs, shows the word count of each one and flags paragraphs that are too long for…
Counts total lines, non-empty lines, duplicate lines and the longest line in any pasted text…
Ranks every word in your text by how often it appears, with stop words removed and one-, two…
Shows how often each letter, digit and symbol appears in your text, with counts and percentages.
Counts vowels, consonants, digits and spaces separately and shows the vowel-to-consonant ratio…
Counts syllables in words, lines and whole texts — useful for haiku, lyrics, poetry metre and…