Framework integrations: official wrappers vs native adapters
Shepherd.js supports React, Vue and Angular through official wrappers maintained by the Shepherd team, which the project describes as wrappers around its core library. A community wrapper exists for Ember.
GlowTour.js ships one adapter per framework that renders the tour with that framework's own components: React, Vue, Angular, Solid, and vanilla custom elements.
Customization model: step options vs composable components
Shepherd steps are configured with options such as title, text, buttons, classes and attachTo, and render into Shepherd's dialog structure (header, text, footer). Its default styles are minimal and meant to be themed with your own CSS classes, per tour or per step.
GlowTour.js exposes those dialog pieces as components you can reorder, replace or wrap, and themes them through --glow-tour-* CSS custom properties.
API ergonomics: addStep() vs a builder
Shepherd builds a tour imperatively: create a Tour, call addStep() for each step, then control it with methods such as start(), next() and back().
GlowTour.js chains steps and step actions in a builder that returns an immutable workflow definition any adapter can run, and accepts a JSON config for tours stored outside your code.
Accessibility and licensing
Both document keyboard navigation, focus trapping and ARIA attributes. Licensing is the sharper difference: Shepherd.js is available under AGPL-3.0 for open source and non-commercial use, with a commercial license required for commercial products and revenue-generating companies. GlowTour.js is MIT licensed.
Should you choose GlowTour.js or Shepherd.js?
- Choose Shepherd.js if you want a mature framework-agnostic solution with official framework wrappers, and AGPL-3.0 or a commercial license fits your project.
- Choose GlowTour.js if you want native framework adapters, a popover you compose from components, a builder-style API, and an MIT license.
GlowTour.js is newer than Shepherd.js and ships as ESM only. Server rendering is verified for its React, Vue, Solid and Angular adapters; check the compatibility page for the exact versions before adopting it. For every library side by side, see the best open-source product tour libraries.
Sources
- GlowTour.js
- CompatibilityBuilder APIAccessibility guideSSR guideGitHub
- Shepherd.js
- WebsiteGitHub
