npmx
npmx.dev- Category
- Developer Tools
- Rank
- No. 2761Tools index
Previous survey · No. 2709 ·
- Pricing
- Open Source
- Type
- APP
- Use case
- Data, Retrieval & Knowledge
- Interfaces
- Web
- Builder
- npmx-dev
- GitHub
- 3.7k stars
- Latest release
- v0.23.0
- Date
About
A fast, modern browser for the npm registry that provides an enhanced interface for searching, browsing, and exploring npm packages. It offers instant search functionality and a better user experience compared to the official npm website.
What it does
npmx is an alternative front end to the public npm package catalogue. It reads the same registry data, then adds views the official site lacks: side by side package comparison, a diff between two versions, install size including everything pulled in underneath, and warnings when a release adds install-time scripts or changes its license. Its addresses mirror the official ones, so swapping the domain in any link opens the same page. Account chores such as adding org members or package owners run through a small helper program on your own machine that drives your installed npm command line.
Why it's ranked here
The case is the gap list. Its own comparison table marks version diff, install size, install script warnings, license change warnings, module replacement suggestions, generated API docs and a 39 locale interface as things the official site does not offer. It is MIT licensed, built on Nuxt 4, and run under a written governance model with two named stewards. Accessibility is tested rather than promised: the scripts run Lighthouse audits in both dark and light mode. The honest gaps are small but real: no dependents list yet and no two-factor or account settings.
What's good
Links are the product. Every view, from a single source line to a comparison set or a changelog, lives in the address bar, so a teammate opens exactly what you saw. Security signals are stacked in one place: advisories from the OSV vulnerability database, provenance badges, deprecation notices, and a warning when a newer release drops trusted publishing. Repository stars and forks come from ten git hosts, not just GitHub. The admin helper is cautious by design: the web page can only queue a change, each change must be approved before it runs, and dependent steps are skipped if an earlier one fails.
Tradeoffs
Admin features need a separate local helper running on Node 24 or newer, reachable from the browser over localhost, so this part does not work from a phone or a locked-down laptop. The helper keeps its queue in memory and checks a single shared token. Package pages are regenerated on a five minute cache, so a release published seconds ago may not show yet. Search leans on a third-party index run by Algolia and jsDelivr rather than the registry itself. The page security policy still allows inline scripts, which the project says Nuxt hydration requires. Dependents and account settings are missing.
How to use it well
Use it at the moment you are choosing or upgrading a dependency: compare the candidates, then open the version diff and the timeline to see what actually changed, including new install scripts or license swaps. Share the resulting link in the pull request instead of a screenshot. The browser redirect extension listed in the readme makes it the default without retraining habits. Keep the official site for account security, two-factor setup, and checking who depends on a package. Run the local helper only when you need org or owner changes.
Technical notes+
README.md and docs/content/3.faq/2.comparison.md carry the feature matrix; package.json declares MIT, a private 0.0.0 workspace pinned to pnpm and Node 24, with Vitest, Playwright, Storybook and Lighthouse a11y scripts. nuxt.config.ts wires a public Algolia npm-search index for search, sets /package/** to ISR with a 300 second window, and caches /package-code/** and /package-docs/** for a year since versioned content is immutable. cli/package.json ships npmx-connector (Node >=24.4.0); cli/src/server.ts is an H3 app with CORS limited to npmx.dev and localhost, a 16-byte random bearer token compared with plain equality, an in-memory operations list moving pending, approved, running, completed or failed, and execution in dependency waves that stop when an OTP is required but missing. modules/security-headers.ts emits a meta CSP with unsafe-inline scripts and connect-src http://127.0.0.1:* for the connector; modules/cache.ts swaps storage to Vercel runtime cache and Upstash on Vercel. app/pages/package/[[org]]/[name]/index.vue is only a routing stub.
Observed
- License
- MIT (LICENSE, package.json)
- Language and framework
- TypeScript and Vue on Nuxt 4 with Nitro and UnoCSS
- Interface
- Hosted web app with npm-compatible URLs; optional local connector CLI npmx-connector for admin operations
- Runtime requirement
- Node 24 for the app; connector requires Node >=24.4.0 (cli/package.json)
- Admin model
- Browser queues operations, user approves, connector executes them via the local npm CLI (cli/src/server.ts)
- Test surface
- Vitest unit and Nuxt projects, Playwright browser tests, Lighthouse accessibility runs in dark and light mode (package.json scripts)
- Localisation
- Interface translated across 39 locales including RTL
- Not supported
- Dependents list (coming soon) and 2FA/account settings, per the project's own comparison table
- Governance
- Written governance model with two named project stewards and an AI contribution policy
Read from README.md, package.json, LICENSE, GOVERNANCE.md, AI_POLICY.md, docs/content/1.getting-started/1.introduction.md, docs/content/2.guide/1.features.md, docs/content/3.faq/2.comparison.md, nuxt.config.ts, cli/package.json, cli/src/server.ts, modules/cache.ts, modules/security-headers.ts, app/pages/package/[[org]]/[name]/index.vue.
What it can do
Search npm packages instantly
Package name or keywords → List of matching npm packages
Browse npm package details
npm package name → Package information including description, versions, dependencies, and documentation
Explore package dependencies
npm package → Visual representation or list of package dependencies and dependents
View package versions and release history
npm package name → List of available versions with release dates and changelogs
Display package download statistics
npm package name → Download counts and usage metrics over time
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.