Free & Open Source for Android
Block distracting apps with a physical tap.
Select what to block, tap an NFC tag to start, and put the tag out of reach. The only exit is the tag. No digital bypass, no "just this once."
How it works
-
01
Pick your blocked apps
Choose any installed app. A safety list permanently excludes your dialer, launcher, settings, and camera so you can never brick your phone.
-
02
Write an NFC tag or generate a QR code
TapBlok writes its token to any NTAG213 tag in seconds. Prefer QR? Generate one in-app and print it or hide it somewhere inconvenient.
-
03
Start a session and put the tag away
Tap Start and set the tag somewhere out of arm's reach. When you try to open a blocked app, a wall appears. The only way out is the tag.
-
04
Take a break if needed
Three 5-minute pauses per session. They reset when the session ends.
Why physical
Software willpower is weak.
Any app you can bypass with a tap in settings, you will bypass. The decision to stop focusing becomes frictionless.
An NFC tag adds one deliberate physical step. You have to reach for the object that unlocks you. That pause is the whole product.
I use these NTAG215 black adhesive sticker tags — low-profile, stick well, and a pack of 10 is a few dollars. Write your tag with the app, stick it somewhere that forces you to stand up, and you're done.
Features
Unlock
NFC Tag
Write TapBlok's token to any NTAG213 tag. Tap it to start and stop monitoring.
Unlock
QR Code
Generate a QR code in-app and print it. Stash it anywhere that adds real-world distance.
Blocking
Block Any App
Select any launchable app. Critical system apps are permanently off-limits.
Session
Smart Breaks
Three 5-minute pauses per session. Designed for quick checks that won't derail focus.
Reliability
Boot Persistence
If your device restarts during an active session, TapBlok resumes automatically.
Safety
Emergency Override
Lost your tag? A 90-second hold stops the session. Deliberately slow to prevent impulse bypassing.
Awareness
Attempt Counter
See how many times you tried to open a blocked app. Accountability you can't ignore.
Convenience
App Shortcut
Long-press the TapBlok icon to start a session without opening the app.
Trust
Open Source
Every line of code is on GitHub. No black boxes, no telemetry, no ads.
Technical
| Platform | Android 7.0 (API 24) and up |
| Unlock methods | NFC tag, QR code scan |
| Permissions | Usage stats, draw over other apps, foreground service |
| Data collection | None |
| Internet | Not required |
| Price | Free, no in-app purchases |
| Source | github.com/cajdata/TapBlok |
What it does not do
No cloud. No account. No ads.
TapBlok does not sync to the cloud, sell usage data, or require a login. It has no analytics, no A/B tests, and no ads.
It runs a foreground service that checks the active app once per second. When it sees a blocked app, it covers the screen. That is the entire feature set.
Compare
Why choose TapBlok?
The only free, open-source Android app blocker with physical enforcement. No subscription required — ever.
| Feature | TapBlok | Brick | Opal | Freedom | One Sec |
|---|---|---|---|---|---|
| Price | Free | $99/device | $59.99/yr | $3.99/mo | $19.99/yr |
| Android Support | Yes | No | No | Yes | Yes |
| NFC Physical Unlock | Yes | Yes | No | No | No |
| QR Code Unlock | Yes | No | No | No | No |
| No Subscription | Yes | Yes | No | No | No |
| Open Source | Yes | No | No | No | No |
| No Cloud / No Tracking | Yes | No | No | No | No |
| Break System | Yes | No | No | No | No |
| Boot Persistence | Yes | Yes | No | No | No |
Comparison based on publicly listed product details as of early 2026. Prices may vary.
FAQ
-
Yes. No in-app purchases, no subscriptions, no hidden costs. The source code is on GitHub under the Apache 2.0 license.
-
Any NDEF-compatible NFC tag works. Personally, I use these NTAG215 black adhesive sticker tags — they're low-profile, stick well, and the black color blends in wherever you put them. A pack of 10 is a few dollars.
-
There is a 90-second emergency hold for situations where a tag is genuinely lost. The intentionally slow hold makes impulse bypassing hard. A QR code is also always available as a backup unlock method.
-
No. A built-in safety list permanently excludes your dialer, SMS app, settings, camera, and launcher. You cannot accidentally make your phone unusable.
-
Completely. TapBlok stores everything locally on your device using a local Room database. There is no account, no server, no analytics, and no ads. Verify it yourself in the source code.
-
Android 7.0 (API 24) or higher. TapBlok uses the standard Usage Stats and Foreground Service APIs available across all modern Android versions.
-
TapBlok needs two permissions. The app will prompt you for both on first launch, but here are the manual paths:
- Usage access: Settings → Apps → Special app access → Usage access → TapBlok → Allow
- Display over other apps: Settings → Apps → Special app access → Display over other apps → TapBlok → Allow
Exact menu names vary slightly between Android 7 and Android 14, but the path is the same.
-
MIUI aggressively kills background services. You need to do all of the following:
- Autostart: Settings → Apps → Manage apps → TapBlok → Autostart → On
- Battery saver: Settings → Apps → Manage apps → TapBlok → Battery saver → No restrictions
- Lock the app: In the Recents screen, long-press the TapBlok card and tap the lock icon to prevent it from being cleared.
Without Autostart especially, MIUI will kill the monitoring service when your screen turns off.
-
Yes. EMUI and HarmonyOS have their own battery management that kills services. Fix it with:
- App launch: Settings → Apps → App launch → TapBlok → Manage manually → enable Auto-launch, Secondary launch, and Run in background
- Battery optimization: Settings → Battery → App launch → TapBlok → Don't optimize
-
Samsung's Adaptive Battery can restrict background activity. To prevent this:
- Battery optimization: Settings → Device care (or Battery and device care) → Battery → Background usage limits → Never sleeping apps → Add TapBlok
- Alternatively: Settings → Apps → TapBlok → Battery → Unrestricted
-
- Battery optimization: Settings → Battery → Battery optimization → All apps → TapBlok → Don't optimize
- Auto-launch (ColorOS): Settings → Privacy/Security → App permissions → Auto-start management → TapBlok → On
-
Android 12 introduced stricter foreground service restrictions. If you see a "Restricted" battery state for TapBlok, change it:
- Settings → Apps → TapBlok → Battery → select Unrestricted (not Optimized or Restricted)
The "Optimized" default is usually fine, but "Restricted" will kill the monitoring service.