Arrow left and right: switch to the adjacent tool in the overview. Arrow up and down scroll the page.

shepherd.js

shepherd.js

Open Source

Create interactive app tours with ease and guide users with precision

Visit Website
Hearts Heat (0–100)
13,794 StarsNOASSERTIONv7.0.6-react-shepherdAug 25, 2026Since Dec 201334 open issues

AI Summary

Shepherd.js is an open-source JavaScript library that enables developers to create interactive guided tours through web applications. The tool offers full accessibility, high customizability, and is compatible with all major frameworks including React, Vue.js, Angular, and Ember. It is aimed at frontend developers looking to improve their user onboarding experience.

Screenshot of shepherd.js website

Pros

  • +Framework-agnostic: works with React, Vue, Angular, Ember, and Vanilla JS
  • +Full accessibility through keyboard navigation and ARIA attributes
  • +Highly customizable with minimal default styling

Cons

  • Requires JavaScript knowledge for configuration – no no-code interface
  • Styling and UX largely need to be designed from scratch

Use Cases

  • Onboarding new users through step-by-step explanations of app features
  • Highlighting new features during updates in a targeted way
  • Creating interactive tutorials for complex user interfaces
  • Embedding context-sensitive help guides in SaaS applications

Who is it for?

Shepherd.js is ideal for frontend and full-stack developers who want to implement professional onboarding tours and user guidance flows in their web apps.

Tags

Platform: web
Pricing: Open Source

What is shepherd.js?

Shepherd.js is an open-source JavaScript library that lets developers build guided tours through web applications. The concept: individual UI elements are highlighted step by step and given explanatory overlays. The user is walked through a sequence of steps without leaving the application. Shepherd.js ships with minimal styling by default, which gives developers considerable freedom in design.

Core features

  • Framework compatibility: Shepherd.js works with React, Vue.js, Angular, Ember and vanilla JavaScript without any additional configuration.
  • Accessibility: All tour steps support keyboard navigation and are equipped with ARIA attributes.
  • Step-by-step guidance: Individual app elements can be highlighted and paired with buttons for navigating between steps.
  • Context-sensitive use: Tours can be tied to specific states or user actions, such as the first login or after a feature update.
  • Customisable markup: Because Shepherd.js imposes almost no CSS of its own, the visual appearance can be controlled entirely through custom stylesheets.

Who is shepherd.js for?

Shepherd.js is aimed at frontend and full-stack developers who want to define onboarding flows directly in code. Typical use cases include new users seeing a complex interface for the first time, or existing users who need an explanation of a new feature.

Anyone who does not want to write JavaScript will find little use for Shepherd.js. There is no visual editor interface. Configuration, step logic and styling are entirely the developer's responsibility. This also means that building an elaborate tour with a custom design requires real CSS work, which other tools spare you through ready-made themes.

Context & alternatives

Shepherd.js belongs to the category of UI onboarding libraries. Comparable tools with a similar approach include Intro.js and Driver.js, both of which also function as lightweight JavaScript libraries. Commercial products such as Appcues or Pendo go further, offering no-code editors and user behaviour analytics, but come with corresponding costs.

The key advantage of Shepherd.js is its framework integration. Developers already working in React or Vue who want to avoid an external SaaS dependency get a fully controllable solution that lives directly in their own codebase.

Related Tools

Meooow! Want tool tips by email?

Yes, please!