Help
Hi! I'm Mikail, the solo developer behind So Annoying! I made it because I was tired of having to close banners and popups every time I wanted to read something. I imagine you're here for much the same reason.
Below I've answered the questions I expect to come up as people start using the app. If I've missed yours, you can always reach me at support@soannoying.app. It might take a day or two, but I'll reply to every message.
How it works
How does it block things?
So Annoying! works in two steps. First, it gives Safari lists of rules for blocking ads, trackers and known annoyances. Safari applies those rules as a page loads. Most of the work happens here, without the extension having to look at the page.
Then the extension handles things that need a closer look, like a popup that appears after you've started reading. It can close the popup, restore scrolling and answer supported cookie banners using the site's own controls or consent settings.
If something still gets through and you close it yourself, the app can learn from that. When it can tell how you closed it, it saves a rule on your device to try next time you visit. With Learning on, it also sends a small report that can help improve the rules for other people. There's more about that under Learning.
What does it remove?
Ads, trackers, cookie banners, newsletter popups, prompts to open an app, notification requests drawn by websites, chat bubbles, floating videos and AI answers in search results.
You can switch each category off under WHAT IT REMOVES. If you like the AI answers, for example, you can keep them.
What does it choose on cookie banners?
On supported banners, it rejects optional cookies where it can, either by using the site's reject control or saving the consent choice directly. It remembers those answers so it can restore them if the site asks again.
There is an exception: some sites offer only a choice between accepting cookies and paying. On supported banners of that kind, the app chooses the free option. Ad and tracker blocking stays on, but that isn't a guarantee that every form of tracking is prevented.
A banner removed by a static rule may only be hidden. Removing a banner and recording a cookie choice aren't always the same thing.
Do I need to update the app to get new rules?
No. Blocking rules update separately, so a fix for a website can reach you without a new App Store release.
The app checks when you open it, and can also check while you use Safari. On iPhone and iPad, iOS may allow background checks too. There isn't a guaranteed update time. To check now, open ABOUT and choose CHECK FOR NEW RULES.
Getting started
Do I need Safari?
Yes. So Annoying! works inside Safari and nowhere else. If you deleted Safari from your iPhone or iPad, install it from the App Store first, then open So Annoying! again and follow SETUP.
Pages in Chrome or another browser aren't blocked. If a link opened in another browser, open that page in Safari instead.
How do I turn it on?
Open So Annoying! and follow SETUP. It shows you the switches to turn on, then opens a page in Safari to check that the extension has website access. If you skipped setup, you can open it again from the app's settings.
To do it yourself on iPhone or iPad:
- Open Settings → Apps → Safari → Extensions. On iOS 17, Safari is directly under Settings.
- Turn on So Annoying! and the four numbered extensions, So Annoying! – 1 through So Annoying! – 4.
- Open the unnumbered So Annoying! entry, then set Other Websites to Allow.
- Return to the app and finish SETUP.
On Mac:
- In Safari, open Settings → Extensions.
- Enable So Annoying! and all four numbered extensions.
- Select the unnumbered So Annoying! extension and allow it on every website. Depending on your Safari version, this is under Edit Websites or Always Allow on Every Website.
- Return to the app and finish SETUP.
Can I turn the switches on from Safari on iOS 17 or 18?
Yes, and it is quicker than Settings. In Safari, tap the button at the left of the address bar, choose Manage Extensions, turn on all five switches and tap Done. SETUP shows the same taps and its button opens Safari for you.
Website access is a separate step. Open the test page in Safari and it shows you where.
Why are there five extensions?
Four hold the blocking lists. Safari limits the size of each list, so they need to be split up. The fifth, without a number, handles the dynamic work described above. Turn on all five for the app to work fully.
How can I check that setup worked?
The app checks the extension switches. The test page checks whether the unnumbered extension can run on websites. Open it in Safari: Working means that website access is set up. If it isn't, the page shows you what to do.
These checks confirm setup. They don't mean every ad on every site will be caught.
What about Private Browsing and Safari profiles?
Safari has separate extension settings for Private Browsing and profiles. If the app works in a regular tab but not a private one, check Allow in Private Browsing for So Annoying! in Safari's extension settings. If you use profiles, check that the extensions are enabled in the profile you're using too.
The app can't verify those settings for you. Open the test page in the affected private tab or profile to check website access there.
Do I need to keep the app open?
No. Once setup is done, the extensions work in Safari without the app window open. Open the app when you want to change a setting, check for new rules or look at your activity.
Something isn't working
Nothing is being blocked. Where do I start?
Open the app and check that protection is on. If Home shows a setup problem, follow its link. Then check Safari's extension settings against the steps above.
If it's only happening on one site, check that you haven't paused it in So Annoying! or disabled content blockers for it in Safari. Reload the page after changing either setting.
I changed a setting in the app but Safari still does the old thing.
Go back to Safari and reload the page. A page that was already open keeps the old setting until it loads again.
Closing Safari does not help.
An ad or popup still gets through.
While you're on the page, open So Annoying! from Safari's page menu on iPhone or iPad, or its toolbar on Mac. Choose Something got through and add a note about what you saw.
You can also share the page to So Annoying!, or open ABOUT → REPORT in the app. The share sheet lets you leave an email address if you're happy to be contacted about the problem.
Websites change, so there will be things the app misses. A report helps me find the problem. If a popup has a close button, you can also close it normally: Learning may be able to remember that for next time.
A site stopped working after I enabled the app.
Open So Annoying! in Safari and turn on Pause on this site, then reload the page. If that fixes it, choose This site broke and describe what stopped working. For example, “the play button does nothing” is much easier to investigate than “broken”.
You can leave that site paused while continuing to block elsewhere. When you're ready to try again, turn the pause off.
If a grey layer covers the page and nothing responds, do the same.
YouTube says ad blockers aren't allowed.
If YouTube says you're using an ad blocker, it may be reading marks an older blocker left in Safari. Clear what Safari saved for google.com and youtube.com, then sign in to YouTube again. You'll be signed out of Google in Safari, and that's what clears it.
On iPhone or iPad, open Settings → Apps → Safari → Advanced → Website Data. Search google and remove everything. Do the same for youtube.
On Mac, open Settings → Privacy → Manage Website Data in Safari. Type google and remove all. Do the same for youtube.
Why did a cookie banner come back?
The site may have changed its banner, or Safari may have cleared the site's saved choice. So Annoying! keeps a separate copy of the answers it can remember and tries to restore them on your next visit.
If the same banner keeps coming back, report the site. Remembering an answer only helps if the site still accepts it.
Ads are disappearing, but the counter is still at zero.
Safari doesn't tell the app what its static lists blocked. The counter shows removals the dynamic extension could verify, so it won't include everything that disappeared.
A zero by itself doesn't mean blocking is off. If popups are also getting through, check website access using the test page.
The rules look old, or CHECK FOR NEW RULES keeps spinning.
Open the app while you're online, go to ABOUT, choose CHECK FOR NEW RULES and keep the app open until it finishes. It ends on UPDATED or UP TO DATE. If it ends on CHECK FAILED, run it again.
iOS decides when a closed app may check, so a phone you rarely open can fall behind. Low Power Mode stops checks while the app is closed. Keep So Annoying! open until the check finishes, or turn Low Power Mode off for a minute.
Safari says an extension can't read webpage content. Is something wrong?
That's expected for the four numbered content blockers. Safari applies their lists without giving them access to the page. The unnumbered So Annoying! extension needs website access for its dynamic features.
Free and plans
What can I use for free?
Ads and trackers in Safari stay blocked for free on iPhone, iPad and Mac. You don't need a plan or a trial for that, and it has no time limit.
A plan takes care of the rest. It handles cookie banners, popups and the other annoyances, and brings Learning, YouTube without ads in Safari and IN OTHER APPS.
What do the plans add?
There are two. In Safari handles cookie banners, popups and the other annoyances, and brings Learning and YouTube without ads in Safari, on your iPhone, iPad and Mac. In Safari + IN OTHER APPS does all of that and also blocks the ads inside your other apps and games on iPhone and iPad.
Each comes monthly, yearly or as one lifetime purchase. Monthly and yearly start with a free trial. Lifetime is a one time purchase with no trial. PLAN in the app shows the prices before you buy.
Your plan works on your iPhone, iPad and Mac with the same Apple Account, and Family Sharing works on every plan. If you own In Safari for life, you can add IN OTHER APPS for life with one more purchase.
I paid, but the app doesn't show my plan.
Open PLAN and choose RESTORE PURCHASE. Check that you're signed in to the Apple Account you used to buy your plan. If it still doesn't appear, email me with your device model and what the app says.
For a family member's purchase, also check that it's being shared with you in Apple's Family Sharing settings.
How do I cancel a subscription?
On iPhone or iPad, open Settings → your name → Subscriptions and select So Annoying! On Mac, open the App Store and find Subscriptions in your account settings. Apple has instructions for each device.
Your plan stays active until the end of the period you've paid for. The lifetime purchase has no subscription to cancel.
How do I ask for a refund?
Request one from Apple at reportaproblem.apple.com. Apple handles purchases and refunds, so I can't issue one directly.
I have an offer code. How do I use it?
Open the redeem link you were sent on your iPhone, iPad or Mac, signed in to the Apple Account you want to use. The App Store opens its redeem page. You can also tap your picture in the App Store and choose the redeem option there.
Codes only work in the App Store. They don't work inside So Annoying! or on Android or Windows. Once the code is redeemed, open PLAN and choose RESTORE PURCHASE if your plan doesn't show.
Privacy and settings
Why does it need access to websites?
The dynamic extension needs to inspect a page to find a banner, close it or restore scrolling. Safari's permission covers that access, which is why its warning is broad. The four numbered content blockers don't need it.
That work happens on your device. With Learning enabled, limited reports about removals and misses are sent to help improve the rules. The privacy policy lists the fields, what they're used for and how long they're kept.
What happens when Learning is on?
The app watches for supported popups and banners that you dismiss yourself. If it can identify what worked, it saves a rule to use on a later visit. This won't work for every popup, but it means a miss can become something the app handles for you.
Learning is on by default. It also enables automatic reports with the site name and limited technical details about the element, so a useful fix can eventually reach other users. Those automatic reports don't include the page's text, cookies or full address.
Turn it off under Settings → LEARNING to stop new learning and automatic reports. Rules already learned keep working; you can remove them on the same screen. Reports you choose to send yourself still go through.
Can I write my own filters?
There isn't a filter editor or an element picker. You can choose which categories to remove, pause individual sites and delete learned rules. For something the app doesn't catch, use the report button or let Learning try to tell how you closed it.
How do I hide the count on pages?
The little count that appears on a page is the badge. Open the app's settings, choose COUNT ON PAGES and set SHOW to NEVER. ALWAYS and FIRST WEEK ONLY are the other two.
Why does Safari show So Annoying! in another language than the app?
Open the app's settings, choose LANGUAGE and pick yours, or SAME AS DEVICE. Safari follows on the next page you load.
The app itself changes the next time you open it.
The Mac offers REOPEN to change the app at once.
Does it block ads in other apps or browsers?
On iPhone and iPad, yes. IN OTHER APPS blocks the ads inside your other apps and games, and it comes with the In Safari + IN OTHER APPS plan. On the Mac, So Annoying! works in Safari. There isn't a version for Android or Windows.
Blocking in other apps
On iPhone and iPad, IN OTHER APPS removes ads inside your other apps and games, not only in Safari. That includes the YouTube app and the ad breaks between songs in Spotify. Prime Video puts its ads inside the show itself, so those stay. It comes with the In Safari + IN OTHER APPS plan. Turn on IN OTHER APPS on Home, and the app shows you each of the five setup steps.
It runs on your phone, and everything it reads stays there. Site pauses apply to Safari only. If an app stops loading something it needs, turn the switch off. If an ad still gets through, tap Report an ad on the IN OTHER APPS screen.
On the Mac, So Annoying! works in Safari. Blocking inside other apps and games is on iPhone and iPad, where the In Safari + IN OTHER APPS plan covers it with the same Apple Account.
Which blocking lists does it use?
It uses open lists including EasyList and EasyPrivacy, alongside rules made for So Annoying! You'll find the sources and licences under ABOUT → LICENCES in the app.
Which regional list am I using?
The app adds a regional list when one of your device's preferred languages has one, and the first language in your list that has one picks it. LICENCES under ABOUT names every regional list. The app doesn't show which one your device uses, but a report sent from ABOUT → REPORT includes it. If none of your languages has a regional list, the main lists still work.
Can I use iCloud Private Relay?
Yes. So Annoying! works alongside iCloud Private Relay. Blocking runs locally in Safari and does not require a VPN.
Can it unlock paid articles?
No. So Annoying! doesn't bypass paywalls or unlock paid content.