bfcache Checker
Run a real back-forward cache test on this page, read the blocker reasons in plain words, and audit your code for the patterns that kill instant back-button restores.
Live self-test: can this page be restored from bfcache?
Not tested yet
The test navigates forward and immediately back. Your browser either restores this page instantly from the back-forward cache or reloads it.
This test checks this exact page in this exact browser. Results say nothing about other pages or other browsers. Cache-Control headers for this page cannot be read from JavaScript, so header blockers (like no-store) are not part of this test; check them with your server logs or the network panel.
Unload migration auditor
Paste JavaScript below. The auditor scans for the patterns that block bfcache, unload, beforeunload and synchronous XHR, and shows the modern replacement for each. The scan is textual and approximate; it never executes your code.
Why the back button is a performance feature
A page restored from the back-forward cache appears instantly: no network, no parsing, no re-running your JavaScript from scratch. A page that misses bfcache pays the full reload cost instead, and on mobile that can be the difference between a snappy app and an abandoned one.
The unload event is the classic cache-killer. It was designed for a desktop era where every navigation tore the page down. Today it fires unreliably, mobile browsers often skip it, and browsers treat its presence as a promise that the page cannot be safely frozen. Chrome has been switching unload off by default, which is why the auditor above steers every finding toward pagehide and visibilitychange.
One honest limit: no client-side test can see everything. Server headers such as Cache-Control: no-store, and some APIs your page holds open, can block bfcache invisibly from JavaScript. This page tests what it can measure and says so when it cannot.
Frequently Asked Questions
Why is Chrome killing the unload event?
The unload event fires too late and too unreliably: mobile browsers often skip it entirely, and any page using it can never be stored in the back-forward cache. Chrome made unload opt-in via permissions policy and tells developers to use pagehide and visibilitychange instead, which fire in every navigation and do not block bfcache.
What breaks the back-forward cache?
The common blockers are unload and beforeunload listeners, synchronous XMLHttpRequest, pages served with Cache-Control: no-store, open IndexedDB transactions or locks, and active WebRTC or WebSocket connections in some cases. This tool runs a real navigation test and, where the browser exposes it, reports the exact blocker from the notRestoredReasons API.
What is the difference between pagehide and unload?
pagehide fires in every navigation, including when the page goes into the back-forward cache, and it does not block caching. unload fires only on full unloads, is unreliable on mobile, and its mere presence disqualifies the page from bfcache. For saving state or sending analytics, move the code from unload to pagehide, or better, to visibilitychange when the document becomes hidden.
How does the test on this page work?
Clicking Start arms the test, navigates forward to a second step, and immediately goes back. The browser either restores the page from the back-forward cache or reloads it. The pageshow event reports which happened, and the navigation timing entry can expose the blocker reasons when the browser supports the notRestoredReasons API.
Is any of my data uploaded?
No. The bfcache test and the code auditor run entirely in your browser. Cubbbix receives nothing about your pages or your code unless you choose to copy the report and send it to someone yourself.
Check Out Other Popular Tools
Wedding Hashtag Generator
Generate creative, witty, and unique wedding hashtags for your big day. Perfect for sharing your special moments on social media.
Printable Paper Generator
Create and download custom vector PDF templates for Dot Grid (Bullet Journal), Graph / Quad Grid, College Ruled, Isometric 3D, Music Staff, Cornell Notes, and Hexagonal paper at exact 100% scale.
PNG to JXL Converter — Free Online PNG to JPEG XL Converter
Convert PNG images to JPEG XL (.jxl) online for free — keep transparency, slash file size. Private in-browser conversion, no uploads, no sign-up.
Was this tool helpful?
Comments
Loading comments...