DEV Community

Cover image for Create Step-by-Step Guides on Your Website
Ryugen 京
Ryugen 京

Posted on

1

Create Step-by-Step Guides on Your Website

Best Libraries to Create Step-by-Step Guides on Your Website

Introduction

Interactive step-by-step guides are powerful tools to onboard users, explain complex features, and improve the overall user experience on your website. Several libraries can help you implement these guides without much hassle. In this article, we’ll introduce the best libraries you can use, how they differ, and how to get started with each one.


Why Use a Step-by-Step Guide?

A step-by-step guide offers several benefits:

  • Improves user onboarding: Helps users understand how to use your platform.
  • Enhances user engagement: An interactive guide can capture attention more effectively than static documentation.
  • Reduces support requests: Users are more likely to succeed with the help of a visual guide.

Best Libraries for Step-by-Step Guides

1. Intro.js – Simple and Lightweight

Intro.js is one of the most popular libraries for creating step-by-step guides. It highlights specific elements on the page and displays informative tooltips to guide users.

  • Features:
    • Lightweight and fast.
    • Customizable tooltips and styles.
    • Supports multi-page guides.
    • Works without external dependencies.

Installation

npm install intro.js
Enter fullscreen mode Exit fullscreen mode

Usage Example

import introJs from 'intro.js';
import 'intro.js/introjs.css';

const intro = introJs();
intro.setOptions({
  steps: [
    { intro: "Welcome to our website!" },
    { element: '#step1', intro: "This is the first step." },
    { element: '#step2', intro: "This is the second step." }
  ]
});
intro.start();
Enter fullscreen mode Exit fullscreen mode

Pros

  • Easy to integrate.
  • Minimal configuration required.
  • No external dependencies.

Cons

  • Limited styling options compared to newer libraries.

2. Shepherd.js – Modern and Highly Customizable

Shepherd.js is a modern step-by-step guide library built on top of Popper.js. It offers better positioning accuracy and supports more complex use cases than Intro.js.

  • Features:
    • Highly customizable design.
    • Supports modal overlays for a better user focus.
    • Scrolls the page to the highlighted element.
    • Multi-step and multi-page support.

Installation

npm install shepherd.js
Enter fullscreen mode Exit fullscreen mode

Usage Example

import Shepherd from 'shepherd.js';
import 'shepherd.js/dist/css/shepherd.css';

const tour = new Shepherd.Tour({
  useModalOverlay: true,
  defaultStepOptions: {
    cancelIcon: { enabled: true },
    scrollTo: { behavior: 'smooth', block: 'center' }
  }
});

tour.addStep({
  text: 'Welcome to the first step!',
  attachTo: { element: '#step1', on: 'bottom' },
  buttons: [
    { text: 'Next', action: tour.next }
  ]
});

tour.start();
Enter fullscreen mode Exit fullscreen mode

Pros

  • Modern and highly customizable.
  • Supports complex use cases.
  • Smooth transitions and animations.

Cons

  • Slightly heavier than Intro.js.

3. Guided.js – Minimalist and Lightweight

If you prefer a simple and lightweight solution, Guided.js might be the right choice. This library focuses on simplicity and works well for small-scale projects.

  • Features:
    • Minimal configuration.
    • No external dependencies.

How to Choose the Right Library

Choosing the right library depends on your project’s requirements:

  • For simplicity and speed: Use Intro.js.
  • For a modern look and complex guides: Go with Shepherd.js.
  • For minimalism: Try Guided.js.

Conclusion

Creating a step-by-step guide on your website can significantly improve user experience and engagement. Whether you want a quick, lightweight solution like Intro.js or a highly customizable option like Shepherd.js, there’s a library that fits your needs. Try one of these libraries in your next project and watch your users become more confident and engaged with your platform.


Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Bump.sh

Hate writing docs? Hate undocumented APIs even more?

Bump.sh generates an always up-to-date API reference site for REST and Event-Driven Architectures.

Plug it in your CI. It fetches your OpenAPI and AsyncAPI (GraphQL pending) spec files, and even generates a diff. Gather all of your API docs in a single source of truth.

Try it for free