Skip to content

NProgress vs Pace

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

NProgress

Open source · MIT

A small JavaScript library that shows slim progress bars at the top of a page.

Pace

Open source · MIT

A script that adds an automatic loading progress bar to any web page.

The short answer

Choose NProgress if you need…

  • 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

Choose Pace if you need…

  • Website owners who want a loading indicator without writing custom code
  • Front-end developers adding feedback to single-page or ajax-heavy pages
  • Sites that use ajax navigation and want a progress bar on each page change
  • Developers who want to pick from several ready-made progress bar styles

Side-by-side

NProgressPace
TypeLibraryLibrary
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars26.3k15.6k
Setup difficultyBeginnerBeginner
How you get itInstall with a package managerUse it in the browser (or self-host)
Main languageJavaScriptCSS
Last code update4 years ago4 days ago

What each one is

NProgress

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.

Pace

Pace is a small JavaScript file that shows a progress bar at the top of a web page while it loads. It watches ajax requests, page load state, and elements on the page to estimate progress, so you usually don't need to write any code for it to work. It is useful for letting visitors know that a page is still loading.

Best for

NProgress

  • 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

Pace

  • Website owners who want a loading indicator without writing custom code
  • Front-end developers adding feedback to single-page or ajax-heavy pages
  • Sites that use ajax navigation and want a progress bar on each page change
  • Developers who want to pick from several ready-made progress bar styles

Strengths

NProgress

  • Widely starred open-source project with a long public history
  • Simple concept with a small, focused purpose
  • Released under the permissive MIT license

Pace

  • Works automatically with no required configuration, per the README
  • Includes several built-in themes and supports custom class names
  • Has no dependencies and is described as about 4kb minified and gzipped

Not ideal for

NProgress

  • 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

Pace

  • Projects that need a non-JavaScript loading indicator, since Pace depends on running in the browser
  • Teams that need fine-grained control over progress values, because the README says it decides progress automatically
  • Anyone needing a bar on a server-rendered page with no JavaScript, since it will not run without scripts

Trade-offs

NProgress

  • 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

Pace

  • Automatic detection may not suit every website, and the README notes it has not been tested on every site
  • Last push in the metadata is from February 2024, so maintenance activity may be limited
  • Support is described for older browsers, but the README does not detail current browser testing

Getting started

NProgress

Clone the repository

git clone https://github.com/rstacruz/nprogress.git
Step-by-step guide: how to use NProgress

Pace

Include the script in your page head

<script src="https://cdn.jsdelivr.net/npm/pace-js@latest/pace.min.js"></script>

Include a theme stylesheet in your page head

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/pace-js@latest/pace-theme-default.min.css">
Step-by-step guide: how to use Pace

Frequently asked questions

What is the difference between NProgress and Pace?

NProgress: A small JavaScript library that shows slim progress bars at the top of a page. Pace: A script that adds an automatic loading progress bar to any web page. NProgress suits web developers adding a loading indicator to single-page apps, while Pace suits website owners who want a loading indicator without writing custom code.

Are NProgress and Pace free?

NProgress: Free and open source. Pace: Free and open source.

Is NProgress or Pace more popular?

NProgress has more GitHub stars (26.3k) than Pace (15.6k). Popularity isn't the same as fit — check which one matches your use case above.

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.