Cloudflare Cache Checker
Check the real Cloudflare cache status of any URL. Our server fetches the URL and reads all response headers directly — no guessing, no simulation.
Cloudflare Cache Status Values Explained
The cf-cache-status header tells you exactly what Cloudflare did with the request. Here is what each value means and what action to take.
HIT
Served from Cloudflare edge cache
→ Good — no origin request made
MISS
Not cached — fetched from origin
→ Review cache-control headers
BYPASS
Cache deliberately bypassed
→ Check Page Rules / cookies
EXPIRED
Cached but TTL expired, re-fetched
→ Increase max-age TTL
DYNAMIC
Dynamic content, not cacheable
→ Normal for authenticated pages
REVALIDATED
Validated with origin, still fresh
→ Content unchanged, cache OK
STALE
Stale copy served while updating
→ Configure stale-while-revalidate
UPDATING
Cache entry being refreshed
→ Transient — check again shortly
When to Use This Tool
Caching problems are invisible — you only notice them when your site is slow or your users get stale content. This tool makes the invisible visible.
Verify caching rules work
After setting Cloudflare Page Rules or Cache Rules, confirm your URLs are returning HIT instead of MISS.
Debug cache BYPASS issues
Find out why Cloudflare is not caching a page — cookies, headers, or bypass rules are the usual suspects.
Check cache after purge
After purging Cloudflare cache, confirm the first request gets a MISS and subsequent requests return HIT.
Non-Cloudflare CDN headers
The tool shows X-Cache, Via, and other CDN headers too — useful for debugging Fastly, Varnish, or AWS CloudFront.
Performance troubleshooting
A MISS on every request means every user hits your origin. Fixing cache saves bandwidth and cuts page load times drastically.
Audit new deployments
After a site deployment, check that static assets (JS, CSS, images) are returning HIT from Cloudflare's edge.
How It Works
The tool makes a real HTTP request from our server, not your browser, so you see exactly what Cloudflare returns to a fresh visitor with no cookies or local cache.
Enter URL
Paste any URL — must be publicly accessible. Works with https:// and http://.
Server sends request
Our server sends a fresh HTTP GET with no cookies. Cloudflare processes it and returns headers including cf-cache-status.
Results displayed
Cache status, CF-Ray, cache age, cache-control, and the complete response header table are shown — with Cloudflare headers highlighted.
Tips for Maximising Cloudflare Cache Performance
- →Set long max-age for static assets. JS, CSS, and image files rarely change. Set
Cache-Control: public, max-age=31536000, immutableand use versioned filenames. - →Remove unnecessary cookies. Cloudflare bypasses cache for any request that has cookies. Scope your cookies to specific paths, not the whole domain.
- →Use Cache Rules not Page Rules. Cloudflare’s newer Cache Rules are more powerful and do not have the 3-rule free tier limit of the older Page Rules system.
- →Enable Tiered Caching. Cloudflare’s Tiered Cache (Argo Smart Routing) routes cache misses to a parent PoP instead of always going to origin, dramatically reducing origin load.
- →Check cache after every deployment. Use this tool to confirm static assets are returning HIT after a new release, especially if you purge cache as part of your deploy pipeline.
Frequently Asked Questions
What is cf-cache-status?
cf-cache-status is a response header added by Cloudflare to every response. It tells you whether the response was served from Cloudflare's edge cache (HIT), fetched fresh from your origin server (MISS), deliberately bypassed (BYPASS), or was dynamic content not eligible for caching (DYNAMIC).
What does a cache MISS mean and how do I fix it?
A MISS means Cloudflare did not have a cached copy and had to fetch the page from your origin server. Common causes: Cache-Control: no-store/no-cache headers, cookies triggering bypass, or the content type not being cacheable. Fix: Set appropriate cache-control headers, use Cloudflare Page Rules or Cache Rules to cache more aggressively.
Why does Cloudflare show BYPASS for my page?
BYPASS is triggered when a request matches a Cloudflare bypass rule, when cookies (like WordPress login cookies) are present, or when the origin returns Cache-Control: no-cache. Check your Page Rules / Cache Rules and remove unnecessary cookies from Cloudflare bypass conditions.
What is a CF-Ray ID?
CF-Ray is a unique identifier for every request that passes through Cloudflare. It encodes the data centre (PoP) that handled the request and a unique request ID. If you contact Cloudflare support, they use this ID to look up the exact request in their logs.
How is this different from checking cache in my browser?
Your browser cache stores files locally and may show a cached response even if Cloudflare itself is not caching. Our tool checks from our server with a fresh HTTP request — no local cache, no cookies, no browser extensions — giving you the real Cloudflare-side cache status.
Does this work for non-Cloudflare sites?
Yes. If the URL is not behind Cloudflare, the tool still shows all response headers (Cache-Control, X-Cache, Expires, ETag etc.) and flags that no Cloudflare headers were detected. This helps debug caching on any CDN.
What is cache age and why does it matter?
Cache age (the Age header) tells you how many seconds ago the cached copy was stored at the edge. A high age means the content has been cached for a long time. If your content changes frequently, a very high age may mean stale content is being served.
Is the Cloudflare cache checker free?
Completely free. No Cloudflare account needed, no API key, no sign-up. Enter any URL and see the real cache status instantly.
What users say about Cloudflare Cache Checker
Real feedback from ToolsBear users — reviewed and approved by our team.