A lightweight react router using hooks, written in TypeScript

Usage no npm install needed!

<script type="module">
  import reactNanoRouter from 'https://cdn.skypack.dev/@react-nano/router';



License Minified + gzipped size NPM version Stars Watchers

A simple, lightweight react router using hooks, written in TypeScript.

Why Use @react-nano/router?

  • Very lightweight (see the badges above for the latest size).
  • Flexible and dead simple to use.
  • Does not force a matching algorithm on you. It's up to you!
    • Comes with a simple (one-liner) matching algorithm built-in for simple use-cases.
  • Written with hooks in TypeScript
  • Only has one peer dependency: React 16.12.0 or higher.
  • Liberal license: zlib/libpng

How to Use

Check out the documentation

Report Issues

Something not working quite as expected? Do you need a feature that has not been implemented yet? Check the issue tracker and add a new one if your problem is not already listed. Please try to provide a detailed description of your problem, including the steps to reproduce it.


Awesome! If you would like to contribute with a new feature or submit a bugfix, fork this repo and send a pull request. Please, make sure all the unit tests are passing before submitting and add new ones in case you introduced new features.


@react-nano has been released under the zlib/libpng license, meaning you can use it free of charge, without strings attached in commercial and non-commercial projects. Credits are appreciated but not mandatory.