Private browser-based technical SEO evidence
Raw HTML Versus Rendered DOM SEO Diff
Compare the original server response with the final post-JavaScript DOM. Find metadata, directive, heading, content, link, image, and structured-data changes that may need engineering review.
Normal refresh clears the documents. Coarse usage events never include file contents, URLs, query parameters, titles, schema values, or issue evidence.
1. Add both HTML documents
Use View Source or a saved network response for the raw side. Use the helper below or DevTools to capture the final DOM after the page finishes rendering.
Raw/source HTML
Original response HTML before page JavaScript changes it.
Maximum 5 MB. Scripts are parsed as inert text and never executed.
Rendered DOM HTML
Final documentElement.outerHTML after hydration and client rendering.
Maximum 5 MB. Preview counts help catch swapped or wrong files.
Optional rendered-DOM capture helper
Run this only on a page you control. It downloads the current DOM locally and contains no network calls. It cannot retrieve the original response; use View Source for that side.
2. Map and configure the comparison
Defaults compare normalized semantic values. Optional selectors let you narrow main content, ignore unstable widgets, or identify product fields outside structured data.
3. Review SEO-relevant differences
Priorities identify changes worth reviewing first; they are not an opaque quality score. Select any finding for exact evidence, location, explanation, and next action.
| Priority | Category | Class | Finding and evidence preview |
|---|
What the comparison covers — and what it does not prove
Semantic extraction and normalization
The analyzer uses inert DOM parsing, category-specific extraction adapters, normalized URLs, collapsed text blocks, and order-stable JSON-LD. It compares titles, descriptions, canonicals, robots directives, hreflang, pagination and alternate links, social metadata, H1–H6 outlines, main content blocks, anchors, images and picture sources, JSON-LD entities, practical microdata/RDFa presence, configured product fields, loading placeholders, non-standard navigation evidence, and noscript content.
Rendered-DOM limits
outerHTML does not capture closed shadow roots or cross-origin iframe contents. A static DOM snapshot cannot reliably determine computed CSS visibility, event behavior, timing, or what a specific crawler processed. X-Robots-Tag is unavailable unless you enter the response header separately.
Performance and privacy limits
Each document is limited to 5 MB and combined input to 8 MB. Normalized comparison runs in a Web Worker to keep interaction responsive. Initial DOMParser extraction occurs in the page because Web Workers do not provide DOMParser. No input is persisted or uploaded.
Frequently asked questions
Does this tool render a live URL or run JavaScript?
No. You provide both documents: the original response HTML from View Source or a saved response, and the final DOM captured after JavaScript runs. The tool compares them without executing uploaded scripts or fetching the page.
Do my HTML files leave my browser?
No. Pasted and uploaded HTML is parsed and compared locally in your browser. The tool does not send document contents, page URLs, titles, schema values, or issue evidence to the server or analytics.
What does a difference prove?
A difference is reproducible implementation evidence that the response HTML and captured DOM contain different semantic values. It does not prove what Google or another search engine rendered, indexed, or ranked.
How do I capture the rendered DOM?
Use the included local bookmarklet after the page finishes rendering, or copy document.documentElement.outerHTML from DevTools. You still need View Source or a saved network response for the raw side. Shadow DOM and cross-origin iframe contents are not included in ordinary outerHTML.
Why can the tool report malformed or duplicate structured data?
Each JSON-LD block is parsed as data, normalized by object keys and array values, and compared by entity identity. Invalid JSON is reported as a recoverable parsing warning; uploaded markup is never inserted into this page as active content.
Reviewed Jul 2026 · Sources and limitations
Review details: 2026-07-13 · Marc LaClear · v1.0
Reference sources:
- Google Search Central JavaScript SEO basics
- Google Search Central structured data guidelines
- MDN DOMParser documentation
- Schema.org vocabulary
Known limits:
- This is not a remote rendering service. It does not run JavaScript, bypass browser security, retrieve a network response, or predict what a search engine will render or index.
- Static HTML cannot reliably determine computed visibility, shadow DOM content not present in outerHTML, cross-origin iframe contents, or pixel-level visual changes.
- DOM serialization can normalize markup and attribute order. The analyzer compares extracted semantic values rather than raw character-level HTML.
- HTTP response headers are unavailable from pasted HTML. X-Robots-Tag is analyzed only when you enter it separately.
- Each document is limited to 5 MB and combined input to 8 MB. Comparison work runs in a Web Worker, but initial inert DOM parsing uses the browser DOMParser.