wBlock
Next-gen ad blocker for Safari
Free
The next-generation ad blocker. 750,000 filter rules across five Safari blockers, plus userscripts, userstyles, and an element zapper. Free and open source, forever.
wBlock turns Safari into a cleaner, faster, and more private browsing experience while being completely free and open-source.
Userscript Support
Enhance your browsing with powerful userscripts that add features mainstream browsers can't. Bring back YouTube dislikes, bypass paywalls, customize social media feeds, and more. wBlock gives you the power to shape the web the way you want it.
Lightning-Fast Performance
wBlock uses only ~40 MB of RAM at idle, one of the lightest ad blockers available. Your browser stays fast and responsive while blocking ads, trackers, malware, and annoyances across every website you visit.
Complete Control
Toggle blocking on individual sites with one click. Add custom filter lists to fine-tune protection. View detailed logs to troubleshoot issues. wBlock puts you in the driver's seat.
Free & Open-Source Forever
No subscriptions, no in-app purchases, no hidden fees. wBlock is completely free and always will be. The open-source codebase ensures complete transparency; you can verify exactly what the app does and how it protects your privacy.
Privacy-First Design
wBlock runs entirely within Safari's content blocking API. There's no data collection, no tracking, and no system-level extensions that can monitor your browsing. Your privacy stays yours.
Comprehensive Protection
Using AdGuard's comprehensive filters and more, wBlock blocks ads and trackers across the entire web. One-click filter updates keep protection current.
more New
- Per-site switches in Safari: turn off content filtering, userscripts, or autoplay for just one site
- Limit a filter list or userscript to only the sites you choose
- Drag to reorder lists, and move lists between categories
- Edit saved Element Zapper rules in Settings
- TwitchAdSolutions vaft script for blocking Twitch ads
- Each device can keep its own userscript on/off choices instead of syncing them
- Filter and userscript preferences have their own Settings screen
Fixed
- Bing results no longer fail with "blocked by a content blocker"
- Overlapping updates could leave Safari with almost no rules
- Legacy backups restore, and duplicate filter lists are repaired
- A crash caused by duplicate filter IDs
- Safari rules come back reliably after unpausing
- Urban Dictionary no longer reloads in a loop
- Duplicate userscripts are removed safely
- Onboarding stays opaque after Restart Onboarding on iOS
- The rules viewer keeps its scroll position and search
Improved
- Disabled protection shows a slashed shield in Safari
- Lists that aren't downloaded yet show a Get button on iOS
- Refreshed macOS settings, toolbar search, and info popovers
- Frosted info headers that stay visible while scrolling
- Smoother tab switching on macOS
- Japanese, Turkish, and Greek translations
3.1.1 1 day ago
New
- Per-feature switches for Tube Cleaner and Player Cleaner
- DeArrow is its own script with per-channel thumbnail exceptions
- SponsorBlock settings import and export
- Exclude individual sites from a filter list, and per-site userscript exceptions
- Filters and userscripts check for updates separately, and scripts refresh from Safari while browsing
- Cosmetic filtering toggle and an in-app appearance setting
- Rules viewer highlights unsupported, duplicate, and Scripts-only rules, with line numbers
- Keyboard shortcuts: ⌘N, ⌘⇧N, ⌘L, refresh, and tab switching
- macOS finishes pending filter updates on launch without the background agent, with detailed diagnostics in Settings
- removeparam rule budget raised to Safari's 30,000
Fixed
- Custom filter categories no longer revert, and deleted custom filters can be added again
- Userscript toggles keep their state, including Player Cleaner
- False protection-page warnings when importing userscripts
- Bulk URL entry no longer merges lines while typing
- The no-updates notice can be swiped away on iOS and clicked away on macOS
- Blank text and snapback in the iOS rules viewer
- Onboarding crash from concurrent Safari setup queries
- Element Zapper no longer reloads the page when it closes, and rules apply across subdomains
- No Autoplay works on strict-CSP sites
- The update-check sheet fits in landscape on iPhone
Improved
- Faster filter applies: newest lists compile first, only failed extensions retry, and unchanged rules are not reloaded
- Lighter storage: the data store is no longer re-decoded on every read
- More reliable iCloud sync, backups, and restores, with app preferences included
- Native update progress and apply sheets sized to their content
- macOS 26 toolbar grouped into glass islands
- Unified add and edit screens for filters and userscripts
- Japanese and Turkish translations
3.1.0 10 Sept
- Fixed wBlock Scripts popup in iPadOS
- Fixed updates on older iOS versions
- Userstyle upgrades
- Fixed tap behavior
- Duplicate built-in userscripts no longer appear
- Enabled-only filters no longer blank out
- Window reset, popup updates, and restore are fixed
- iPad popup no longer disappears
- iOS Safari reload timeouts are fixed
- Auto-apply waits 60s instead of 3s
- Shared-library userstyles compile (remote Less imports inlined)
- Info panel tap-to-open is consistent
- Onboarding reset no longer leaves leftover filter lists
- Portrait lock lives under Display (hidden on iPad)
- Search languages in onboarding instead of an Add menu
- One centered apply progress sheet
- Enable regional lists from the category language picker
- Integrated and Downloaded info badges
- Unified add screens for filters and scripts
3.0.1 2 Sept
• Native Safari video via Tube Cleaner and Player Cleaner, with Picture-in-Picture and background playback
• Built-in No Autoplay from the Scripts popup, with per-site exceptions in Site Settings
• Optional Dark Reader with an in-app appearance setting
• Userstyles compile Less, Sass, and Stylus
• Native SwiftUI sheets, search, and a compact Scripts popup
• Faster Safari browsing, with the content script reduced from 536 KB to 54 KB
• Incremental filter-list updates instead of full re-downloads
• Visual 5-slot rule capacity bar and live Content Blocker status
• Allowlists category and LAN intrusion filter list
• Various stability, iCloud, and localization fixes
3.0.0 31 Aug
• Temporarily pause all blocking without toggling the Safari extension off
• Manage zapper rules and userscript exceptions per domain, with iCloud sync and backup support
• Userstyle (.user.css) support alongside userscripts
• Stronger default URL tracking protection, with parameter cleanup, referral allowlist, and URL shortener rules
• Userscript configs now persist across Safari restarts
• New Shortcuts action to run filter updates
• Redesigned popup with page userscripts and a collapsed, compact list
• Built-in tinyShield enabled by default, plus a clearer regional onboarding flow
• Editable custom filter categories
• Various stability and localization fixes
2.2.0 5 Jul
• Added support for older Apple releases: macOS 12.3+ and iOS/iPadOS 15.4+.
• Improved background filter updates, including reliability after rebooting or restarting Safari.
• Added built-in tinyShield userscripts, including regional variants for stronger anti-adblock coverage.
• Improved userscript compatibility with better GM API support, binary XHR responses, progress events, MIME overrides, stream/runtime ports, and safer downloads.
• Backups now include userscripts.
• Improved onboarding with clearer regional filter and userscript recommendations, baseline userscripts enabled by default, and no reminder-notification prompt.
• Added a Safari popup control to pause saved Element Zapper rules for the current site without deleting them.
• Fixed Element Zapper cancel/status behavior.
• Hardened iOS and shared app/extension storage to reduce background save and suspension-related crashes.
• Fixed stale userscript indexing during metadata prefetching, remote downloads, and scheduled userscript updates.
• Improved custom filter validation so userscript URLs, userscript metadata, and HTML challenge pages are rejected as filter lists.
• Expanded built-in content blocker compatibility rules for diagnostic sites and YouTube-related scriptlet coverage.
• Added localization updates, including clearer German strings.
2.1.0 19 May
- Improved Safari userscript reliability, especially during startup and after onboarding.
- Fixed issues where AdGuard Extra could be enabled or selected by default.
- Fixed onboarding reset behavior so built-in userscripts are recreated before setup continues.
- Improved handling of large userscripts and native Safari message responses.
- Added per-script controls for automatic userscript updates.
- Improved iOS background update scheduling and removed outdated silent push update handling.
- Fixed Cloud Sync startup ordering and a custom filter sync race.
- Improved Safari extension support detection on unsupported pages.
- Reduced noisy extension diagnostics in logs.
- Updated bundled scriptlets and dependencies.
- Refined German localization.
2.0.3 29 Apr
• Faster, smoother userscript viewing and editing with the new code editor, especially for large scripts
• Better userscript compatibility, including more `GM_*` support, popup menu commands, and improved handling on restricted pages
• More reliable background filter updates, with clearer status text so it's easier to tell when updates are due or running
• Improved iCloud sync for custom filters, disabled sites, and userscripts, plus clearer sync error reporting
• Added built-in popup blocking improvements with AdGuard Popup Blocker enabled by default
• Easier filter and onboarding setup, with cleaner controls, better Safari guidance, and more localization coverage
2.0.2 22 Apr
- Smarter userscript updates, including lightweight version checks before downloading
- Bypass Paywalls Clean now loads reliably through a fast proxy instead of the gitflic mirror
- Filter preprocessing improvements, including support for !#if conditionals, !#include directives, and unknown directive stripping
- Fixes to element zapper, including parent/child navigation, scroll tracking on iOS, and protobuf-backed rule storage
- AdGuard syntax highlighting in the custom filter rule editor
2.0.1 22 Mar
- New unified 5-step onboarding with built-in Safari setup
- iCloud sync for filters, userscripts, and whitelist across all your devices
- Element zapper: visually select and hide page elements in Safari
- Paste or import custom filter rules directly
- Smarter content blocker slot distribution for more active rules
- Searchable filter and userscript lists
- Preliminary localization support
- Dozens of bug fixes and performance improvements
2.0.0 16 Feb
• Fixed filter validation incorrectly rejecting valid filters upon update
• Fixed broken "restart onboarding" modal
• Other minor bug fixes & improvements
1.2.1 7 Jan
• Reorganized content blockers with clearer names (Ads, Privacy, Security, Foreign)
• New split AdGuard Annoyance filters for granular control
• Import userscripts from local files with drag-and-drop on Mac
• Added @inject-into support for better userscript compatibility
• New Fanboy's Anti-AI Suggestions filter
• Fixed app freeze when scrolling
• Fixed badge count not hiding when disabled
• Fixed userscripts disappearing after adding
• Added About menu and restart confirmation dialog
• Updated SafariConverterLib to 4.1.0
• Various stability and performance improvements
1.2.0 6 Jan
- Fixed critical auto-update race conditions that caused updates to get stuck
- Complete Protocol Buffers migration for rock-solid data persistence
- Fixed userscript injection issues preventing scripts from loading on iOS
- Auto-update now works reliably with proper background task scheduling
- Pseudo-full Greasemonkey API support: GM_addStyle, GM_getResourceText, GM_addElement
- @require directive now downloads external script dependencies automatically
- Proper unsafeWindow implementation for page context access
- Fixed compatibility with AdGuard Extra and advanced Twitch ad blocking scripts
- Auto-disabled filter tracking shows which filters exceed Safari's rule limits
- Enhanced custom filter validation with better error messages
- Added collapsible foreign filters section
- Fixed white bars in settings view on iOS
- Fixed text disappearance on long press
- Fixed badge counter initialization issues
- Fixed navigation bar visibility on macOS
- Fixed push notifications to properly trigger apply changes
1.1.0 12/11/2025
- Fixed background filter update flow on iOS
- Updated BPC filter URL
- Improved custom filter validation
1.0.2 27/10/2025
* Consolidated update checker into the "apply changes" logic
1.0.1 20/10/2025
New
- Per-site switches in Safari: turn off content filtering, userscripts, or autoplay for just one site
- Limit a filter list or userscript to only the sites you choose
- Drag to reorder lists, and move lists between categories
- Edit saved Element Zapper rules in Settings
- TwitchAdSolutions vaft script for blocking Twitch ads
- Each device can keep its own userscript on/off choices instead of syncing them
- Filter and userscript preferences have their own Settings screen
Fixed
- Bing results no longer fail with "blocked by a content blocker"
- Overlapping updates could leave Safari with almost no rules
- Legacy backups restore, and duplicate filter lists are repaired
- A crash caused by duplicate filter IDs
- Safari rules come back reliably after unpausing
- Urban Dictionary no longer reloads in a loop
- Duplicate userscripts are removed safely
- Onboarding stays opaque after Restart Onboarding on iOS
- The rules viewer keeps its scroll position and search
Improved
- Disabled protection shows a slashed shield in Safari
- Lists that aren't downloaded yet show a Get button on iOS
- Refreshed macOS settings, toolbar search, and info popovers
- Frosted info headers that stay visible while scrolling
- Smoother tab switching on macOS
- Japanese, Turkish, and Greek translations
more Version 3.1.1 1 day ago
Data Not Collected The developer does not collect any data from this app.