Product tours,
one component.
Guide.js is a lightweight, open-source React component for product tours, onboarding, and contextual help. TypeScript-first. Themeable. Zero backend.
Step types
Press preview.
Watch it happen.
Four step types cover every onboarding moment. Each one renders from the same
component — change configuration.type.
The whole API
All on one screen.
No providers. No stores. Steps in, popovers out.
import { Guide } from "guide.js";
import "guide.js/styles.css";
const steps = [
{
id: "welcome",
title: "Welcome aboard",
description: "Let us show you around.",
configuration: {
type: "dialog",
progressButtonText: "Next",
progressButtonPosition: "right",
contentJustify: "justify-between",
showStepCount: true,
customPivotSelector: "",
isClosable: true,
},
},
];
export function App() {
return (
<Guide
tour={{ id: "intro", title: "Intro", steps }}
steps={steps}
isActive
/>
);
}Theme playground
Make it yours, live.
Every visual knob is a JSON token. Drop the output straight into a step's
configuration.theme.
Why Guide.js
Built to stay out of your way.
Stateless component
Pass in steps, render <Guide>. No stores, no providers, no hidden side effects.
Four step types
Dialog, pointer, banner, and announcement. Pick what fits the moment.
Anchor to anything
Target any element with a CSS selector. Guide.js handles positioning and repositioning.
Composable
Render-prop slots let you inject footers, branding, and controls without forking the component.
Themeable
Override CSS variables, per-step theme tokens, or drop in custom CSS.
TypeScript-first
Full type definitions for tours, steps, configuration, and lifecycle callbacks.
Install
One command.
Works with any bundler. Ships ESM and CJS. No peer-dep gymnastics.
npm install guide.jsReady to ship your first tour?
The quick start has you rendering steps in under two minutes.