Why it matters
Google renders JavaScript, eventually. Most AI crawlers don't: GPTBot, ClaudeBot and PerplexityBot read the HTML your server sends and stop there. A single-page app that ships an empty <div id="root"> looks fine in a browser and blank to them, and a canonical or noindex set by JavaScript may be read differently depending on when Google looks.
This tool compares the two versions of the page the way a crawler would see them: title, description, robots, canonical, headings, links, structured data and text, each diffed on its own. It tells you what share of the text depends on JavaScript and which signals change, so you know what to server-render first. There's no headless browser behind it; you paste the rendered DOM from your own browser, so what you compare is what you saw.
How it works
- InputThe HTML before and after JavaScript
- In your browserTitles, links, text and JSON-LD compared
- OutputWhat crawlers without JavaScript miss
Where it fits in a designer's workflow
- Plan
- Design
- Build
- Test
- Launch
By the numbers
Show the numbers as a table
| Facet | Raw | Rendered |
|---|---|---|
| Title | 1 | 1 |
| Meta description | 0 | 1 |
| Robots meta | 1 | 1 |
| Canonical | 1 | 1 |
| Headings | 0 | 2 |
| Links | 0 | 4 |
| JSON-LD blocks | 0 | 1 |
| Text blocks | 1 | 6 |
How to use it
- Fetch the raw HTML, or paste view-source.
- Copy the rendered DOM from DevTools (Copy outerHTML) and paste it, or open a saved page file.
- Read the share of JavaScript-only text and the findings.
- Server-render what's missing, starting with the canonical, robots and main content.
FAQ
Why does it matter if Google renders JavaScript?
Rendering can be delayed, and most AI and social crawlers never render at all. Anything only in the rendered DOM is invisible to them.
How do I get the rendered DOM on an iPhone?
Use Share, then Save to Files, or Options, Web Archive, then open the file here. Or copy it on a computer and paste it in.
Why strip hydration attributes?
Frameworks add attributes like data-reactroot or ng-version while hydrating. They're not content, and stripping them keeps the diff about what crawlers read.
Is anything uploaded?
Only if you press Fetch: the address, which leej.uk reads once as LeejTools/1.0. Pasted HTML and files stay on your device.