Lightweight JavaScript library for product tours, highlights, and contextual help for your product.

4M+ monthly downloads, used by tens of thousands of projects.
Click an example below to see driver.js in action, or find more in the documentation.
Due to its extensive API, driver.js can be used for a wide range of use cases.
Explain how to use your product and answer common questions.
Walk users through tasks step by step, letting them act as they learn.
Spotlight new features so your users don't miss them.
Provide in-context guidance right where your users need it.
Guide users field by field and point straight to inputs that need fixing.
Highlight what matters and focus your users' attention.
Import driver.js, describe your steps, and call drive(). That's the whole setup.
import { driver } from "driver.js";
import "driver.js/dist/driver.css";
const driverObj = driver({
showProgress: true,
steps: [
{
element: "#search",
popover: { title: "Search", description: "Find anything in seconds." },
},
{
element: "#notifications",
popover: { title: "Stay updated", description: "All your alerts live here." },
},
{
element: "#profile",
popover: { title: "Your account", description: "Manage settings and billing." },
},
],
});
driverObj.drive();import { driver } from "driver.js";
import "driver.js/dist/driver.css";
const driverObj = driver();
driverObj.highlight({
element: "#new-feature",
popover: {
title: "New: Dark Mode 🌙",
description: "Toggle the theme right from the toolbar.",
},
});Works with any framework or library, or even with vanilla JavaScript.
driver.js is open source under the MIT license. Use it in your side projects, your startup, or your client work.

A few lines of code and ~5kb is all it takes. No dependencies, no build step, just driver.js.