Watch nuqs at
LivestreamFeatures
Type-safe
End-to-end type safety between Server and Client components.
Universal
Supports Next.js (app & pages routers), React SPA, Remix, React Router, TanStack 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
Sponsors
Vercel
Unkey
OpenStatus
code.store
oxom.de
Ryan Magoon
Pontus AbrahamssonFounder of Midday.ai
Carl LindesvärdFounder of OpenPanel
Robin WieruchAuthor of The Road to Next
Aurora ScharffQueen of RSCs 👸
Yoann FleuryFront end developer
Luis Pedro Bonomi
Contributors
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.

It’s a database ORM for your URL

We use nuqs pretty much everywhere 🖤

nuqs is fkn dope
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!

nuqs has to be one of the best libraries out there. lifting state to the url is so easy now and far better for ux.

Just used the nuqs library for the first time today… and wow - syncing URL query params in Next.js has never felt this elegant.
Parsing, defaults, clearOnDefault — it's pretty wild
Where has this been all my life?

Sometimes, there is no need to complicate managing state. nuqs is really powerful.

nuqs simplifies your URL logic like magic. Seriously.

It made me realize URL should be part of the design convo not just a place to dump state.
Since I started using nuqs more heavily in production, the way I see and treat URL completely changed.

The goat library

best library ever

i love nuqs

Just did first custom parser today, pretty simple .. great API design 👌