Log inSign up
/

The fully-featured Shepherd.js alternative

Flows is the Shepherd.js alternative for teams who have outgrown DIY product tours and want a scalable way to build product adoption.

No credit card required. No commitment. Quick setup.

TL;DR comparison summary

Shepherd.js is a lightweight open-source JavaScript library for building simple product tours using tooltips and highlights. It’s easy to get started, but everything beyond basic tours like state management, logic, targeting, analytics, and maintenance, needs to be built and maintained in-house.

Flows is a modern alternative to Shepherd.js that removes the need to build and maintain onboarding infrastructure yourself. With Flows, you create workflows that live inside your product, using your own UI components and logic, while Flows handles state, orchestration, and delivery.

Flows vs Shepherd.js: Key differences

Key features

Shepherd.js

Flows

Product tours

Both Shepherd.js and Flows support guided product tours and step-by-step user guidance.

Floating components

Shepherd.js provides overlays and popovers. Flows supports tooltips, modals, banners, and more.

Embeddable components

Flows allows you to embed components inline within your app’s UI, not just overlay highlights.

Customization

Shepherd.js allows visual customization through configuration and CSS. Flows offers full control over UI and behavior using your own components.

Workflow logic

Flows supports full branching workflows. Shepherd.js requires custom code for conditional paths.

State management

Flows automatically manages user state, progress, and completion. Shepherd.js requires manual implementation.

Localization

Flows supports localization out of the box. Shepherd.js requires custom translation handling.

Analytics

Flows provides built-in analytics and tracking. Shepherd.js requires custom analytics integration.

Targeting

Flows offers advanced user targeting and segmentation features. Shepherd.js requires custom implementation for targeting specific user groups.

Free plan

Shepherd.js requires a paid license for commercial applications. Flows offers a free plan with 250 monthly active users.

Other differences

Build vs buy

With Shepherd.js, your team owns everything around the tour: logic, state, targeting, analytics, and long-term maintenance.

Flows removes the need to build onboarding infrastructure. You focus on UI and content while Flows handles orchestration and delivery.

From tours to workflows

Shepherd.js is designed for linear, step-by-step product tours and little else.

Flows supports full workflows with branching logic, inline components, and long-running journeys across sessions.

Part of your product

Shepherd.js overlays UI elements on top of your application, which can feel bolted on as your product evolves.

Flows workflows live inside your product and can be built using your own components and design system.

Maintenance and ownership

Every UI change or new requirement means updating custom Shepherd.js code and re-testing tours.

Flows adapts naturally as your product changes, reducing maintenance overhead and long-term technical debt.

Team collaboration

Shepherd.js is developer-only. Product managers and designers depend on engineering for every change.

Flows enables collaboration between developers, product managers, and designers in a shared system.

Switch from Shepherd.js to Flows today

Stop rebuilding onboarding logic in-house. Build scalable, product-native workflows with Flows.

Get started for free

No credit card required. Free forever.