iPhone Safari redirect loop – 3 quick fixes

Mobile – iOS Beginner 👁 13 views 📅 May 26, 2026

Safari on iPhone or iPad keeps reloading the same page. This is usually a cookie or cache problem. Here are the real fixes, in order.

1. Clear Safari's cache and website data (fixes 80% of redirect loops)

Most redirect loops on iPhone and iPad happen because Safari is holding onto old website data. This is especially common after a site updates its login system or changes its URL structure. I've seen this with banking sites, social media, and even some news pages.

Here's what to do:

  1. Open the Settings app on your iPhone or iPad. Don't do this from Safari – you'll just get stuck again.
  2. Scroll down and tap Safari (on iOS 15 and later, it's under the main list, not in a submenu).
  3. Tap Clear History and Website Data. A pop-up will ask you to confirm. Tap Clear History and Data.

After you tap that, wait a few seconds. You won't see a loading bar – just a brief spinner. Then go back to Safari and try the page again. The redirect loop should be gone. If it's not, move to the next fix.

Note: This will sign you out of websites where you were logged in. That's normal. You'll need to log back in after.

2. Disable JavaScript temporarily (fixes site-specific loops)

Sometimes a badly written piece of JavaScript – like a pop-up script or a broken redirect script – keeps forcing the page to reload. I've seen this on some older forum software and e-commerce sites that didn't update their code for iOS 17.

Here's how to turn off JavaScript in Safari:

  1. Go back to Settings > Safari.
  2. Scroll down to the Advanced section. Tap it.
  3. At the top, you'll see JavaScript with a toggle switch. Tap the switch to turn it off. It'll turn gray.
  4. Go back to Safari and reload the problem page. It should load normally now – though some buttons or animations might not work.

If the page loads without looping, you've confirmed that JavaScript is the culprit. You can leave JavaScript off for that one site, but most websites need it to work properly. I'd recommend turning JavaScript back on after you're done with that page. A better long-term fix is to clear the cache for that specific site (see the table below).

3. Check for bad cookies or saved passwords (rare but real)

Every once in a while, a corrupt cookie or an outdated saved password triggers a redirect loop. I ran into this myself with a work portal that kept tossing me back to the login screen because the saved password was from an old version of the site.

Here's how to clear cookies without nuking all your history:

  1. Open Settings > Safari.
  2. Tap Advanced (same place as where you turned off JavaScript).
  3. Tap Website Data. You'll see a list of all websites that have stored data on your device.
  4. Find the website that's causing the loop. Swipe left on its name and tap Delete. Or tap Remove All Website Data at the bottom if you can't find it.
  5. Go back to Safari and try the page again.

Still looping? Try turning off iCloud Keychain for Safari passwords. Go to Settings > [your name] > iCloud > Passwords & Keychain. Turn off Sync this iPhone. That forces Safari to forget any saved passwords. Then try the site again. If it works, you can turn iCloud Keychain back on later – the loop was probably caused by a corrupted password entry.

Quick-reference summary table

CauseFixHow long it takesWill I lose data?
Old cache or historyClear History and Website Data30 secondsSigns you out of websites
Broken JavaScriptDisable JavaScript in Advanced settings20 secondsNo data loss, but some sites may look broken
Corrupt cookies or passwordsDelete website data or turn off iCloud Keychain sync1 minuteYou may need to re-enter passwords

Start with the first fix – clearing cache and history. That solves it for most people. If you're still stuck after trying all three, you might be dealing with a server-side problem. In that case, try using a different browser like Chrome or Firefox to see if the loop happens there too. If it does, the site itself is broken, and you'll need to contact the website's support team.

Was this solution helpful?