Navigation Kit gives you full, declarative control over every screen and flow, so you can build apps with clarity, confidence, and zero hacks.
⭐️⭐️⭐️⭐️⭐️
I used to dread dealing with SwiftUI’s navigation. NavigationStack, sheets, fullScreenCovers… it always felt like a fragile mess. Navigation Kit gave me back control. Now everything is clean, predictable, and just works. If you’re serious about building great SwiftUI apps, you need this.
Here's a list of features Navigation Kit has to offer:
👉 Simple and unified API
👉 Decouple navigation logic from your views 🤯
👉 Supports iOS17+, macOS14+, tvOS17+, watchOS10+ and visionOS1+
👉 Supports SwiftUI5, SwiftUI6 and SwiftUI7 💎
👉 Supports Dependency Injection (move data between views easily)
👉 Access the navigation with the @Environment
👉 Easily use navigation within View Models too (MVVM)
👉 Perfect for deep links
👉 Works with TabView
👉 Easily pop to root
👉 Can pop back to any view
👉 EASY 3 step setup
👉 Supports .link, .sheet and .fullScreenCover navigation
👉 Supports .switch navigation between tabs
👉 Has .onComplete callback
👉 Works with async/await
👉 Example Xcode Project
👉 100% Documented
Freelance iOS Developer
“Clients expect clean navigation and fast delivery. Before Navigation Kit, I’d lose hours wrestling with SwiftUI’s quirks. And now I ship faster, with fewer bugs, and my code looks way better, too.”
Indie iOS Developer
“I care about code quality, and SwiftUI’s default navigation always felt like a compromise. Navigation Kit lets me write navigation that’s elegant and scalable. It feels like SwiftUI finally clicked.”
Lead Mobile Engineer
“After one too many navigation bugs in production, I knew I had to find a better solution, and really fast. Navigation Kit gave me peace of mind, and clean, testable flows that actually make sense.”
Set all your Destinations in one place.
Use TabsStack together with TabItemStack (or NavStack only) to set your root view.
Access the built in navigation through the environment.
Push a view. Optionally add onComplete. Select the push type. Use in an async/await environment.
Pop to any view in any way you want to.
When TabStack is set up switch between tabs wherever you are in the navigation.
Deep link to any view. Use completion handlers or async/await.
Senior iOS Engineer
"We build complex flows across multiple teams, and SwiftUI’s built-in navigation just couldn’t keep up. Navigation Kit brought sanity to our codebase. It's now part of our standard stack for every new project."
Learning SwiftUI on the side
“As a beginner, I always felt like navigation was the part I was supposed to ‘just accept’ as messy. Navigation Kit changed that. Now I finally understand how to structure my screens the right way.”
Team Manager
“I’m not a dev, but I know when something slows us down. Our iOS team used to waste hours debugging navigation bugs. Since switching to Navigation Kit, we’ve shipped faster and with more confidence.”
Every function, every variable, every line of code is thoroughly documented, so you get peace of mind what Navigation Kit does under the hood.
Deep linking fix
Introduced TabItemStack
iOS17+ ・ macOS14+・ tvOS17+・ watchOS10+ ・ visionOS1+