
NProgress
A small JavaScript library that shows slim progress bars at the top of a page.
- Stars
- 26.3k
- Forks
- 1.8k
- Licence
- MIT
- Language
- JavaScript
- Last update
- 4.4 years ago
- Type
- Library
No commits in over a year — check for forks or alternatives before adopting.
What it is
NProgress is a JavaScript library that displays a thin loading bar, similar to the ones seen on YouTube or Medium, to signal that something is loading. Developers typically call its start and done functions around page or request loading. The README provided here is empty, so details beyond the repository description are limited.
- Show a loading bar during route changes in a single-page web app
- Indicate background AJAX or fetch requests in a website
- Add a YouTube-style top-of-page progress bar to a site
Great for
- Web developers adding a loading indicator to single-page apps
- Developers who want a simple, drop-in progress bar without a large UI framework
- Projects that already use JavaScript and want a lightweight visual cue for slow requests
Not ideal for
- People who need a detailed progress meter showing exact percentages, since the README-derived description covers only a slim bar; reason: the project is described as a slim progress bar
- Non-developers looking for an end-user application; reason: it is a code library, not a standalone program
- Projects needing ongoing maintenance guarantees; reason: the last push shown is June 2022
How to get it
- 1
Install with a package manager
Clone the repository
git clone https://github.com/rstacruz/nprogress.git - 2
Run it
- Include the NProgress script and stylesheet in your web page, as described in the project README
- Call NProgress.start() when loading begins
- Call NProgress.done() when loading finishes
- 3
Get the most out of it
- Check the project homepage at http://ricostacruz.com/nprogress for documentation
- Review the README for configuration options such as speed and easing settings
Downloads
Strengths
- Widely starred open-source project with a long public history
- Simple concept with a small, focused purpose
- Released under the permissive MIT license
Trade-offs
- Last code push shown is 2022-06-04, so ongoing maintenance is unclear
- README content was not available for this analysis, so usage details are unverified
- Limited scope: it only provides a progress bar, not broader loading management
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| nprogress (this) | 26.3k | Library | beginner | 4.4 years ago | Web developers adding a loading indicator to single-page apps |
| turbolinks | 12.6k | Library | beginner | 5.2 years ago | Existing Ruby on Rails apps that want faster navigation with minimal changes |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.