Progress bars, modernized.

A drop-in replacement for NProgress โ€” same API, now TypeScript-first, dependency-free and multi-framework. React and Vue adapters included.

๐Ÿ“ฆ โ‰ˆ 3 KB gzipped โšก Zero dependencies ๐ŸŽฏ TypeScript โ™ฟ Accessible ๐ŸŒ™ Reduced motion ๐Ÿ”ง SSR-safe

Try the live progress bar

These controls run the actual nprogress-next core. The blue bar at the top is live, and internal documentation links also trigger it.

Current status idle

Quick start

terminal
npm install nprogress-next
app.js
import NProgress from 'nprogress-next'

NProgress.start()
// ...some async work...
NProgress.done()

Why nprogress-next?

๐Ÿ”„ Same API

start, done, set, inc, configure, remove. Drop-in for NProgress 0.2.0.

๐Ÿ“ฆ Zero dependencies

Core is โ‰ˆ 3 KB gzipped, budget-gated in CI. Nothing else to install.

๐ŸŽฏ TypeScript

Written in TypeScript and shipped with first-class types.

โšก ESM + CJS + UMD

Bundlers, Node, browsers and CDN. SSR-safe on Next.js, Nuxt and Astro.

๐Ÿ”ง Multi-framework

React and Vue adapters: <ProgressBar /> and useProgress().

โ™ฟ Accessible

role="progressbar", live aria-valuenow and prefers-reduced-motion.

Packages

PackageDescription
nprogress-nextCore engine, framework-agnostic
nprogress-next-reactReact adapter (<ProgressBar />, useProgress())
nprogress-next-vueVue adapter (<ProgressBar />, useProgress(), plugin)

Documentation

Core API

Complete API reference for nprogress-next core.

Vue Adapter

Vue 3 components, composable, and plugin for nprogress-next.

Vanilla JS

Using nprogress-next without a framework.

Astro

Using nprogress-next with Astro.

Theming

Customize nprogress-next appearance with CSS variables.