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."


No subscription. No account. No tracking. Everything runs locally on your device.
  1. 01

    Pick your blocked apps

    Choose any installed app. A safety list permanently excludes your dialer, messaging app, camera, launcher, and settings so you can never brick your phone.

  2. 02

    Write an NFC tag or generate a QR code

    TapBlok writes its token to any NDEF-compatible tag (NTAG213, 215, or 216) in seconds. Prefer QR? Generate one in-app and print it or hide it somewhere inconvenient.

  3. 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.

  4. 04

    Take a break if needed

    5-minute pauses that reset when the session ends. Choose zero to five per session in Settings.

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.


Unlock

NFC Tag

Write TapBlok's token to any NDEF-compatible 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

5-minute pauses for quick checks that won't derail focus. Choose zero to five per session.

Reliability

Boot Persistence

If your device restarts during an active session, TapBlok resumes automatically.

Safety

Emergency Override

Lost your tag? A slow hold stops the session — 30 seconds to 15 minutes, your choice. Or disable it entirely.

Automation

Scheduled Blocking

Sessions start and stop on their own at the times and days you pick. Set 10 pm to 7 am and sleep instead of scroll.

Discipline

Strict Mode

Stopping a session requires scanning with TapBlok open. Scanning on a block screen unlocks just that one app, briefly.

Integration

Tasker & Routines

Opt-in broadcast actions let Tasker, MacroDroid, or Samsung Routines trigger blocking — by location, calendar, anything.

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.


PlatformAndroid 7.0 (API 24) and up
Unlock methodsNFC tag, QR code scan
TriggersManual, NFC, QR, schedule, Tasker/Routines broadcast
PermissionsUsage stats, draw over other apps, foreground service, camera (QR scanning), notifications
Data collectionNone
InternetNot required
PriceFree, no in-app purchases
Sourcegithub.com/cajdata/TapBlok

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.


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
PriceFree$59 device$99.99/yr$39.99/yr$19/yr
Android SupportYesYes (12+)LimitedYesYes
NFC Physical UnlockYesYesNoNoNo
QR Code UnlockYesNoNoNoNo
No SubscriptionYesYesLifetime tier onlyLifetime tier onlyLifetime tier only
Open SourceYesNoNoNoNo

Comparison based on publicly listed product details as of July 2026. Prices vary by region and promotion — check each product's site for current pricing.


  • 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.

  • By default there's a 90-second emergency hold for situations where a tag is genuinely lost — slow enough to stop impulse bypassing. If that's still too easy, Settings lets you stretch the hold to 15 minutes or disable it completely, and Strict Mode requires scanning with TapBlok open to stop a session. Combine those with zero breaks and the only way out is the tag or printed QR code you stashed across the room.

  • Yes. Settings → Scheduled Blocking starts sessions at a set time on the days you choose, with an optional auto-stop time — overnight windows like 22:00 to 07:00 work fine. Automation apps (Tasker, MacroDroid, Samsung Routines) can also start or stop sessions via broadcast if you enable the opt-in toggle; setup examples are in the GitHub README.

  • As of v1.5.0, every install generates its own unique QR code — the old shared code was public in the source, so anyone could print a working unlock. Open "Show QR Code" and print a fresh one. NFC tags are unaffected and keep working as-is.

  • No. A built-in safety list permanently excludes your dialer, SMS app, camera, settings, system UI, 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:

    1. Usage access: Settings → Apps → Special app access → Usage access → TapBlok → Allow
    2. 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:

    1. Autostart: Settings → Apps → Manage apps → TapBlok → Autostart → On
    2. Battery saver: Settings → Apps → Manage apps → TapBlok → Battery saver → No restrictions
    3. 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:

    1. App launch: Settings → Apps → App launch → TapBlok → Manage manually → enable Auto-launch, Secondary launch, and Run in background
    2. Battery optimization: Settings → Battery → App launch → TapBlok → Don't optimize
  • Samsung's Adaptive Battery can restrict background activity. To prevent this:

    1. Battery optimization: Settings → Device care (or Battery and device care) → Battery → Background usage limits → Never sleeping apps → Add TapBlok
    2. Alternatively: Settings → Apps → TapBlok → Battery → Unrestricted
    1. Battery optimization: Settings → Battery → Battery optimization → All apps → TapBlok → Don't optimize
    2. 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:

    1. Settings → Apps → TapBlok → Battery → select Unrestricted (not Optimized or Restricted)

    The "Optimized" default is usually fine, but "Restricted" will kill the monitoring service.

Ready to actually focus?

Free, open source, and on your phone in under a minute.

Download APK View Source on GitHub