Pre-publish Comparison
Free, no signup. Compare a draft HTML export with the current live HTML you supply before approving a release.
Supply both HTML documents
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.
Sample report
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.
How to use it
- Export or view the complete HTML for the draft and current live page.
- Paste both documents or choose two local
.htmlfiles. Inputs over 1 MiB are rejected. - Compare the normalized signal rows. Investigate regressions first, then confirm whether each changed row is intentional.
- Download CSV or JSON rows for a release checklist. The exports omit the supplied source HTML.
Site passport Local context for this saved site
Local data
Saved targets, named lists, and recent check summaries remain only in this browser.
| Signal | Draft | Live | Result |
|---|
Rate this tool
How it works
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.
Limits
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.
Frequently asked questions
Does this fetch either page?
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.
What happens when a signal cannot be evaluated?
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.
What counts as a regression?
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.
Why is AI-crawler posture not evaluated?
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.
What does an export contain?
Exports contain only the normalized comparison rows and their states. They never include either pasted HTML document.
Feature requests for Prepublish Comparison
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…
➕ Request a feature
New requests are reviewed before they appear here.
À propos de l’outil
Comparez localement le HTML d’un brouillon et celui d’une page en ligne afin de repérer les différences de signaux avant publication.
Fonctionnalités
- Comparez les titres, descriptions, canoniques, directives robots, hreflang, plans de titres et données structurées.
- Importez deux documents HTML par collage ou depuis des fichiers locaux.
- Examinez les états match, changed, regression et not evaluated dans un tableau normalisé.
- Téléchargez les lignes de comparaison au format CSV ou JSON sans inclure le HTML fourni.
Fonctionnement
Le parseur limite les signaux au head du document, ignore les balises commentées et les leurres du body, décode les entités HTML, normalise les clés JSON-LD et compare les niveaux et textes de titres comme un plan ordonné. Les différences sont ensuite classées selon des règles conservatrices de perte ou de restriction de signal.
Limites
- Le résultat couvre uniquement les deux documents fournis et ne récupère aucune URL.
- Le HTML ne permet pas d’établir la posture des robots IA, les en-têtes HTTP ou la réciprocité hreflang.
- Une régression est un signal conservateur à examiner, pas une prédiction de classement, de trafic ou d’impact de publication.
Questions fréquentes
Ces pages sont-elles récupérées ?
Non. Collez chaque document HTML ou choisissez un fichier local ; les documents et la comparaison restent dans ce navigateur.
Que se passe-t-il lorsqu’un signal ne peut pas être évalué ?
La ligne reste not evaluated. Une information head manquante ou mal formée, un JSON-LD incorrect ou une posture de robot impossible à établir ne sont pas traités comme des correspondances.
Pourquoi la posture des robots IA n’est-elle pas évaluée ?
Un document HTML collé ne prouve ni la politique robots.txt du site ni le comportement de son réseau edge envers les robots IA.
Qu’est-ce qui compte comme une régression ?
La règle conservatrice vise une preuve observée supprimée, une déclaration hreflang retirée, un plan de titres raccourci ou un H1 perdu, ainsi que des directives robots ou crawler devenues plus restrictives.
Que contient un export ?
Les exports contiennent uniquement les lignes de comparaison normalisées et leurs états ; ils n’incluent jamais les documents HTML collés.