Skip to content
GigAI Tools

JS Rendering Checker: What Do AI Crawlers See Without JavaScript?New

Most AI crawlers do not execute JavaScript. Content your framework injects client-side simply doesn't exist for GPTBot, ClaudeBot, PerplexityBot or the on-demand fetchers reading links your users share. This checker fetches your page's raw HTML (byte-for-byte what those crawlers receive) counts the words that survive, flags the framework markers that reveal client-side rendering, and, when you paste the rendered DOM alongside, produces the exact list of content only a JavaScript-running browser ever sees.

Secure cloud processingFree · no sign-up

What is the js rendering checker?

The JS Rendering Checker shows your page as AI crawlers see it: without JavaScript. It fetches the raw HTML, counts the words that survive, detects client-rendering framework markers with the evidence quoted, and estimates prose trapped in serialized JS data. Paste the rendered DOM alongside and it diffs the two, reporting exactly what percentage of the page is invisible to GPTBot, ClaudeBot and PerplexityBot.

Googlebot renders JavaScript. Almost nobody else does. OpenAI, Anthropic and Perplexity's crawlers read the raw HTML response and move on, which means a React SPA whose <div id="root"> fills in client-side can rank in Google while being an empty page to every AI system: invisible not by policy but by architecture. The JS Rendering Checker makes that gap measurable. Fetch a URL and it analyzes the raw HTML exactly as served: how many words of real content exist before any script runs, which framework fingerprints are present (Next.js flight data, __NUXT__ payloads, empty SPA mount points, Angular version markers. Each quoted as evidence), how much prose is trapped inside serialized JSON data islands where browsers will unpack it but crawlers won't, and whether a meta robots tag is quietly excluding you from the search indexes AI answers retrieve through. Then the optional second step turns estimate into proof: copy document.documentElement.outerHTML from your live page's DevTools console, paste it beside the raw fetch, and the checker diffs the two: reporting what percentage of your rendered content is invisible to AI crawlers and listing the invisible passages sentence by sentence. We built this because our own FAQ answers failed the test. It's the tool we needed, made public.

Difficulty:
Easy
Typical time:
~15s
Processing:
Secure cloud processing

Last updated

How to use the js rendering checker

  1. 1

    Fetch your page's raw HTML

    Enter the URL. The proxy fetches it without executing anything and fills the raw pane. This alone yields the word count, framework markers and data-island estimate.

  2. 2

    Read the verdict

    Words visible without JavaScript, each rendering signal with its evidence, and any meta robots problem, scored 0–100.

  3. 3

    Optionally: paste the rendered DOM

    On the live page, run copy(document.documentElement.outerHTML) in the DevTools console and paste into the second box.

  4. 4

    Read the exact diff

    The invisible percentage plus every sentence that exists only after hydration: the precise content AI systems never see.

  5. 5

    Fix and re-check

    Server-render, pre-render or statically generate the invisible content, then re-run until the diff approaches zero.

What JS Rendering Checker includes

  • The raw HTML, exactly as a crawler receives it

    Fetched with no JavaScript execution, no rendering, no tricks: byte-for-byte what GPTBot, ClaudeBot and PerplexityBot get, with the surviving word count front and center.

  • Framework fingerprints with quoted evidence

    Next.js Pages and App Router payloads, Nuxt, SvelteKit, Remix, Angular, Astro islands, empty React mount points, WordPress asset paths. Each detection names the marker it found, and says whether that pattern implies client rendering.

  • Data-island detection

    Prose trapped in __NEXT_DATA__ and similar serialized JSON is counted separately: the browser turns it into your page, a crawler sees script soup. The word estimate quantifies what's locked up.

  • The exact raw-vs-rendered diff

    Paste the rendered DOM (one DevTools command, shown in the tool) next to the fetched raw HTML and get the precise invisible percentage plus the missing passages, listed sentence by sentence.

  • Catches the quiet excluders

    A noindex or nosnippet meta robots tag also removes you from the search indexes AI answers retrieve through: flagged whenever present, because it silently overrides everything else you fix.

  • Private by architecture

    URL fetches go through a stateless proxy (fetch, return, discard). Pasted HTML (including internal or staging pages) is analyzed entirely in your browser and never uploaded.

Why use our js rendering checker

Find out if your architecture is your SEO problem

No amount of content optimization helps a page whose content doesn't exist in the HTML. This is the two-minute test that tells you whether to fix words or fix rendering.

Evidence you can hand to engineering

"AI can't see our site" starts arguments. "The raw HTML contains 12 words and here's the diff" ends them. The report quotes markers and lists invisible passages: a ticket, not a vibe.

Know before you migrate

Comparing a prototype's raw HTML against the current site's is the cheapest possible rendering-strategy review, before the migration ships the regression.

Works where crawlers can't reach

Paste mode analyzes staging, localhost and authenticated pages without anything leaving your browser.

Built for the way you work

From quick one-off fixes to daily workflows, see how people put this tool to use.

  • SEO specialist

    Diagnose the invisible-content gap

    A site that ranks in Google but never appears in AI answers is the classic symptom. This test confirms or eliminates rendering as the cause in one fetch.

  • Frontend developer

    Verify SSR actually ships content

    Frameworks make it easy to believe you're server-rendering while a layout-level 'use client' quietly hollows the HTML. The raw fetch is ground truth.

  • Content lead

    Check the pages that matter

    FAQ accordions, tabbed specs, load-more sections: interactive patterns often hide their content client-side. Test the money pages, not just the homepage.

  • Agency

    Audit a client's stack in minutes

    The framework fingerprints tell you what you're dealing with before anyone opens the repo, and the diff quantifies how much is at stake.

What this tool does not do

Boundaries stated plainly, with the right tool for each neighbouring job.

  • It doesn't render your page or execute its JavaScript: that's the point. For the rendered view, your own browser plus one console command supplies it exactly.
  • It doesn't validate HTML syntax. The HTML Validator does that. HTML Validator does that.

Supported formats

Accepts URL and HTML, and produces Report, all processed locally in your browser.

Input formats
  • URL
  • HTML
Output formats
  • Report

Frequently asked questions

Recommended tools

New

GigAI GEO Audit

One URL in, one AI-visibility report out: crawler access with Cloudflare detection, JS rendering, citability scored with published methodology, retrieval chunks, answer snippets and schema. Each finding linked to the free tool that fixes it.

GEO Studio
New

AI Crawler Access Checker

Check whether GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Bingbot and every other AI crawler can read your site. Real RFC 9309 robots.txt matching with the deciding rule quoted, plus Cloudflare default-blocking detection. Free, instant, no signup.

GEO Studio
New

Content Citability Scorer

Score any page or draft on the factors a published study (KDD 2024) measured as increasing AI citation: fact density, source citations, quotability, answer-first openings, question headings and self-containment. Every sub-score shows its formula and what it counted.

GEO Studio
New

Retrieval Chunk Preview

See your page the way a RAG system does: split into retrieval chunks and read one at a time, with no surrounding context. Flags every fragment that collapses alone: pronoun openers, 'as mentioned above', sections that never name their subject.

GEO Studio
New

AI Crawler Log Analyzer

Drop a server access log and see which AI crawlers actually visit: per-bot hit counts, first and last seen, most-fetched pages, status-code health, daily trend, and the pages no AI crawler has ever touched. Parsed in your browser: logs contain visitor IPs and never leave your device.

GEO Studio
New

AI Robots.txt Generator

Generate a correct robots.txt policy for every AI crawler (GPTBot, ClaudeBot, OAI-SearchBot, PerplexityBot and 11 more) with per-bot allow/block toggles and a plain-language line on what each choice costs. Free, in your browser.

GEO Studio

Common problems, solved

Hit a snag? Here are quick fixes for the issues people run into most.

  • The fetch failed for my URL.

    Some sites block automated fetches at the firewall (worth noting: that may be blocking AI crawlers too). Fall back to paste: open the page, View Source (Ctrl/Cmd-U), copy everything into the raw pane. That's the same bytes a crawler gets.

  • My word count is high but the page still doesn't appear in AI answers.

    Rendering is necessary, not sufficient. Run the full GEO Audit: crawler access (robots.txt/Cloudflare) and content citability are the other usual suspects, and the audit checks all of them in one pass.

  • The diff flags dynamic content like prices and stock levels.

    Correct behavior. Those ARE invisible to AI crawlers. Decide whether that matters per content type: a live stock ticker probably doesn't. Your product description and FAQ answers absolutely do.

  • I use Next.js App Router with server components. Why is it flagged?

    The flight-data marker indicates the framework, and the checker pairs it with the actual visible word count. If your words are high, the flag reads as informational: the framework is present but server-rendering is doing its job. The word count is the verdict. The marker is context.

Get the most out of it

  • Googlebot renders JavaScript. GPTBot, ClaudeBot, PerplexityBot and the user-fetch bots don't. 'It's fine in Google' proves nothing about AI visibility.

  • Server-side rendering, static generation and pre-rendering all pass this test: the fix isn't abandoning your framework, it's making it emit HTML.

  • Check View Source, not DevTools Elements: Elements shows the rendered DOM (after JavaScript), which is exactly the misleading view this tool exists to correct.

  • Content inside <noscript> is a fallback for humans, not a fix: treat it as a signal that someone knew about the problem.

  • The pages users most often paste into ChatGPT (docs, pricing, comparisons) are the ones where ChatGPT-User hitting empty HTML hurts most. Test those first.

What's new

Recent updates and improvements to the js rendering checker.

  1. Initial release: raw-HTML fetch + analysis (visible words, framework fingerprints with quoted markers, data-island prose estimate, meta-robots flags), optional rendered-DOM paste with sentence-level invisibility diff, staging-safe paste mode.

Your privacy is built in

URL fetches pass through our stateless proxy: fetched, returned to your browser, discarded. No URLs or content are stored. Pasted HTML (raw or rendered) never leaves your browser at all, so staging and internal pages are safe to test.

  • Ephemeral processing
  • Deleted instantly
  • Never logged

Ready to try the js rendering checker?

Free and instant, JS Rendering Checker processes your file securely and removes it right after.