Features
Type-safe
End-to-end type safety between Server and Client components.
Universal
Supports Next.js (app & pages routers), React SPA, Remix, React Router, and more.
Simple
React.useState
-like API, that syncs with the URL.Batteries included
Built-in parsers & serializers for common state types.
History controls
Replace or append to navigation history and use the Back button to navigate state updates.
Related queries
useQueryStates
hook to manage multiple keys at once.Client-first
Shallow updates by default, opt-in to notify the server to re-render RSCs (with throttle control).
Server cache
Type-safe search params access in nested React Server Components. No prop drilling needed.
Transition
Support for useTransition to get loading states on server updates.
Customizable
Make your own parser and serializer.
Tiny
Tested & testable
Tested against every Next.js release. Use the provided test adapter to test your components in isolation.
Sponsors
- Vercel
- Ryan Magoon
- Pontus AbrahamssonFounder of Midday.ai
- Carl LindesvärdFounder of OpenPanel
- Robin WieruchAuthor of The Road to Next
- Yoann FleuryFront end developer
Used by
I started building my own hook helpers for handling URL states and had to deal with some performance drawbacks.
Eventually stumbled on this little beauty and it has everything I wanted and more.
The DX improvement using nuqs for me has been amazing.
We use nuqs pretty much everywhere 🖤
It’s a database ORM for your URL
thx a lot for this awesome library! I was syncing with URL like nextjs recommends .. performance are awful and I was about to move back to useState.
This is a great idea, way better than calling useSearchParam and cook my own stuff! nuqs is such a important last piece for app router! An extremely underrated lib!