tourkit vs driver.js, Shepherd.js, react-joyride, intro.js and Reactour

tourkit is a product tour and onboarding walkthrough library for React and React Native. Every other library on this page is DOM-only, which is the one difference that decides most comparisons: if you ship a web app and a React Native app, the others mean writing the tour twice. If you only ship for the web, several of them are more established than tourkit and you should read the honest cases below.

tourkit 0.2.0driver.js 1.8.0Shepherd.js 15.2.3react-joyride 3.2.0intro.js 8.5.0Reactour 3.8.0
LicenceMITMITAGPL-3.0, commercial licence required for revenue-generating useMITAGPL-3.0, commercial licence sold separatelyMIT
Runs on React NativeYes, @tourkit/nativeNo, DOM onlyNo, DOM onlyNo, DOM onlyNo, DOM onlyNo, DOM only
ScopeReact and React NativeVanilla JS, any frameworkVanilla JS, with React, Vue, Angular and Ember wrappersReact DOM onlyVanilla JS, any frameworkReact DOM only
Runtime dependencies0 in core, 1 in the React renderer021003
Unpacked tarball441 kB152 kB640 kB703 kB893 kB96 kB
Releases to date1751521454663
Weekly downloadsnew package1,755,061311,9221,309,317221,939221,606

Licence, dependency counts, sizes, release counts and download figures read from the npm registry on 24 August 2026. Download numbers move weekly.

tourkit vs driver.js

Pick driver.js if your app is not React, or if you want the smallest possible dependency and do not need conditional steps, resume, or React Native.

The most-installed library in this category and the lightest. It is framework-agnostic, which tourkit is not. In exchange it has no notion of application context: steps cannot be filtered on your own state beyond skipping a missing element, there is no built-in resume, and holding a step on your own async work is a millisecond wait rather than a promise.

driver.js on npm

tourkit vs Shepherd.js

Pick Shepherd.js if you need a mature, heavily-exercised tour engine across several frameworks and the AGPL terms are acceptable, or you are willing to buy the commercial licence.

The oldest and most feature-complete option here, with official wrappers for four frameworks. The licence is the deciding factor for most commercial teams: AGPL-3.0 obliges you to release source for a networked application unless you buy a commercial licence. tourkit and driver.js are MIT, with no such condition.

shepherd.js on npm

tourkit vs react-joyride

Pick react-joyride if you want the most widely-used React-specific tour library and do not need the same tour to run on React Native.

The default choice for React web apps, and the closest comparison to tourkit on the web alone. The differences are cross-platform reach and dependency weight: react-joyride pulls in ten runtime dependencies and does not run on React Native, so a team shipping both a web app and an Expo app writes the tour twice. tourkit's migration notes map the react-joyride API step by step.

react-joyride on npm

tourkit vs intro.js

Pick intro.js if you want a long-established, framework-agnostic tour and hints system and the AGPL or commercial licence suits you.

Ships both step-through tours and standalone hints, the same pair tourkit covers with tours and @tourkit/react hints. Like Shepherd.js it is AGPL-3.0 with a paid commercial licence, and like every other library here it is DOM-only.

intro.js on npm

tourkit vs Reactour

Pick Reactour if you want the smallest React-specific tour package and are happy to build your own logic around it.

The most compact React option, and deliberately minimal: it gives you a stepped popover over your app and leaves conditional steps, persistence and recording to you. tourkit is larger because those pieces are in the box.

@reactour/tour on npm

When not to pick tourkit

tourkit is new. It has one release and no download history, while driver.js and react-joyride each serve over a million installs a week and have years of edge cases reported against them. If you need a library that has already been run against every browser quirk your users will hit, that maturity is a real argument and the numbers in the table above are the honest version of it.

tourkit is also React-only. If your app is Vue, Angular, Svelte or plain JavaScript, driver.js, Shepherd.js or intro.js are the ones to look at; tourkit will not help you.

The case for tourkit is narrow and specific: you ship React on the web and React Native on phones, and you want one TourConfig array to drive both. Getting started takes about four steps, and Migrating has API mapping tables from driver.js and react-joyride.