Free tool · nothing to install

Duplicate post checker

Paste the versions of a post you plan to send to different groups. This tells you how similar they really are — and shows you the exact phrases they share, so you know what to rewrite. Runs entirely in your browser.

Too similar? Have the AI write the differences

Group Posting's content engine writes a genuinely distinct post per group — different opening, different angle, different length — instead of swapping words inside one skeleton. Free forever plan, no card.

Add to Chrome — it's free

How the similarity score works

This is standard near-duplicate detection, run locally on your text. It is worth understanding, because the number only means something if you know what it counts.

Each post is normalised — lowercased, punctuation stripped, whitespace collapsed — and then cut into overlapping three-word sequences called shingles. "I help local businesses grow" becomes i help local, help local businesses, local businesses grow. Two posts are then compared by Jaccard similarity: the number of shingles they share, divided by the total number of distinct shingles across both.

Three-word sequences are the useful unit here. Single words match far too easily — any two English sentences share "the" and "a" — while five-word sequences miss posts that are obviously the same but have one word swapped in the middle. Three catches reworded-but-identical text while ignoring incidental overlap. For very short posts the tool drops to two-word sequences automatically, because a forty-word post does not contain enough trigrams to compare meaningfully.

The shared-phrase list uses a different method: a word-level longest-common-run search that finds every sequence of four or more consecutive words appearing in both posts, then keeps the longest non-overlapping ones. That is what turns the score into something you can act on. A percentage tells you there is a problem; a list of the exact phrases tells you which sentences to rewrite.

Reading the score

These bands are our practical guidance, not Facebook policy. Meta does not publish a duplicate-content threshold, and anyone who tells you the exact number at which posts get flagged is guessing. What follows is calibrated on how a reader experiences repetition, which is the thing you can actually observe and the thing that determines whether your posting works.

Score What it means
Under 30%Genuinely different posts. Someone in three of your groups sees three pieces of content.
30–60%Recognisably the same message, differently written. Usually fine, and normal for posts about one offer.
60–80%The same post reworded. A reader who saw both in one day would notice.
Over 80%Functionally identical. Swapping a few words has not changed what this is.

Why this matters more than the technical question

People usually arrive at this question worried about being flagged. That is a reasonable worry, but it is the second-order problem. The first-order problem is simpler and entirely within your control: in any tight niche, the same people are in several of your groups.

If you post to fifteen local business groups in one city, a substantial share of the members of one are members of three or four others. Those are exactly the engaged, well-connected people you most want to reach — and they are the people who see your message three or four times. Whether the second sighting said "Hi" or "Hey" makes no difference to them. It reads as a broadcast, and broadcasts get scrolled past.

Fix that and the platform-level concern largely takes care of itself, because the behaviour that reads as spam to a person is broadly the behaviour that reads as spam to a system. Optimise for the reader and you do not need to reason about thresholds you cannot see.

How to get your score down

In rough order of how much difference each makes:

  1. Change the first sentence completely. The opening line is what most people read before deciding to scroll, and it is the highest-weighted part of any shingle comparison because it sets up everything after it.
  2. Lead with a different point. If version one opens with the problem and version two opens with the result, you have two posts. If both open with the problem and differ in the middle, you have one post twice.
  3. Change the length. A three-line post and a twelve-line post cannot score as near-duplicates however similar the vocabulary, and length is the difference a skim-reader registers first.
  4. Rewrite the phrases the tool highlighted. Mechanical, fast, and it moves the number immediately — but do this after the three above, not instead of them.
  5. Change the call to action. Lowest impact on the score, but it varies the part of the post people are most likely to have seen before.

A note on spintax

If you got here from a spinner, the score depends entirely on how heavily you spun. Spinning just the greeting and sign-off leaves variants sharing around 94% of their wording; spinning nearly every content word can drop that below 20%. But a low score from heavy spinning is bought by swapping words a person would not have swapped, and the structure, order and length stay identical either way — so it flatters the text more than it should. Our spintax generator shows both ends of that trade-off on your own text.

Duplicate content

Common questions

Will Facebook flag my posts as duplicates?
Meta does not publish a duplicate-content threshold, so nobody can tell you the exact number at which posts get flagged — and anyone who quotes one is guessing. What is reliable is the reader-level version of the question: if the same people are in several of your groups and they see near-identical text repeatedly, it reads as a broadcast and performs like one. Optimising for that generally handles the platform-level concern too.
How similar is too similar?
As practical guidance rather than platform policy: under 30% reads as genuinely different posts, 30–60% is the same message differently written and usually fine, 60–80% is one post reworded and a reader would notice, and over 80% is functionally identical. Aim to keep any pair that will reach overlapping audiences under 60%.
How is the similarity calculated?
Each post is lowercased, stripped of punctuation and cut into overlapping three-word sequences, then pairs are compared by Jaccard similarity — shared sequences divided by total distinct sequences. Three-word units are the sweet spot: single words match on "the" and "a", five-word units miss text with one word swapped in the middle. Very short posts drop to two-word units automatically. The shared-phrase list uses a separate word-level longest-common-run search for sequences of four or more words.
Is my text uploaded anywhere?
No. The whole comparison runs in your browser in JavaScript — there is no server call, nothing is stored, and nothing is logged. You can verify this by opening your browser's network tab and watching it stay empty while you type.
How do spintax variations score here?
It depends how heavily you spun, and the range is wide: spinning only the greeting and sign-off leaves variants sharing about 94% of their wording, while spinning nearly every content word can drop it below 20%. Treat a low score from heavy spinning with suspicion, though — it is bought by swapping words a person would not have swapped, and the structure, order of ideas and length are identical regardless. This tool measures vocabulary overlap, which is the part spintax can change; it cannot see the part spintax never touches.
How many posts can I compare at once?
Up to 25 in one run, separated by a line of three dashes. Every pair is compared, so 25 posts produces 300 comparisons — the matrix shows all of them and the summary surfaces the closest pair, which is the one worth fixing first.
Next steps