Compare a draft with the live page
Paste draft and production HTML locally to see material SEO changes before publishing.
Free, no signup. Compare a draft HTML export with the current live HTML you supply before approving a release.
1 MiB maximum per document. Oversized input is rejected in full; it is never silently shortened. Use HTML only—do not paste credentials, access tokens, personal data, or confidential source comments.
Runs entirely in your browser — nothing you paste is uploaded or stored. The tool does not fetch URLs, call AI, use credentials, persist input, or include source HTML in exports. Anonymous run-level outcome counters may be used for aggregate research; URLs, domains, IPs, and identifiers are never included, and no statistic is released below 100 runs.
Fabricated draft and live HTML
Regression: the draft removes one live hreflang declaration.
Changed: the title and heading outline differ.
Not evaluated: AI-crawler posture is not observable from the supplied HTML.
.html files. Inputs over 1 MiB are rejected.Saved targets, named lists, and recent check summaries remain only in this browser.
| Signal | Draft | Live | Result |
|---|
The parser scopes title, description, canonical, robots, hreflang, and JSON-LD evidence to the document head. Commented tags, script strings, and body-level decoys are ignored. HTML entities are decoded, JSON-LD object keys are normalized structurally, and heading levels plus text are compared as an ordered outline.
The result covers only the two supplied documents. It does not fetch a live URL, render JavaScript, inspect HTTP headers, read robots.txt, verify hreflang reciprocity, validate schema eligibility, or determine whether a release should proceed. Malformed or unavailable evidence remains not evaluated.
No. Supply each HTML document by pasting it or choosing a local .html file. Both documents and the comparison stay in this browser; neither page nor its contents are fetched or uploaded. A bounded anonymous usage ping may be sent after a run, but it contains no supplied HTML, URL, domain, IP, or identifier.
The row stays not evaluated. A missing or malformed head, malformed JSON-LD, and crawler posture that HTML cannot establish are not treated as matches.
The conservative regression label is reserved for removed observed evidence, removed hreflang declarations, a shorter heading outline or lost H1, and newly restrictive robots or crawler directives. Other differences are labeled changed for human review.
A pasted HTML document does not prove the site robots.txt policy or edge behavior for AI crawlers. The row is retained to make that evidence boundary explicit.
Exports contain only the normalized comparison rows and their states. They never include either pasted HTML document.
Upvote what you want most. New ideas can be submitted from the floating Feedback menu; requests appear here once approved, and the most-wanted rise to the top.
You won't be emailed about that request anymore.
Loading…
New requests are reviewed before they appear here.
Where this tool helps
Paste draft and production HTML locally to see material SEO changes before publishing.
Review normalized titles, descriptions, canonicals, and robots directives for accidental additions, removals, or changes.
Compare heading outlines and structured-data types to understand how the draft changes page meaning.
Share the observed differences and explicit not-evaluated states with editors, developers, or QA before launch.
Watch the full workflow
This browser-only tool compares two supplied H-T-M-L documents across titles, descriptions, canonicals, robots directives, hreflang, heading outlines, and structured data. I’ll run the fabricated example, explain matches, changes, regressions, and unavailable evidence, show exports and privacy boundaries, cover limitations, and outline a practical release-review workflow.
Use this tool before publishing a page or template change when you can export the planned H-T-M-L and the current live H-T-M-L. It is a local evidence diff, not a publication score.
Paste the complete draft and live documents or choose local dot H-T-M-L files. Each input has a one-mebibyte hard limit; oversized documents are rejected in full rather than silently truncated.
The tool does not fetch a U-R-L, call A-I, persist the inputs, or include source H-T-M-L in exports. Still remove credentials, tokens, personal data, and confidential comments before pasting.
Try an example loads two fabricated product-page documents and performs the real local comparison. The draft changes the title and heading, and removes one live hreflang declaration, so the output demonstrates several states.
The summary counts matches, changes, regressions, and not-evaluated rows. Start with regressions, then review changes. Counts do not predict rankings, traffic, or whether the release should proceed.
Regression is reserved for removed observed evidence, lost hreflang, shorter heading outlines or lost H-one, and newly restrictive robots or crawler directives. Confirm the change in publishing context before blocking a release.
Changed means both sides were evaluable and their normalized values differed without meeting a conservative regression rule. Titles and headings often change intentionally, so compare them with the brief and acceptance criteria.
Not evaluated covers malformed or unavailable document evidence and policies that supplied H-T-M-L cannot establish, such as A-I crawler posture. It never becomes a match or pass.
Rows compare head-scoped title, description, canonical, robots, hreflang, and J-S-O-N-L-D evidence plus the ordered heading outline. Commented tags, script strings, and body-level head decoys are ignored.
Download C-S-V or J-S-O-N rows for a release checklist. Exports contain only normalized comparison rows and their states, never either supplied source document.
The tool does not fetch live pages, render JavaScript, inspect response headers or robots dot txt, verify hreflang reciprocity, validate schema eligibility, or decide whether a release should proceed. It covers only the supplied documents.
Resolve real regressions, document intentional changes, attach exported rows to the checklist, then test the rendered page, response headers, redirects, crawl directives, structured data, international annotations, analytics, and critical user journeys.
Export or capture complete draft and live H-T-M-L, compare the normalized rows, and resolve conservative evidence-loss or restriction regressions before approval. Document intentional changes, export the rows into the release checklist, and validate rendering, response headers, robots policy, hreflang reciprocity, schema eligibility, and critical journeys separately.