Fluid tab switching
Smoothed gesture accumulation keeps every swipe continuous instead of jumpy or over-eager.
TabSwipe turns your trackpad into the fastest way to move across browser tabs.
Packed In
Smoothed gesture accumulation keeps every swipe continuous instead of jumpy or over-eager.
Feel a subtle click when you land on a tab or hit the edge of the stack.
TabSwipe watches the frontmost app and only intercepts gestures where it should.
Vertical, horizontal, or both. Tune the gesture to the way your hand already moves.
Adjust pixels-per-tab until the motion feels exactly right on your trackpad.
Wrap forever or stop at the edge with a satisfying thunk. Your tabs, your rules.
Hide the Dock icon, hide the menu bar icon, and keep the utility as tucked away as you want.
Built in Swift with low-level event handling, so it stays light on CPU, memory, and battery.
FAQs
TabSwipe works seamlessly with Chrome, Brave, Safari, VS Code, Zed, Notion, Finder, Terminal, iTerm2, and Xcode. You can enable support for all apps in the settings to apply the same interception model more broadly.
BetterTouchTool maps gestures to actions, while TabSwipe changes how tab navigation works. With BTT, each swipe triggers a single shortcut (e.g. “next tab”), so moving across 6 tabs takes 6 swipes. With TabSwipe, tabs behave like a continuous strip — one swipe can move across 6 tabs in a single motion.
Yes. TabSwipe lets you adjust pixels per tab, reverse scroll behavior, and choose vertical, horizontal, or both directions.
Yes. You can keep moving across tabs in a loop or disable continuous scrolling and use hard edges with haptic feedback.
It is a native macOS app written in Swift. It listens at the system level and sends the right tab-switching shortcuts when your gesture crosses a tab boundary.
TabSwipe is a one-time purchase of $12.99 for a lifetime license. We offer a 3-day free trial so you can experience the native haptics and fluid gestures before you buy.
Yes, you may request a full refund within 7 days of your original purchase. No reason required.