The Vanilla JavaScript Repository

Because lighter plugins mean lighter sites

Mo.js: Animation library

Mo.js: Animation library

Mo.js is a motion graphics library geared towards the serious interaction developer.

Minigrid.js: Masonry layout

Minigrid.js: Masonry layout

Minigrid.js is a responsive masonry grid layout library.

Microlight.js: Code highlighting

Microlight.js: Code highlighting

Microlight.js is a compact code snippet highlighter.

MediumEditor.js: WYSIWYG text editor

MediumEditor.js: WYSIWYG text editor

MediumEditor.js is a great looking rich text editor based on medium.com.

Mark.js: Keyword highlighter

Mark.js: Keyword highlighter

Mark.js is a search term highlighting library useful for marking search terms and regular expressions on the fly.

LPology.js: Drag & drop uploads

LPology.js: Drag & drop uploads

LPology.js is a drag and drop style frontend file uploader with upload progress and file previews.

Lory.js: Mobile first slider

Lory.js: Mobile first slider

Lory.js is a touch enabled slider written in ES6.

List.js: Search, sort, filter

List.js: Search, sort, filter

List.js allows you to add search, sort and filter functionality to your lists, tables and HTML.

LightenseImages.js: Image zoom

LightenseImages.js: Image zoom

LightenseImages.js is simple image zoom library inspired by Medium's Zoom.js.

LazySizes.js: Image lazy loading

LazySizes.js: Image lazy loading

LazySizes.js is an SEO friendly image lazy loading library.

Keymaster.js: Keyboard shortcuts

Keymaster.js: Keyboard shortcuts

Keymaster.js allows you to define and execute custom keyboard shortcuts in your web page or web app.

Kajero.js: Content editable markdown

Kajero.js: Content editable markdown

Kajero.js is a markdown document library that's completely content editable on the frontend. Kajero.js also allows you to visualize and execute code blocks within your markdown.

Jump.js: Smooth scroll

Jump.js: Smooth scroll

Jump.js is a smooth scroll library with support for callbacks and custom easings.

Isotope.js: Masonry layout

Isotope.js: Masonry layout

Isotope.js is a responsive masonry layout library with options for sorting and filtering.

IsMobile.js: Mobile detection

IsMobile.js: Mobile detection

IsMobile.js is a mobile detection library for phones and tablets with support for specific model detection.

IntenseImages.js: Image zoom

IntenseImages.js: Image zoom

IntenseImages.js is an image zoom library with cursor awareness functionality for very large images.

Impress.js: Presentation library

Impress.js: Presentation library

Impress.js is a presentation library powered by keyboard shortcuts and optimised CSS transitions.

Iconate.js: Icon transformation library

Iconate.js: Icon transformation library

Iconate.js is a library for transforming/morphing one icon into another with custom easings.

Horsey.js: Search autocomplete

Horsey.js: Search autocomplete

Horsey.js is a customizable autocomplete library with support for ajax, suggestions, key pairs, custom HTML rendering, textarea and dropdown lists.

Holmes.js: Filter page content by search

Holmes.js: Filter page content by search

Holmes.js allows you to show & hide or filter page content on the fly by keyword search.

Headroom.js: Toggle header on scroll

Headroom.js: Toggle header on scroll

Headroom.js saves you precious screen real estate by showing and hiding your header as you scroll.

GreenSock.js: Animation library

GreenSock.js: Animation library

GreenSock.js (also GSAP, TweenMax) is an animation library built to animate anything in any browser.

Grafi.js: Image processing

Grafi.js: Image processing

Grafi.js is an image processing library with support for invert, contrast, posterize and blur adjustments.

Flatpickr.js: Date picker

Flatpickr.js: Date picker

Flatpickr.js is a lightweight date and time picker.

Want to suggest a plugin?
Submit one on Github 🤘