JavaScript SEO and Render Analyzer
Compare the HTML your server sends with the page after JavaScript runs, and see what Google may miss.
- Free, no sign-up
- Any page, or two pasted versions
- Scores for what Google sees
Paste the two HTML versions instead
Ctrl+U (or Cmd+U on Mac)F12 and open the Elements tab<html> β Copy β Copy outerHTMLCompares titles, canonical, robots, headings, text, links and schema before and after JavaScript runs.
Free on this page, or in the free app
| On this page | In the RR SEO Tools app | |
|---|---|---|
| Use the tool | Free, no sign-up | Free account (just your email) |
| Full reports | A preview, then the full report when you sign in free | Always shown in full |
| Check pages by URL | 10 free a day with an account | The same free allowance |
| Your reports | Shown on this page | Saved to your account to reopen and compare |
| Phone and computer | Works in any browser | Install it like an app |
| Every tool | One tool per page | All tools, one sign-in and one history |
Open this tool in the app Free. Sign in with just your email.
JavaScript SEO: what Google sees vs. what you see
Modern sites often build part of the page in the browser with JavaScript. Visitors see the finished page, but a crawler first gets the raw HTML the server sends. Google renders JavaScript later, in a second pass, and many other crawlers, including most AI crawlers, never render it at all. Anything that only exists after rendering may be missed or seen late.
What the Render Analyzer compares
- Rendering type: server-side (SSR), client-side (CSR) or hybrid, judged by how much content is in the source.
- Content gap: text, headings and words that only appear after JavaScript runs.
- Links: internal links that only appear after rendering, or that use click handlers instead of real
<a href>links. - Meta and schema: titles, canonicals, robots tags and JSON-LD added or changed by JavaScript.
- Crawlability: signs that a crawler without JavaScript would get an empty or different page.
Getting the two versions
The source is what you see with View source (Ctrl+U). The rendered version is the live DOM: open DevTools β Elements, right-click the <html> element and choose Copy β Copy outerHTML. Paste both, or enter the URL to fill in the source automatically.
If important content only exists after rendering, the fix is usually server-side rendering or pre-rendering for those templates, not removing JavaScript.
How to use this tool
- 1Add the page source
Enter the URL or paste the View-source HTML.
- 2Add the rendered HTML
From DevTools β Elements β Copy outerHTML on the <html> element.
- 3Analyze
See the rendering type and everything that differs between the two versions.
- 4Fix what matters
Start with main content, internal links, canonical tags and robots tags that only exist after rendering.
Frequently asked questions
Does Google render JavaScript?
Yes, but in a second wave that can be delayed, and with limits. Content in the initial HTML is indexed faster and more reliably.
Do AI crawlers render JavaScript?
Most don't. If your main content needs JavaScript to appear, assistants like ChatGPT or Perplexity may see an empty page.
What's the best fix for a client-side app?
Server-side rendering or static pre-rendering for indexable pages, with real links and meta tags in the initial HTML.
Why don't my links count?
Links built with onclick handlers or added late by scripts may not be followed. Use standard <a href> links in the HTML.
Is this tool free?
Yes. Pasting is always free, and fetching the source by URL uses the free daily allowance with an account.
Get help beyond the tool
Our technical SEO team audits rendering, fixes indexing gaps and works with your developers on server-side rendering or pre-rendering.
Part of the free technical SEO tools Β· See all free tools
Β© 2026 RR Web Services. This free tool, its code and its methodology are proprietary. You may not copy, reproduce or reuse any part of it without our written permission.