September 9, 2026

Intro.js, Shepherd and Driver.js all do the same honest thing: give a developer a way to highlight elements and step a user through them, in code, for free.
They are excellent until the tour becomes somebody’s recurring job, which is the point at which "free" stops describing it.
A tour that lives inside your product, is version-controlled with it, and is written by the people who wrote the UI. No vendor, no snippet, no data leaving your app.
For an internal tool or a single onboarding flow that rarely changes, this is the right answer and paying for a platform would be silly.
If you need in-product guidance without the maintenance, the destination is an onboarding platform — Userpilot, Chameleon, Usetiful and similar — where non-developers can edit flows.
If what you actually needed was something to show people who are not in the product, that is a recorded demo, and no tour library was ever going to do it.
The second case. A captured copy of your product that anyone can click through from a link, editable by a non-developer, with per-step analytics — five free, paid from $15.99/month.
It does not run inside your app and it cannot react to a signed-in user, so it is not a managed replacement for the library. It is a replacement for the thing you were trying to achieve with it, if that thing was showing the product to outsiders.
Click through it — the same kind of demo you can record of your own product.
Record your first interactive demo free.
Five demos on the free plan, forever. No credit card, no trial countdown, no sales call. Install the Chrome extension, click through your product once, and you have a shareable link in about ten minutes.
Start free →