Result
This page has no server side at all. The table you paste is parsed by JavaScript inside your own browser, the chart is drawn on a canvas element on your machine, and the export file is assembled locally. Nothing is uploaded, stored or written to any log. You can disconnect from the network after the page has loaded and everything will still work — which is the simplest way to verify the claim yourself.
Facts and limits of this method
| Method | Jaccard index on word sets: shared words divided by all distinct words across both texts |
|---|---|
| Tokenization | Words are runs of non-whitespace characters, split on spaces, tabs and line breaks |
| Case handling | Both texts are lowercased before comparing, so "Growth" and "growth" count as the same word |
| Duplicates | Each word is counted once per text — repeating a word does not change the score |
| Word order | Ignored entirely — only which words appear matters, not their sequence |
| Score range | 0% for no shared words up to 100% for identical word sets |
When it misleads you
- This is word-SET similarity, not phrase or sentence similarity: two texts using exactly the same words in a completely different order score 100%, even if their meaning is different. That is a real limitation of the method, not a bug.
- Punctuation attached to a word is part of the token: "growth," and "growth" are counted as two different words unless you strip punctuation before pasting the text in.
- The score does not account for word frequency or importance — a text repeating one word one hundred times is compared exactly the same as if that word appeared once, since duplicates collapse into a single set entry.
- Very short texts can swing to 0% or 100% from a single word difference, since the union and intersection sizes are both small — the score is far more stable and meaningful on longer, sentence- or paragraph-length texts.
How it is calculated
Both texts are lowercased and split into words on any run of whitespace, then each text's word list is turned into a set of unique words — duplicate words inside one text collapse to a single entry.
"Words in common" is the intersection of the two sets: words that appear in both text A and text B, regardless of how many times or where.
"Words only in A" and "words only in B" are the words present in one set but absent from the other; together with the shared words, they make up the union of the two texts' vocabularies.
The similarity percentage is the Jaccard index: the number of shared words divided by the total number of distinct words across both texts, shown as a percentage with one decimal place.
Questions and answers
Why do two texts with the same words in different order score 100%?
Because the method compares word SETS, not sequences — it only checks which words appear, never their order. If word order matters for your use case, this score is not the right tool for that.
Does capitalization affect the score?
No. Both texts are lowercased before comparison, so "Report" and "report" are treated as the same word.
Does repeating a word increase the similarity score?
No. Each word is counted once per text regardless of how many times it appears, so repetition inside one text has no effect on the score.
What counts as 0% and what counts as 100%?
0% means the two texts share no words at all; 100% means both texts contain exactly the same set of unique words, even if the word counts or order differ.
Is either text uploaded anywhere?
No. Everything runs in your browser; neither text is ever sent to a server.