Have you ever tried to check out online, only to find the terms checkbox unresponsive or the layout completely broken? You smash F5 five or six times in frustration, yet nothing changes. Why does this happen?
At a Glance
- Normal Refresh (F5): Reuses the browser’s local cache or only checks the server for changes (304 Not Modified), causing errors to repeat.
- Hard Refresh (Ctrl + F5): Bypasses the cache entirely and forces a full re-download of the latest original files (200 OK) from the server.
- Recommended for Windows: Ctrl + F5 or Ctrl + Shift + R (Chrome, Edge, Whale, Firefox).
- Recommended for macOS: Cmd + Shift + R (Chrome, Edge) or Shift + Click the Refresh button in Safari.
Why Hitting F5 Won’t Fix the Problem

To load websites faster and save bandwidth, web browsers store files like images, stylesheets (CSS), and JavaScript (JS) temporarily on your local drive. This is called “caching.” It is like grabbing canned food from your pantry instead of running to the grocery store every single time.
When you press regular refresh (F5 or Ctrl + R), the browser sends a conditional request (If-Modified-Since, If-None-Match) asking the server if any files have changed. If the server decides nothing changed and returns a 304 Not Modified response, the browser simply loads the old cached files from your hard drive to render the page.
Problems arise when website developers update code or redesign parts of the site. The browser might download the new layout structure (HTML), but it continues using old cached files for styling (CSS) and functionality (JS). The mismatched code clashes. No matter how many times you press F5, the browser reuses that outdated cache, leaving broken layouts and unresponsive buttons unresolved.
How Ctrl + F5 Works Differently

A hard refresh completely bypasses the local cache stored on your drive. Instead of checking what is in the pantry, it goes straight to the store and insists on fresh ingredients.
When you press this shortcut, the browser includes Cache-Control: no-cache and legacy Pragma: no-cache in its request headers. This signals the server to skip all conditional checks and send the complete, latest versions of every file.
The server ignores any previous cache status and serves all fresh resources with a 200 OK status code. The updated CSS and JS files download immediately, fixing broken layouts and frozen buttons in seconds.
Related Reading
Does F5 Only Change Screen Brightness on Your Laptop? How to Toggle Fn Lock
Accidentally Deleted a Desktop File? How to Undo Immediately with Ctrl + Z
Hard Refresh Shortcuts by Browser and OS

Shortcuts vary slightly depending on your browser and operating system. Using these shortcuts lets you refresh just the malfunctioning page without clearing your entire browsing history.
| Operating System | Browser | Shortcut |
|---|---|---|
| Windows / Linux | Chrome | Ctrl + F5, Shift + F5, Ctrl + Shift + R |
| Windows / Linux | Edge, Firefox, Whale | Ctrl + F5, Ctrl + Shift + R |
| Windows / Linux | Mouse shortcut (all) | Hold Shift and click Reload (↻) |
| macOS | Chrome, Edge, Firefox | Cmd(⌘) + Shift + R |
| macOS | Safari | Cmd(⌘) + Option(⌥) + R or hold Shift and click Reload |
In Google Chrome’s official support documentation, only Shift + F5 and Ctrl + Shift + R are officially listed; Ctrl + F5 is omitted from the table, though it functions identically. For Safari on macOS, Apple does not officially document a dedicated hard refresh shortcut, so you may need to enable the Develop menu depending on your version.
What to Do When Hard Refresh Fails: DevTools and Mobile Solutions

If shortcuts still do not fix the page, you can access hidden reload options through Developer Tools. Press F12 to open DevTools, then right-click or click-and-hold the browser’s Reload (↻) button to open the menu.
1. Normal Reload: Reuses local cache to load quickly
2. Hard Reload: Bypasses cache for this request and fetches fresh files
3. Empty Cache and Hard Reload: Completely deletes the site’s cached files before downloading anew
Checking “Disable cache” in DevTools’ Network tab ensures all requests bypass cache while the developer panel is open. Note that a hard refresh only bypasses your local browser cache; it cannot force a CDN (such as Cloudflare or AWS CloudFront) on the server side to purge its cache. On mobile devices where keyboard shortcuts aren’t available, open your browser settings, navigate to “Clear browsing data,” and manually remove cached images and files.
When webpage buttons won’t work or designs break, skip digging through settings and press Ctrl + F5.
