Sign in

nuqs

@nuqs.dev
372 followers 1 following 90 posts

Type-safe search params state manager for React frameworks. Like useState, but stored in the URL query string. Made by @francoisbest.com & contributors 🔗 nuqs.dev

PostsRepliesMedia
nuqs @nuqs.dev · 20/08/2026
📦 nuqs@2.10.0 is out! 🚀 The React SPA adapter is now SSR-compatible for @astro.build, Inertia.js, @fastify.dev etc. Feed it the `serverSearch` prop to avoid a flash of defaults on island hydration. Changelog: nuqs.dev/changelog#v2... Try it out: pnpm add nuqs@latest
// search.astro
---
import { SearchIsland } from '../islands/SearchIsland'
---

<SearchIsland client:load serverSearch={Astro.url.search} />

// SearchIsland.tsx
import { NuqsAdapter } from 'nuqs/adapters/react'

export function SearchIsland({ serverSearch }: { serverSearch: string }) {
  return (
    <NuqsAdapter serverSearch={serverSearch}>
      {/* useQueryState works here, on the server & the client */}
    </NuqsAdapter>
  )
}
081
nuqs @nuqs.dev · 17/08/2026
📦 nuqs@2.9.6 is out! 🚀 It fixes an issue with pending URL updates not resetting on Back navigation in Next.js pages router & TanStack Router, when no useQueryState(s) hooks were mounted. Also minor correctness fixes for parsers. nuqs.dev/docs/changel...
nuqs.dev
Changelog | nuqs
Type-safe search params state management for React. Like useState, but stored in the URL query string.
081
nuqs @nuqs.dev · 05/08/2026
📦 nuqs@2.9.5 is out! 🚀 It adds SSR support to the community Inertia adapter, and fixes 6 minor edge-case bugs. Full changelog: nuqs.dev/changelog#v2... Try it out: pnpm add nuqs@latest
nuqs.dev
Changelog | nuqs
Type-safe search params state management for React. Like useState, but stored in the URL query string.
061
nuqs @nuqs.dev · 29/07/2026
📦 nuqs@2.9.3 is out! 🚀 It fixes a bug where state updates would blink/replay when pending state updates done in startTransition were rebased on top of other priority updates. Concurrent React is fun. Try it out: pnpm add nuqs@latest
Install nuqs@latest using your favourite package manager.
083
nuqs @nuqs.dev · 24/07/2026
📦 nuqs@2.9.2 is out! 🚀 It fixes a React concurrency issue where a discarded render could leave query state stuck out of sync with the URL. Try it out: pnpm add nuqs@latest
Install nuqs@latest using your favourite package manager
091
Reposted by nuqs
François Best @francoisbest.com · 09/07/2026
The replay of my @forkit.community talk is out: youtu.be/slbSwQo8Xqc?...
youtu.be
Maintaining open-source at the age of AI - François Best
YouTube video by Fork it! Community
1113
nuqs @nuqs.dev · 19/07/2026
📦 nuqs@2.9.1 is out! 🚀 It includes many bug fixes, a few found by @shadcn.com's /improve skill 🫶, and also: - Better monorepo & MFE compatibility - Fixed startTransition support in @reactrouter.com v7+ (while loaders run) Also, we have a changelog page now: nuqs.dev/changelog
nuqs.dev
Changelog | nuqs
Type-safe search params state management for React. Like useState, but stored in the URL query string.
091
Reposted by nuqs
Neciu Dan @neciudan.dev · 06/07/2026
"The state of your application, instead of living in memory, lives in the URL." New Señors at Scale episode with @francoisbest.com, creator of nuqs: URL state internals, npm supply chain attacks, and AI agents in open source. 🎥 youtu.be/b3AYuuRdyf4 #React #nuqs
1155
Reposted by nuqs
François Best @francoisbest.com · 04/07/2026
✍️ New blog post: how I refactored the @nuqs.dev release pipeline for npm staged publishing. nuqs.dev/blog/staged-... Also some relevant supply-chain security advice for GitHub Actions & npm package consumers. (words written by hand, with some LLM assistance for supporting diagrams)
nuqs.dev
Staged publishing for supply-chain security | nuqs
How we hardened the nuqs release pipeline against supply-chain attacks.
2327
Reposted by nuqs
François Best @francoisbest.com · 02/07/2026
When people say that "@nuqs.dev just works": this is why. app.principal-ade.com/47ng/nuqs
The nuqs codebase visualised as a tree map. The e2e test make up 60%, the docs 20%, and the core package only 10%.
2283
nuqs @nuqs.dev · 30/06/2026
📦 nuqs@2.9.0 is out! 🚀 - Added support for @reactrouter.com v8 - Added `history` as a global default at the adapter level 🐞 Plus lots of bug fixes, check out our new changelog page: nuqs.dev/docs/changel... Try it out: pnpm add nuqs@latest
npm install, {pnpm,yarn,bun} add nuqs@latest
041
Reposted by nuqs
François Best @francoisbest.com · 25/05/2026
The new reality of open-source at the age of AI: - 📈 Downloads going up (3M weekly for @nuqs.dev) - 📉 Human engagement (visit to the docs, stars, issues & discussions) going down. I’ll be talking about this in my talk next week at @forkit.community
nuqs weekly download stats, showing 3M last week from 2M 90 days ago.Traffic to the nuqs docs, showing a 39% reduction for the last 90 days
4508
Reposted by nuqs
François Best @francoisbest.com · 21/05/2026
Staged publishing TL;DR 1. You replace `npm publish` with `npm stage publish` 2. It puts the tarball in a staging area for review 3. You approve it via the CLI or web It will land in npm@^11.15.0. I've already turned off non-staged publishing in @nuqs.dev (in the Trusted Publishing settings).
3494
nuqs @nuqs.dev · 12/05/2026
PSA: given the state of the supply chain security theatre on GitHub & NPM, and the scale of recent attacks, we're no longer accepting 3rd party PRs on nuqs for the time being. In time, I hope, this too shall pass. 🙏 github.com/47ng/nuqs/di...
github.com
[security] Temporarily closing PRs from external contributors · 47ng nuqs · Discussion #1401
The recent attacks on the NPM ecosystem (last in date being the TanStack infection with Mini Shai-Hulud yesterday) combined with the lack of proper tools on GitHub's side to properly defend against...
0100
Reposted by nuqs
François Best @francoisbest.com · 05/03/2026
Tomorrow on stream I'll be unveiling a new @nuqs.dev API. Your URL state is about to become much cleaner, type-safe, and easier to scale. 10am CET. twitch.tv/francoisbest
twitch.tv
Twitch
Twitch is the world
051
nuqs @nuqs.dev · 27/02/2026
📦 nuqs@2.8.9 is out! 🚀 It fixes a warning in @nodejs.org 25 related to localStorage access on the server (TIL Node.js is adding this API 👀). You can now enable debug logs server-side with the env var DEBUG="nuqs" (or any string that contains it). Try it out: pnpm add nuqs@latest
071
Reposted by nuqs
React Advanced London @reactadvanced.gitnation.org · 18/02/2026
Type-Safe URL State Management with @francoisbest.com! The URL is a powerful hidden state manager. Learn to use nuqs for type-safe URL state with teleportation and time travel capabilities. Watch the talk: gitnation.com/contents/type-safe-ur…
0102
nuqs @nuqs.dev · 02/02/2026
📦 nuqs@2.8.8 is out! 🚀 🐞 It fixes a bug with @nextjs.org app router where URL state would leak during navigation (destination page pre-rendered with the source page's search params). Try it out: pnpm add nuqs@latest
?n=u&q=s - Type-Safe Search Params State Manager for React
npm i
pnpm add
yarn add
bun add
nuqs@latest
0131
nuqs @nuqs.dev · 30/01/2026
📦 nuqs@2.8.7 is out! 🚀 🐞 It fixes a bug with @reactrouter.com 6/7 & @remix.run with Link & Back navigation, where the source page would briefly re-render with the destination URL state before unmounting. Try it out: pnpm add nuqs@latest
?n=u&q=s - Type-Safe Search Params State Manager for React
npm i
pnpm add
yarn add
bun add
nuqs@latest
091
Reposted by nuqs
React Paris Conf' -by- BeJS @bejs.bsky.social · 30/01/2026
🟦 #WORKSHOP DAY - Just Confirmed 😉 👨🏻‍💻 Level Up Your URL State In Next.js With @nuqs.dev 👨🏻‍💻with @francoisbest.com Learn More & Save Your Seat NOW! ⚠️Limited Seats 👉🏼 react.paris
062
nuqs @nuqs.dev · 23/01/2026
nuqs has reached TEN THOUSAND STARS 🤯 Insane. Thank you so much, y'all! 🫶
?n=u&q=s, Type-safe search params state manager for React
10,000 stars on GitHub: 47ng/nuqs
0110
Reposted by nuqs
François Best @francoisbest.com · 02/01/2026
The @nuqs.dev types in TypeSlayer 😈 Happy new year! 🎆🎇
A coloured node-relationship graph visualisation with lots of data points, looking like fireworks
1131
Reposted by nuqs
François Best @francoisbest.com · 31/12/2025
2025 was an incredible year for @nuqs.dev, but the best part was the friends we made along the way. 🫶 Happy new year! 🥂
nuqs.dev
2025 | nuqs
A look back on an amazing year of OSS, meeting people, and milestones.
0121
Reposted by nuqs
François Best @francoisbest.com · 26/12/2025
🟣 on Tuesday stream we'll be adding an e2e test suite for the @nuqs.dev Waku adapter targeting v1@alpha. This is the "graduation ceremony" towards becoming the 8th official adapter! 🎉⛩️
091
nuqs @nuqs.dev · 25/12/2025
Merry Christmas everyone! 🎄🎅🎁
A Christmas-themed AI-generated artwork of the nuqs logo. The ? is a candy cane, the n is wrapped in lights, the = is a pair of logs covered in snow, the u is filled with baubles, the & is a wreath, the q has a santa hat and a glowing star atop, the = is two candy canes, and the s is another wreath. A lit up Christmas tree and snowflakes in the background
050
Reposted by nuqs
François Best @francoisbest.com · 22/12/2025
I tried Claude Code this weekend to rewrite the @nuqs.dev e2e test suite from Cypress to Playwright. LoC wise, this was a 80% 🤖 / 20% 👨‍💻 But prep was about 80% 🧠 / 20% 🤖 I prepared a few example tests, shared abstractions and metadata (deps, config) by hand, and left the grunt work to the bots.
nuqs - Type-safe search params state manager for React

Cypress ➡️ Claude ➡️ Playwright
1151
nuqs @nuqs.dev · 23/12/2025
📦 nuqs@2.8.6 is out! 🚀 Type-level bug fix: the `LoaderOptions` type was deprecated in favour of `CreateLoaderOptions`, which wasn't exported (it is now). Try it out: pnpm add nuqs@latest
?n=u&q=s - Type-Safe Search Params State Manager for React
npm i
pnpm add
yarn add
bun add
nuqs@latest
031
Reposted by nuqs
François Best @francoisbest.com · 16/12/2025
I see a lot of AI slop articles about @nuqs.dev on LinkedIn, but this one tops it all. 🤦‍♂️ The article also ends up with the usual follow-up: "would you like to add any other sections to the blog post, such as…" 🫠
Here is the revised « why choose nuqs? » section in a clean, Markdown-formatted table, ready for you to copy and paste directly into your dev.to blog post.

## Why choose nuqs?
3121
nuqs @nuqs.dev · 19/12/2025
nuqs has reached 40M downloads (all-time) 📈 Thank you all! 🫶
<download icon> 40M
0121
Reposted by nuqs
François Best @francoisbest.com · 12/12/2025
📺 Video is up! In 1h30 we built a @nuqs.dev adapter for @redwoodjs.com, with: - Client hook (read + write) - Server-side loading - Declarative client/server state location (with the shallow option) - Full type-safe linking (pathname + search params) Code & links in the description ⬇️
youtube.com
Making a custom nuqs adapter for RedwoodSDK
YouTube video by 47ng
021
Reposted by nuqs
François Best @francoisbest.com · 09/12/2025
Coming next year: @nuqs.dev workshops. I come to your company (in person or remote), and: - Evaluate how your app could improve with URL state - Show you how to use nuqs efficiently for your domain - Level up your team with best practices Interested? DMs are open.
nuqs - Type-safe search params state manager for React

Workshops
Levelling up your team's URL state managment

COMING SOON
072
nuqs @nuqs.dev · 10/12/2025
📦 nuqs@2.8.5 is out! 🚀 It fixes a bug with useQueryStates where passing undefined for a key would try and serialise it. - undefined means "leave as-is" - null means "remove from the URL" - any other value sets the state & updates the URL Try it out: pnpm add nuqs@latest
?n=u&q=s - Type-Safe Search Params State Manager for React
npm i
pnpm add
yarn add
bun add
nuqs@latest
092
Reposted by nuqs
François Best @francoisbest.com · 08/12/2025
Fun fact: @nuqs.dev means “What!?” in Klingon 🖖
041
nuqs @nuqs.dev · 08/12/2025
📦 nuqs@2.8.4 is out! 🚀 It removes the "use client" directive from .d.ts files, which could cause issues when "skipLibCheck" wasn't set in your @typescriptlang.org config. It also fixes an internal script to build the repo on Windows. Try it out: pnpm add nuqs@latest
?n=u&q=s Type-Safe Search Params State Manager for React
npm i
pnpm add
yarn add
bun add
nuqs@latest
041
nuqs @nuqs.dev · 05/12/2025
📦 nuqs@2.8.3 is out! 🚀 🐞 It fixes a bug where the processUrlSearchParams middleware wasn’t called on debounced updates. Try it out: pnpm add nuqs@latest
?n=u&q=s - Type-Safe Search Params State Manager for React
npm i
pnpm add
yarn add
bun add
nuqs@latest
021
nuqs @nuqs.dev · 01/12/2025
📦 nuqs@2.8.2 is out! 🚀 Just a little internal fix on detecting multiple versions being loaded at the same time (very rare). Most importantly, it adds @dominikdoesdev.bsky.social & databuddy.cc to the sponsors list 💖 Try it out: pnpm add nuqs@latest
databuddy.cc
Privacy-first web analytics (Google Analytics alternative) — 3 KB, GDPR-compliant | Databuddy
Experience powerful, privacy-first analytics that matches Google Analytics feature-for-feature without compromising user data. Zero cookies required, 100% data ownership, and AI-powered insights to he...
081
Reposted by nuqs
Noé Tatoud @ntatoud.bsky.social · 30/11/2025
This Friday @reactadvanced.gitnation.org London, I got to see @francoisbest.com's talk on #nuqs for the second time! The last time was actually his first talk at @forkit.community Rouen 2024. Inspiring to see how far he's come 📖✍️ and to witness the crowd react with such amazement! Congrats man!
142
Reposted by nuqs
Mohammad Bagher 👾 @aslemammad.bsky.social · 27/11/2025
we all love @nuqs.dev 💙 thank you @francoisbest.com for supporting @pkg.pr.new. and a huge shoutout to @ariperkkio.dev for suprising me with this one.
171
Reposted by nuqs
François Best @francoisbest.com · 27/11/2025
I'm signing the @opensourcepledge.com, it's time to give back to the maintainers of the projects @nuqs.dev depends on. I just gave 2700€ ($3,212) to 18 maintainers & projects I use, love, and want to support. Happy Thanksgiving! 💖 nuqs.dev/blog/open-so...
nuqs.dev
Signing the Open Source Pledge | nuqs
Giving back to maintainers of the OSS projects nuqs depends on.
56610
nuqs @nuqs.dev · 23/11/2025
Join the @reactadvanced.gitnation.org live stream on Friday 28th! 🗣️👀 reactadvanced.com
reactadvanced.com
React Conference In London, Nov 28 & Dec 1, 2025
The main React Conference in the UK, running every year in London. Focused on Advanced React topics from the React Core team, framework authors and case studies from top engineers.
070
nuqs @nuqs.dev · 21/11/2025
📦 nuqs@2.8.1 is out! 🚀 🐞 It fixes two bugs with @tanstack.com Router: - Trailing slash is no longer added on state updates - Custom history.state is maintained Try it out: pnpm add nuqs@latest
?n=u&q=s Type-Safe Search Params State Manager for React
npm i
pnpm add
yarn add
bun add
nuqs@latest
0153
Reposted by nuqs
François Best @francoisbest.com · 19/11/2025
The State of React survey is out! 🔗 survey.devographics.com/en-US/survey... You know what to do 👀
What other libraries have you used to manage state in your apps?
nuqs
192
Reposted by nuqs
François Best @francoisbest.com · 15/11/2025
I have an idea for my @reactadvanced.gitnation.org talk that would requiring building and shipping a new feature in @nuqs.dev next week (so I can actually rehearse with it). Conference-driven development is real.
1191
Reposted by nuqs
François Best @francoisbest.com · 18/11/2025
Yesterday I quietly released @nuqs.dev 2.8.0 No big new feature, but a widening of the SemVer range for react-router{-dom} to include v5, as I need it in a client project. Might be removed in nuqs@3.0.0, we'll see how support goes. The adapter can be installed with the @shadcn.com CLI:
nuqs.dev
React Router v5 Adapter | nuqs
Using nuqs in React Router v5 applications.
181
Reposted by nuqs
François Best @francoisbest.com · 13/11/2025
The @nuqs.dev @shadcn.com registry now has an RSS feed 📡 ✨ Get notified when we drop a new adapter, parser or utility 🐞 or when we push updates & bug fixes nuqs.dev/registry It now contains community adapters, to one-command install nuqs in: ⛩️ Waku 🐘 Inertia 🥇 One.js 📱 Expo Router (coming soon)
Shadcn Registry (RSS icon)
Use the shadcn CLI (https://ui.shadcn.com/docs/cli) to install custom parsers, adapters, and utilities from the community.
0101
nuqs @nuqs.dev · 07/11/2025
📦 nuqs@2.7.3 is out! 🚀 - bug fix when passing null to clear a key configured with parseAsArrayOf(...).withDefault([]) - parseAsBoolean is now case-insensitive → /?bool=TRUE does what you expect Try it out: pnpm add nuqs@latest
install nuqs@latest using your favourite package manager
050
nuqs @nuqs.dev · 29/10/2025
📦 nuqs has passed 1M weekly downloads on @npmjs.bsky.social 🚀 Thanks everyone! 🫶
Homepage: nuqs.dev
🩷 Fund this package
Weekly downloads: 1004771
Version: 2.7.2
License: MIT
0222
Reposted by nuqs
François Best @francoisbest.com · 27/10/2025
My talk at @nextjs.org conf is online! Go watch it, it contains two gems: - The dangers and limits of URL state (to make you a better engineer) - A live demo of how @nuqs.dev uses a declarative approach to type-safe and time-safe behaviours, in a composable way.
youtube.com
Type-safe URL state in Next.js with nuqs
YouTube video by Vercel
0194
Reposted by nuqs
François Best @francoisbest.com · 26/10/2025
Post-conf weekend project: adding support for the @shadcn.com CLI in @nuqs.dev to install: - parsers - adapters - little snippets that make more sense to vendor into your codebase & tweak as needed First one is the utility I showed in my talk for type-safe linking (with typedRoutes) in @nextjs.org
Shadcn Registry
Use the shadcn CLI to install custom parsers, adapters and utilities from the community.

Typed links for Next.js
npx shadcn@latest add https://nuqs.dev/r/next-typed-links.json

This utility connects your typedRoutes type-safe pathnames to a search params descriptor object, and gives you back a function you can call to generate a fully type-safe (pathname + search params) href for linking & routing.
081