radix3 vs find-my-way vs trek-router for HTTP routing
radix3, find-my-way, and trek-router are small routing libraries, not hosted services. Their package identities, runtime requirements, release histories, and repository states differ enough that old benchmark tables and popularity shorthand are misleading. Compare the exact package version you would install, the HTTP methods and constraints your server needs, and current maintenance evidence.
TL;DR verdict
Start with find-my-way when its documented HTTP-method routing and constraint features match the server. Treat radix3 as a package-version-specific evaluation because its historical repository identity now redirects to rou3. Treat trek-router as a narrow compatibility choice whose npm-declared repository identity is trekjs/router. Benchmark the exact route fixture yourself before selecting on performance.
Key takeaways
- All three are MIT-licensed npm packages; there is no hosted plan or vendor request quota to compare.
- Current npm metadata reports different Node.js engine requirements, and radix3 has no engines field in the current package record.
- The historical unjs/radix3 repository identity redirects to h3js/rou3, while trek-router's npm record points to trekjs/router.
- Weekly npm distributions may include transitive installs and do not establish direct production adoption.
At-a-glance comparison matrix
| Option | Product shape | Best fit | Commercial or operating model |
|---|---|---|---|
| radix3 | Package identity requiring version-specific verification | Teams already tied to its API and willing to inspect the exact package | Repository identity redirects to rou3 |
| find-my-way | HTTP-method routing with parameters, wildcards, and constraints | Servers needing the documented routing surface | Current package and readme provide the strongest bounded evidence |
| trek-router | Small HTTP router package | Legacy or narrow integrations that match its API | Old source line; verify compatibility directly |
Evidence-backed comparison
Adoption signals
For 2026-08-18 through 2026-08-24 npm reported radix3 8,458,848, find-my-way 15,074,659, and trek-router 229 downloads. At access time GitHub reported the redirected radix3 repository identity h3js/rou3 at 744 stars/38 forks, find-my-way 1,625/155, and trekjs/router 123/3. These are distributions and repository counters, not direct-use counts or production quality.
Versions and releases
Current npm versions are radix3 1.1.2, find-my-way 9.9.0, and trek-router 1.2.0. find-my-way's latest GitHub release is v9.9.0. The redirected h3js/rou3 repository release v0.9.2 is not the same package version as radix3, and trek-router's registry metadata points to a package last published from the trekjs/router code line. Preserve those identity distinctions.
License
Current npm metadata identifies radix3, find-my-way, and trek-router as MIT. The current find-my-way and redirected rou3 readmes also state MIT. Keep the license claim at package scope or repository scope and do not infer support obligations.
Runtime and integration fit
find-my-way 9.9.0 requires Node.js 20 or newer and documents HTTP methods, parameters, wildcards, constraints, and framework-independent use. trek-router 1.2.0 declares Node.js 6 or newer in its old package metadata. radix3 1.1.2 has no engines field in the current npm record, while its historical repository identity now redirects to rou3. Do not claim current H3/Nuxt integration from the redirected repository without package-specific evidence.
Documented capabilities
find-my-way's current readme documents HTTP-method routing, parameters, wildcards, version/host constraints, and framework-independent use. trek-router's package record identifies a fast HTTP router but its source line is old. The old radix3 repository now resolves to rou3, whose current readme describes route patterns and compilation. Treat radix3 package behavior as requiring package-version-specific verification during implementation.
How to use popularity signals
Use dated npm distributions and repository counters only as context. Counts can include transitive installs and do not establish quality, direct adoption, or formal lifecycle status. Frame selection around verified API needs and current maintenance evidence.
Source availability and current status
Official npm records for all three packages and the current find-my-way and trekjs repository sources were reachable on 2026-08-25. The nicolo-ribaudo/trek-router URL returns 404, while trek-router's npm metadata identifies trekjs/router as its repository. The unjs/radix3 GitHub API identity redirects to h3js/rou3. Treat those identities as package-specific evidence rather than as a maintenance guarantee.
Decision framework
Start with routing semantics: required HTTP methods, parameter decoding, wildcards, host or version constraints, duplicate-route behavior, and error handling. Next pin the Node.js version and the exact package version and repository identity you would ship. Use maintenance evidence only to decide how much compatibility testing and source review the choice requires. If throughput matters, run the same representative route fixture against all candidates and retain the environment, warmup, repetitions, and raw results.
Migration notes
Create a fixture with static paths, parameters, wildcards, method-specific handlers, host or version constraints, and duplicate-route behavior. Run the same assertions against the old and new router. Check error semantics and parameter decoding before measuring speed. If performance matters, record package commits, Node.js version, hardware, route fixture, warmup, repetitions, and raw output.
Methodology
This comparison uses npm package metadata and weekly download records, repository APIs, README files, and the find-my-way release record, all accessed 2026-08-25. Repository redirects are reported separately from package versions: unjs/radix3 resolves to h3js/rou3, while trek-router's npm metadata points to trekjs/router. No hosted pricing or plan limits apply to these libraries. No controlled cross-product benchmark was run, so performance claims would require exact package commits, Node.js version, hardware, route fixture, warmup, repetitions, and raw output. Verify package metadata, repository identity, and release status before deployment.
Source notes
- find-my-way weekly npm downloads — accessed 2026-08-25
- find-my-way npm package metadata — accessed 2026-08-25
- find-my-way README — accessed 2026-08-25
- find-my-way GitHub release record — accessed 2026-08-25
- find-my-way GitHub repository metadata — accessed 2026-08-25
- radix3 weekly npm downloads — accessed 2026-08-25
- radix3 npm package metadata — accessed 2026-08-25
- radix3 README — accessed 2026-08-25
- radix3 GitHub repository metadata — accessed 2026-08-25
- trek-router weekly npm downloads — accessed 2026-08-25
- trek-router npm package metadata — accessed 2026-08-25
- trek-router README — accessed 2026-08-25
- trek-router GitHub repository metadata — accessed 2026-08-25
Source-backed FAQ
Which router performs best?
This guide does not name one because it has no reproducible benchmark receipt for the three exact package versions and one controlled fixture.
Does npm download volume prove direct usage?
No. Router packages can arrive transitively through frameworks and other dependencies, so dated distributions are context rather than direct-use counts.
Does trek-router have a formal retirement notice?
The cited npm and repository sources do not include a formal retirement notice. Its old source line is a maintenance signal to investigate, not proof of a declared lifecycle state.
