Vanilla JS Libraries
These are hand-selected libraries that I would actually use or have used on a project.
As a result, the list is a lot shorter than some of the bigger “library repositories” you’ll find on the web. Ideally, the quality is better.
Note: Libraries with a next to them are ones that I wrote or manage.
⏰🦉 Early Bird Sale! Today only, get 40% off registration in the next session of the Vanilla JS Academy.
- Gulp Boilerplate. A boilerplate for building web projects with Gulp.js.
Hide & Show Content
- Houdini. A progressively enhanced expand-and-collapse and accordion widget.
- Tabby. Lightweight toggle tabs.
- A11Y Modal Dialog. An accessible modal dialogue script.
- ScrollReveal. Easy scroll animations.
- Gumshoe. A framework agnostic scrollspy script.
- Astro. A responsive, mobile-first navigation menu.
- Drop. Mobile-friendly dropdown menus.
- Offside.js. Simple off-canvas navigation menus.
Design & Layout
- Reef. A simple, lightweight alternative to React, Vue, and other bloated frameworks.
- Sticky Footer. Dynamic, responsive sticky footers.
- Vanilla FitText.js. Create scalable headlines that fill the width of a parent element.
- Rellax. A lightweight parallax library.
- DOMPurify. An HTML cross-site scripting sanitizer.
- Form Saver. Let users save, reuse, and delete form data.
- X-Ray. Let users toggle password visibility.
Photos & Video
- PhotoSwipe. An amazing photo gallery plugin.
- Swiper. Rich touch-supported sliders.
- FluidVids. Add true responsive support to your video embeds.
- Media Player. A tiny, totally cross browser, accessible, fully customizable media player.
Touch, Gesture, and Keyboard Support
- Hammer. A complex touch gesture support library.
- Sortable. Create sortable, interactive lists.
- Egg.js. Add hidden easter eggs to your site with keystroke combinations.
Feature Detection & Progressive Enhancement
- features.js. A lightweight feature detection library.
- loadCSS. Asynchronously load CSS files.
- bin. A tiny
- jar. A tiny helper library that makes working with cookies easier.
- atomic. Easily make Ajax/HTTP requests.
- events. A tiny event delegation library.
- bouncer. A lightweight form validation script that augments native HTML5 form validation elements and attributes.
Get Daily Developer Tips
Hate the complexity of modern front‑end web development? I send out a short email each weekday on how to build a simpler, more resilient web. Join over 13k others.