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.

Add dataConfigureAnalyzeReview issuesExport
Processed locally in your browser. Your files are not uploaded.
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.

Waiting for HTML…

Rendered DOM HTML

Final documentElement.outerHTML after hydration and client rendering.

Maximum 5 MB. Preview counts help catch swapped or wrong files.

Waiting for HTML…
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.

Ctrl/⌘ + Enter to analyze

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:

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.

Report an issue with this tool