Skip to content

Render-Blocking Resources Checker

Short answer

Find the scripts and stylesheets that block rendering, plus script habits that slow pages down: missing async/defer, inline event handlers and document.write.

Free · No signup · Runs in your browser
100% in your browser — your content never leaves your device.

What It Does

Checks a page's HTML in two parts. Render-blocking resources: scripts in `<head>` without `async` or `defer`, stylesheets that block rendering and CSS `@import` rules. Script hygiene: how many external and inline scripts the page loads, whether external scripts use `async` or `defer`, inline event handlers such as `onclick`, `document.write` calls and whether ES modules are used.

Why It Matters

A browser has to download and run every blocking script and stylesheet in `<head>` before it can paint anything, which delays First Contentful Paint and often Largest Contentful Paint. `document.write` makes this worse — Chrome may refuse to run scripts it injects on slow connections — and inline handlers stand in the way of a strict Content-Security-Policy.

How It Works

  1. Enter a page URL or paste its HTML

  2. We parse the `<head>` and every `<script>` on the page

  3. Flag render-blocking scripts and stylesheets, then check the scripts for async/defer, inline handlers and document.write

  4. Return a result for each part, with the resources we flagged

Sample input + output

INPUT
url: https://rankproof.eu/tools
OUTPUT
Render-blocking resources: 2
  <script src="analytics.js">              blocking
  <link rel="stylesheet" href="theme.css"> blocking
  no @import in CSS                        OK

Script hygiene
  scripts: 7 (5 external, 2 inline)
  external scripts use async or defer      warn
  no inline event handlers                 OK
  no document.write                        OK
  uses ES modules                          OK

0 of 2 areas look good

Who Uses This

  • Performance Engineer

    Before a busy season, move every blocking script to async or defer and re-check that nothing new crept into `<head>`.

  • Frontend Developer

    Find the analytics or widget snippet that still loads synchronously and switch it to a deferred load.

  • SEO Specialist

    Check the templates behind your slowest pages and hand the flagged resources to the development team.

Frequently Asked Questions

How do I un-block a stylesheet?

For non-critical CSS, add `media="print"` and `onload="this.media='all'"`. For critical CSS, inline it in `<style>` tags.

Can I just defer all my scripts?

Not always — scripts that must run before first paint, polyfills required for layout and inline scripts cannot always wait. Audit them by impact.

What is wrong with document.write?

It forces the browser to pause parsing, and Chrome may block the scripts it injects on slow connections. Insert elements with DOM methods instead.

Why flag inline event handlers?

Handlers such as `onclick="…"` mix behavior into markup and need `unsafe-inline` in a Content-Security-Policy. Attach listeners from a script file instead.

What about third-party widgets?

Load them with `<script async>` or through a tag manager with deferred loading. Better still, load widgets below the fold only on scroll or interaction.