TAP MACRO
Record your taps and swipes once, then let your phone repeat them. Every recorded action shows up as a step you can open and change — the wait before it, where it touches, how long it holds — or add new taps, swipes, pauses and button presses by hand. Free, no ads, no account, no internet permission.
tech.hankelsner.tapmacro · sideloaded APK, not a Play Store listing · built and signed on hankelsner.tech
Record, look, change, replay
Record
Tap Record. TAP MACRO steps aside and a small floating bar appears. Open the app you want to automate and press ●. Tap and swipe as you normally would — each gesture is captured and passed straight through to the app underneath, so it still reacts. The bar's ◁ and ⌂ buttons press Back and Home and record them.
See every action
Press ✓ and you land in the editor. Each tap, long press, swipe and button press is one row, with its position, its hold or swipe time, and the wait before it.
Edit anything
Tap a row to change its type, timing or coordinates. Pick on screen drops you onto the real screen: tap the new spot, or draw a new swipe with your finger. Add steps with +, drag ≡ to reorder, swipe a row away to delete it, and Undo if you change your mind.
Replay
Press Play. Steps run in order, each one waiting for the last to finish. Set a repeat count (or loop forever), a speed, and optional random jitter on waits and positions. Press ■ on the bar to stop at any moment.
The floating bar while recording:
- Step types — Tap, Long press (any tap held 500 ms or more), Swipe/drag along the recorded path, Wait, Back, Home, Recent apps, Notification shade.
- Per step — wait before it (ms), X/Y position, hold time or swipe time, swipe end point (the recorded curve bends to fit), an optional label.
- Per macro — name, repeat count (0 = forever), playback speed, random wait ± %, random position ± px, countdown before start.
- Bulk — multiply every wait (0.5 = twice as snappy) or set them all to one value.
- Test a single step, or play from any step, straight from its row menu.
- Share / export a macro as JSON, and import one from a file or by pasting.
Sideloading and the one-time switch
- Download tapmacro-latest.apk on the phone and open it. Allow installs from your browser or file manager when Android asks (Settings → Apps → your browser → Install unknown apps).
- Open TAP MACRO and tap Open settings. In Accessibility → Installed apps (some phones say Downloaded apps), choose TAP MACRO and switch it on.
- Switch greyed out? Android 13 and newer block that switch for apps installed from a download until you allow it: App info → ⋮ (top right) → Allow restricted settings, then go back and switch it on. The app has an App info button that takes you straight there.
Why Accessibility? It is the only way Android lets one app place touches into another. TAP MACRO uses it for gestures only: it is configured not to read window content, it has no internet permission at all, and your macros are stored only in the app's private storage on the phone.
- Positions are screen pixels. Play a macro in the same orientation you recorded it in; the editor warns you when the screen size differs.
- One finger at a time. Pinch and other multi-finger gestures are not recorded.
- A swipe replays at an even pace along its recorded path, over its recorded time — a press-hold-then-drag is replayed as one smooth drag.
- While recording, each gesture reaches the app a moment after you lift your finger, because TAP MACRO captures it first and then hands it on. Go at a steady pace; very rapid taps can slip through unrecorded.
- Some banking and DRM apps refuse injected touches by design. That is their choice, not a bug in the macro.