UtilityToolsLab

© 2026 UtilityToolsLab. Built and maintained by the UtilityToolsLab Team.

Free eBooks·About·Changelog·Privacy Policy·Terms of Service·Report a bug
HomeWriting & EditingText Similarity

Related Tools

Speech to TextText to SpeechKeyword ExtractorStyle Checker

Text Similarity & Overlap Comparator

Compare two documents with cosine, Jaccard and character edit-distance scores, plus the words unique to each side and every phrase they share.

You Might Also Like

All Writing & Editing

Speech to Text

Dictate into a live transcript using your microphone and browser's Web Speech API. Supports 20 languages, punctuation chips, editing, copy and download.

Text to Speech

Convert typed or pasted text into spoken audio using your browser's built-in voices, with adjustable rate, pitch, volume, and live word highlighting.

Keyword Extractor

Extract the top single words or 2- and 3-word phrases from any text, ranked by frequency and share, with adjustable stopword and length filters.

Style Checker

Highlights passive voice, hedges, -ly adverbs, nominalisations, filler phrases and sentences past 25 words in your own draft, colour-coded and counted.

Two documents can be similar in at least three different ways, and the three measures rarely agree with each other. Text Similarity & Overlap Comparator runs all of them at once: cosine similarity over word-frequency vectors, the Jaccard index over unique word sets, and a character-level edit-distance ratio. Paste a document into each panel and the three numbers appear together, with a headline score and a verdict band drawn from the cosine figure.

Underneath the scores sits the part that explains them. One column lists the words both texts share, another the words only Text A uses, a third the words only Text B uses. A separate panel collects every run of consecutive words appearing verbatim in both texts — the phrases that make two drafts feel like one document even after somebody rewrote half of it.

Nothing is uploaded. Both texts stay inside the browser tab, which matters when the two things you are holding up against each other are a contract draft and its revision.

Worked Example: Two Drafts of a Refund Policy

Press Load Sample and both panels fill with successive revisions of a store refund policy. Text A opens “Refunds are issued to the original payment method within 14 business days of the returned item arriving at our warehouse.” Text B carries the same opening with one number changed. At the default settings the scores read 90.6% cosine, 74.6% Jaccard and 78.3% edit ratio, tipping just past the 90% threshold into the Near-identical band.

The breakdown is where the edit shows up. Text A holds 57 words against Text B’s 72, they share 44 unique words, and exactly two words belong to Text A alone: 14 and unless. That pair is the whole revision. The deadline dropped from 14 days to 7, and the sentence that once withheld shipping charges unless the item arrived damaged now refunds them outright. A line-by-line diff would show you the same edit; the scores tell you how much of the document it moved, which is the question you are usually asking.

What Each Comparison Setting Changes

  • Ignore case (on by default): folds both texts to lowercase before tokenizing, so Warehouse and warehouse count as one word rather than two.
  • Ignore punctuation (on by default): strips everything that is not a letter, digit, space or apostrophe. Turn it off when comparing code or markup, where brackets and semicolons carry meaning.
  • Ignore common words (off by default): drops the 70 function words such as the, and and of before scoring. This is the setting most people miss, and it is the honest one: on the refund-policy sample it barely moves cosine (90.6% to 89.7%) but cuts shared 3-word phrases from 45 down to 27, revealing how much of the apparent overlap was grammatical filler rather than shared content.
  • Shared phrase length (2, 3, 4 or 5 words): sets the window for the verbatim-phrase panel. Longer windows find fewer, more damning matches; a 5-word run repeated in both texts is hard to explain as coincidence.
  • Swap A ↔ B: exchanges the two panels. Every score is symmetric so the numbers do not budge, but the two only in columns trade places, which is quicker than re-pasting when you loaded the documents the wrong way round.

The Three Formulas Behind the Score

  • Cosine similarity builds a term-frequency vector for each text and divides their dot product by the product of their magnitudes. Repetition counts, and length does not: a 300-word article and a 900-word article on the same subject in the same vocabulary still score high. This is the headline number.
  • Jaccard index ignores frequency entirely and divides the size of the shared vocabulary by the size of the combined vocabulary. It runs lower than cosine on almost every real pair, because one text using a word forty times and the other using it once still counts as a single shared entry.
  • Edit-distance ratio is Levenshtein distance over the normalized characters, expressed as 1 − distance / longest. It is the strictest of the three and the only one that notices word order. Because the algorithm is O(n·m), it is skipped above 3,000 characters per side and the card shows a dash instead; cosine and Jaccard keep running on the full 20,000-character input.

Not a Substitute for a Plagiarism Database

This tool compares the two texts you paste and nothing else — there is no web index behind it and no corpus lookup. A 95% score means those two documents are close, not that either was copied from somewhere; a 4% score means they differ from each other, not that either is original. Real plagiarism detection needs a repository to search against, which is a server-side product and a different tool.

Leave a panel blank and no scores appear at all. You get “Paste text into both panels — a similarity score needs two documents to compare.” instead, because a similarity ratio against an empty document is zero by definition and tells you nothing.

353/20,000 chars · 57 words counted

430/20,000 chars · 72 words counted

Comparison Settings

Shared phrase length

Overall similarity

90.6%

Near-identical

Cosine

90.6%

word-frequency vectors

Jaccard

74.6%

unique word sets

Edit ratio

78.3%

character level

Word Overlap

Shared (44)

theareoriginalitemitemsnotaccompaniedandarrivedarrivingatattachedbebusinessbychargesdamageddayseligiblefinalforfromissuedmarkedmethodmustoforderourpacking+14 more

Only in A (2)

14unless

Only in B (13)

or7confirmationemailfullinnumbersentsizewaswhenwrongyour
Shared 3-Word Phrases (45)
  • attached and accompanied
  • original payment method
  • return shipping charges
  • returned item arriving
  • original packing slip
  • payment method within
  • shipping charges from
  • item arrived damaged
  • the original packing
  • the original payment
  • warehouse items must
  • eligible for return
  • for return shipping
  • our warehouse items
  • accompanied by the
  • and accompanied by
  • items marked final
  • original order are
  • refunds are issued
  • the original order
  • with tags attached
  • from the original
  • sale items marked
  • tags attached and
  • the returned item
  • +20 more in the copied report