- Package Managers
- Component management
- Type Checkers
- Testing Frameworks
- QA Tools
- MVC Frameworks and Libraries
- Node-Powered CMS Frameworks
- Templating Engines
- Game Engines
- Data Visualization
- Image processing
- Full Text Search
- Worth Reading
- Other Awesome Lists
- Bower - A package manager for the web.
- component - Client package management for building better web applications.
- spm - Brand new static package manager.
- jam - A package manager using a browser-focused and RequireJS compatible repository.
- jspm - Frictionless browser package management.
- Ender - The no-library library.
- volo - Create front end projects from templates, add dependencies, and automate the resulting projects.
- Duo - Next-generation package manager that blends the best ideas from Component, Browserify and Go to make organizing and writing front-end code quick and painless.
- yarn - Fast, reliable, and secure dependency management.
- pnpm - Fast, disk space efficient package manager.
- Bit - Create, find and reuse components (React, Angular, Node etc.) across applications.
- browserify - Browser-side require() the node.js way.
- SeaJS - A Module Loader for the Web.
- HeadJS - The only script in your HEAD.
- systemjs - AMD, CJS & ES6 spec-compliant module loader.
- LodJS - Module loader based on AMD.
- ESL - Module loader browser first, support lazy define and AMD.
- webpack - Packs CommonJs/AMD modules for the browser.
- Rollup - Next-generation ES6 module bundler.
- Brunch - Fast front-end web app build tool with simple declarative config.
- Parcel - Blazing fast, zero configuration web application bundler.
- Microbundle - Zero-configuration bundler for tiny modules.
- FuseBox - A bundler that does it right
- Snowpack - A lightning-fast frontend build tool, designed for the modern web.
- Terser - parser, mangler and compressor toolkit for ES6+
- Uglify - parser / mangler / compressor / beautifier toolkit
- prova - Node & Browser test runner based on Tape and Browserify
- Protractor - Protractor is an end-to-end test framework for AngularJS applications.
- tape - Tap-producing test harness for node and browsers.
- TestCafe - Automated browser testing for the modern web development stack.
- ava -
- Cypress - Complete end-to-end testing framework for anything that runs in a browser and beyond.
- chai - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
- react testing library - Simple and complete React DOM testing utilities that encourage good testing practices.
- expect.js - Minimalistic BDD-style assertions for Node.JS and the browser.
- proxyquire - Stub nodejs's require.
- istanbul - Yet another JS code coverage tool.
- phantomjs - Scriptable Headless WebKit.
- slimerjs - A PhantomJS-like tool running Gecko.
- casperjs - Navigation scripting & testing utility for PhantomJS and SlimerJS.
- zombie - Insanely fast, full-stack, headless browser testing using node.js.
- totoro - A simple and stable cross-browser testing tool.
- nightwatch - UI automated testing framework based on node.js and selenium webdriver.
- puppeteer - Headless Chrome Node.js API by official Google Chrome team.
- webdriverio - Next-gen WebDriver test automation framework for Node.js.
- taiko - A Node.js library with a simple API to automate Chromium based browsers.
- Playwright - Node.js library to automate Chromium, Firefox and WebKit with a single API.
- prettier - Prettier is an opinionated code formatter.
- jsinspect - Detect copy-pasted and structurally similar code.
- JSLint - High-standards, strict & opinionated code quality tool, aiming to keep only good parts of the language.
- JS-Beautifier - Npm cli and library to format JS code.
- husky - Prevents bad git commit, git push and more.
MVC Frameworks and Libraries
- angular.js - HTML enhanced for web apps. (deprecated)
- backbone - Give your JS App some Backbone with Models, Views, Collections, and Events.
- ractive - Next-generation DOM manipulation.
- vue - Intuitive, fast & composable MVVM for building interactive interfaces.
- canjs - Can do JS, better, faster, easier.
- react - A library for building user interfaces. It's declarative, efficient, and extremely flexible. Works with a Virtual DOM.
- preact - Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM.
- react-native - A framework for building native apps with React.
- riot - React-like library, but with very small size.
- thorax - Strengthening your Backbone.
- ripple - A tiny foundation for building reactive views.
- rivets - Lightweight and powerful data binding + templating solution.
- derby - MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers.
- derby-awesome - A collection of awesome derby components
- way.js - Simple, lightweight, persistent two-way databinding.
- mithril.js - Mithril is a client-side MVC framework (Light-weight, Robust, Fast).
- jsblocks - jsblocks is better MV-ish framework.
- Keo - Functional stateless React components with Shadow DOM support.
- Alpine.js - offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost.
- inferno -
- FoalTS - Elegant and all-inclusive Node.JS framework for building web applications (TypeScript).
- Lucia - 3kb library for tiny web apps.
- Adonis - The Node.js Framework highly focused on developer ergonomics, stability and confidence.
- GrapesJS - Free and Open source Web Builder Framework. Next generation tool for building templates without coding.
- Rete.js - A modular framework for visual programming allows to create node based editor in browser.
- litegraph.js - A graph node engine and editor similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D.
- Drawflow - This allow you to create data flows easily and quickly.
- Blockly - A library that adds a visual code editor to web and mobile apps by Google.
- Million - <1kb compiler-focused virtual DOM. It's fast!
- Whatsup - A frontend framework for chillout-mode development
🥤. JSX components on generators, fast mobx-like state management and exclusive cssx style system.
Node-Powered CMS Frameworks
- KeystoneJS - powerful CMS and web app framework.
- Reaction Commerce - reactive CMS, real-time architecture and design.
- Ghost - simple, powerful publishing platform.
- Apostrophe - CMS with content editing and essential services.
- We.js - framework for real time apps, sites or blogs.
- Hatch.js - CMS platform with social features.
- TaracotJS - fast and minimalist CMS based on Node.js.
- Nodizecms - CMS for CoffeeScript lovers.
- Cody - CMS with WSYWYG editor.
- PencilBlue - CMS and blogging platform.
- Strapi - Open source Node.js Headless CMS to easily build customisable APIs.
Templating engines allow you to perform string interpolation.
- handlebars.js - An extension to the Mustache templating language.
- hogan.js - A compiler for the Mustache templating language.
- dustjs - Asynchronous templates for the browser and node.js.
- eco - Embedded CoffeeScript templates.
- Pug - Robust, elegant, feature rich template engine for nodejs. (formerly known as Jade)
- xtemplate - eXtensible Template Engine lib for node and the browser
- marko - A fast, lightweight, HTML-based templating engine for Node.js and the browser with async, streaming, custom tags and CommonJS modules as compiled output.
- A-Frame - Make WebVR.
- Cocos - Open Source Cross-Platform Game Development Framework.
- GDevelop - Free and Easy Game-Making App.
- Kaboom.js - A game programming library that helps you make games fast and fun.
- melonJS - Open source HTML5 game engine that empowers developers and designers to focus on content.
- Phaser - Phaser - A fast, fun and free open source HTML5 game framework.
- PixiJS - The HTML5 Creation Engine.
- PlayCanvas - PlayCanvas WebGL Game Engine.
Articles and Posts
Data visualization tools for the web.
- metrics-graphics - A library optimized for concise, principled data graphics and layouts.
- Chart.js - Simple HTML5 Charts using the <canvas> tag.
- peity - Progressive bar, line and pie charts.
- echarts - Enterprise Charts.
- visjs - Multiple Libraries for dynamic, browser-based data visualization.
- two.js - A renderer agnostic two-dimensional drawing api for the web.
- g.raphael - Charts for Raphaël.
- arbor - A graph visualization library using web workers and jQuery.
- cubism - A D3 plugin for visualizing time series.
- dc.js - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js
- vega - A visualization grammar.
- processing.js - Processing.js makes your data visualizations work using web standards and without any plug-ins.
- envisionjs - Dynamic HTML5 visualization.
- morris.js - Pretty time-series line graphs.
- nvd3 - Build re-usable charts and chart components for d3.js.
- svg.js - A lightweight library for manipulating and animating SVG.
- trianglify - Low poly style background generator with d3.js.
- d4 - A friendly reusable charts DSL for D3.
- dimple.js - Easy charts for business analytics powered by d3.
- chartist-js - Simple responsive charts.
- epoch - A general purpose real-time charting library.
- c3 - D3-based reusable chart library.
- BabylonJS - A framework for building 3D games with HTML 5 and WebGL.
- recharts - Redefined chart library built with React and D3.
- mxGraph - Diagramming library that enables interactive graph and charting applications to be quickly created that run natively in any major browser that is supported by its vendor.
- Frappe Charts - GitHub-inspired simple and modern SVG charts for the web with zero dependencies.
- Frappe Gantt - A simple, interactive, modern gantt chart library for the web.
- G2 - A highly interactive data-driven visualization grammar for statistical charts.
- G2Plot - An interactive and responsive charting library. Based on the grammar of graphics.
- Cytoscape.js - A fully featured graph theory library.
- cola.js - library for arranging your HTML5 documents and diagrams using constraint-based optimization techniques
- jointjs - Diagramming library to create static diagrams or fully interactive diagramming tools.
- vizzu - Library for animated data visualizations and data stories.
There're also some great commercial libraries, like amchart, anychart, plotly, highchart, and lightning chart.
- Frappe Datatable - Frappe DataTable is a simple, modern and interactive datatable library for displaying tabular data.
- Luckysheet - Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
- ace - Ace (Ajax.org Cloud9 Editor).
- CodeMirror - In-browser code editor.
- esprima - ECMAScript parsing infrastructure for multipurpose analysis.
- quill - A cross browser rich text editor with an API.
- medium-editor - Medium.com WYSIWYG editor clone.
- pen - enjoy live editing (+markdown).
- jquery-notebook - A simple, clean and elegant text editor. Inspired by the awesomeness of Medium.
- bootstrap-wysiwyg - Tiny bootstrap-compatible WYSIWYG rich text editor.
- ckeditor-releases - The best web text editor for everyone.
- editor - A markdown editor. still on development.
- jsoneditor - A web-based tool to view, edit and format JSON.
- Squire - HTML5 rich text editor.
- trix - A rich text editor for everyday writing. By Basecamp.
- Draft.js - A React framework for building text editors.
- bootstrap-wysihtml5 - Simple, beautiful wysiwyg editor
- wysihtml5 - Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles.
- raptor-editor - Raptor, an HTML5 WYSIWYG content editor!
- popline - Popline is an HTML5 Rich-Text-Editor Toolbar.
- Summernote - Super simple WYSIWYG editor.
- DevDocs is an all-in-one API documentation reader with a fast, organized, and consistent interface.
- docco is a quick-and-dirty, hundred-line-long, literate-programming-style documentation generator.
- styledocco generates documentation and style guide documents from your stylesheets.
- Ronn builds manuals. It converts simple, human readable textfiles to roff for terminal display, and also to HTML for the web.
- jsdox is a JSDoc3 to Markdown documentation generator.
- YUIDoc is a Node.js application that generates API documentation from comments in source, using a syntax similar to tools like Javadoc and Doxygen.
- coddoc is a jsdoc parsing library. Coddoc is different in that it is easily extensible by allowing users to add tag and code parsers through the use of coddoc.addTagHandler and coddoc.addCodeHandler. coddoc also parses source code to be used in APIs.
- sphinx a tool that makes it easy to create intelligent and beautiful documentation
- Beautiful docs is a documentation viewer based on markdown files.
- documentation.js - API documentation generator with support for ES2015+ and flow annotation.
- codecrumbs is a visual tool for learning and documenting a codebase by putting breadcrumbs in source code.
Libraries for working with files.
- Papa Parse - A powerful CSV library that supports parsing CSV files/strings and also exporting to CSV.
- jBinary - High-level I/O (loading, parsing, manipulating, serializing, saving) for binary files with declarative syntax for describing file types and data structures.
- diff2html - Git diff output parser and pretty HTML generator.
- lodash - A utility library delivering consistency, customization, performance, & extras.
- lazy.js - Like Underscore, but lazier.
- rambda - Faster and smaller alternative to Ramda.
- fxts - Lazy evaluation and concurrency.
- wild-wild-path - Object property paths with wildcards and regexps.
- Most.js - high performance FRP library.
- MobX - TFRP library for simple, scalable state management.
- concent - Definitely the
❤️simplest but ⚡️strongest state management for react, it is predictable、progressive and efficient.
Data structure libraries to build a more sophisticated application.
- immutable-js - Immutable Data Collections including Sequence, Range, Repeat, Map, OrderedMap, Set and a sparse Vector.
- hashmap - Simple hashmap implementation that supports any kind of keys.
- moment-timezone - Timezone support for moment.js.
- jquery-timeago - A jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. "4 minutes ago").
- date - Date() for humans.
- ms.js - Tiny millisecond conversion utility.
- countdown.js - Super simple countdowns.
- timeago.js - Simple library (less then 2kb) used to format date with
*** time agostatement.
- fecha - Lightweight date formatting and parsing (~2KB). Meant to replace parsing and formatting functionality of moment.js.
- map-countdown - A browser countdown built on top of the Google Maps.
- dayjs - Day.js 2KB immutable date library alternative to Moment.js with the same modern API.
- selecting - A library that allows you to access the text selected by the user.
- query-string - Parse and stringify URL query strings.
- sprintf.js - A sprintf implementation.
- url-pattern - Easier than regex string matching patterns for urls and other strings. Turn strings into data or data into strings.
- plexis - Lo-fi, powerful, community-driven string manipulation library.
- url-state-machine - Super fast spec-compliant URL parser state machine for Node.js.
- odometer - Smoothly transitions numbers with ease.
- store.js - LocalStorage wrapper for all browsers without using cookies or flash. Uses localStorage, globalStorage, and userData behavior under the hood.
- localForage - Offline storage, improved. Wraps IndexedDB, WebSQL, or localStorage using a simple but powerful API.
- jStorage - jStorage is a simple key/value database to store data on browser side.
- cross-storage - Cross domain local storage, with permissions.
- basket.js - A script and resource loader for caching & loading scripts with localStorage.
- bag.js - A caching script and resource loader, similar to basket.js, but with additional k/v interface and localStorage / websql / indexedDB support.
- jquery-cookie - A simple, lightweight jQuery plugin for reading, writing and deleting cookies.
- DB.js - Promise based IndexDB Wrapper library.
- lawnchair.js - Simple client-side JSON storage.
- awesome-web-storage - Everything you need to know about client-side storage.
- Hoodie - Offline First backend to work in browser without internet connectivity.
- NeDB - Embedded Persistent database for Browsers, nw.js, electron.
- Lovefield - Lovefield is a relational database for web apps, By Google.
- Dexie.js - Dexie.js is a wrapper library for indexedDB.
- proxy-web-storage - Keep the type of storage value unchanged and change array and object directly. Supports listening to the changes and setting expires.
- colors - Smarter defaults for colors on the web.
- Vibrant.js - Extract prominent colors from an image.
I18n And L10n
- polyglot - tiny i18n helper library.
- babelfish - i18n with human friendly API and built in plurals support.
- async - Async utilities for node and the browser.
- step - An async control-flow library that makes stepping through logic easy.
- contra - Asynchronous flow control with a functional taste to it.
- Bluebird - fully featured promise library with focus on innovative features and performance.
- when - A solid, fast Promises/A+ and when() implementation, plus other async goodies.
- ObjectEventTarget - Provide a prototype that add support to event listeners (with same behavior of EventTarget from DOMElements available on browsers).
- sporadic - Composable concurrency abstractions (such as streams, coroutines and Go-like channels) on top of promises, for Node and browser engines.
- page.js - Micro client-side router inspired by the Express router (~1200 bytes).
- pathjs - Simple, lightweight routing for web browsers.
- navaid - A navigation aid (aka, router) for the browser in 850 bytes~!
- DOMPurify - A DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG.
- js-xss - Sanitize untrusted HTML (to prevent XSS) with a configuration specified by a Whitelist.
- xss-filters - Secure XSS Filters by Yahoo.
- sanitize-html - sanitize-html provides a simple HTML sanitizer with a clear API.
- log - Console.log with style.
- console.log-wrapper - Log to the console in any browser with clarity.
- minilog – Lightweight client & server-side logging with Stream-API backends.
- storyboard - Universal logging library + Chrome extension; it lets you see all client and server tasks triggered by a user action in a single place.
- RegExr - HTML/JS based tool for creating, testing, and learning about Regular Expressions.
- axios - Promise based HTTP client for the browser and node.js.
- bottleneck - A powerful rate limiter that makes throttling easy.
- jquery.rest - A jQuery plugin for easy consumption of RESTful APIs.
- Rails Ranger - An opinionated REST client for Ruby on Rails APIs.
- wretch - A tiny wrapper built around fetch with an intuitive syntax.
- Bearer.sh - Universal API client that supports OAuth / API Key / Basic / etc.
- FarFetch - Modern Fetch API wrapper for simplicity, with concise file uploading.
- Optic - Optic automatically documents and tests your APIs.
- SWR - React Hooks library for remote data fetching.
- React Query - Hooks for fetching, caching and updating asynchronous data in React.
- SWRV - Stale-while-revalidate data fetching for Vue.
- Vue Query - Hooks for fetching, caching and updating asynchronous data in Vue.
- Tailor - Streaming layout service for front-end microservices, inspired by Facebook's BigPipe.
- tracking.js - A modern approach for Computer Vision on the web.
- DN2A - Digital Neural Networks Architecture.
- Mind.js - A flexible neural network library.
- Synaptic.js - Architecture-free neural network library for node.js and the browser.
- ml5.js - Friendly Machine Learning for the Web.
- Synapses - Lightweight cross-platform Neural Network library.
- bowser - a browser detector.
- os.js - An open-source web desktop platform with a window manager, application APIs, GUI toolkit, filesystem abstractions and much more.
- benchmark.js - A benchmarking library. As used on jsPerf.com.
- matcha - A caffeine driven, simplistic approach to benchmarking.
- partytown - Relocate resource intensive third-party scripts off of the main thread and into a web worker.
- comlink - Comlink is a tiny library (1.1kB), that removes the mental barrier of thinking about postMessage and hides the fact that you are working with workers.
- greenlet - Move an async function into its own thread.
- workerize - Moves a module into a Web Worker, automatically reflecting exported functions as asynchronous proxies.
- worker-dom - An in-progress implementation of the DOM API intended to run within a Web Worker.
- threads.js - Offload CPU-intensive tasks to worker threads in node.js, web browsers and electron using one uniform API.
- workly - A really simple way to move a function or class to a web worker.
- stockroom - Offload your store management to a worker easily.
- workerpool - Offload tasks to a pool of workers on node.js and in the browser.
- clooney - Clooney is an actor library for the web. Use workers without thinking about workers.
- PrismJS - Lightweight, robust, elegant syntax highlighting.
Libraries for indicate load status.
- Mprogress.js - Create Google Material Design progress linear bars.
- NProgress - Slim progress bars for Ajax'y applications.
- Spin.js - A spinning activity indicator.
- progress.js - Create and manage progress bar for every objects on the page.
- progressbar.js - Beautiful and responsive progress bars with animated SVG paths.
- pace - Automatically add a progress bar to your site.
- topbar - Tiny & beautiful site-wide progress indicator.
- nanobar - Very lightweight progress bars. No jQuery.
- PageLoadingEffects - Modern ways of revealing new content using SVG animations.
- SpinKit - A collection of loading indicators animated with CSS.
- Ladda - Buttons with built-in loading indicators.
- css-loaders - A collection of loading spinners animated with CSS
- jquery-validation - jQuery Validation Plugin.
- validator.js - String validation and sanitization.
- validatr - Cross Browser HTML5 Form Validation.
- FormValidation - The best jQuery plugin to validate form fields. Formerly BootstrapValidator.
- is.js - Check types, regexps, presence, time and more.
- FieldVal - multipurpose validation library. Supports both sync and async validation.
- Funval - Data validation using functions interfaces (support TypeScript).
- vest -
🦺Declarative form validation framework inspired by unit testing.
- keymaster - A simple micro-library for defining and dispatching keyboard shortcuts.
- Keypress - A keyboard input capturing utility in which any key can be a modifier key.
- jquery.hotkeys - jQuery Hotkeys lets you watch for keyboard events anywhere in your code supporting almost any key combination.
- jwerty - Awesome handling of keyboard events.
Tours And Guides
- intro.js - A better way for new feature introduction and step-by-step users guide for your website and project.
- shepherd - Guide your users through a tour of your app.
- bootstrap-tour - Quick and easy product tours with Twitter Bootstrap Popovers.
- tourist - Simple, flexible tours for your app.
- chardin.js - Simple overlay instructions for your apps.
- pageguide - An interactive guide for web page elements using jQuery and CSS3.
- hopscotch - A framework to make it easy for developers to add product tours to their pages.
- joyride - jQuery feature tour plugin.
- focusable - Set a spotlight focus on DOM element adding a overlay layer to the rest of the page.
- iziToast - Elegant, responsive, flexible and lightweight notification plugin with no dependencies.
- messenger - Growl-style alerts and messages for your app.
- noty - jQuery notification plugin.
- humane-js - A simple, modern, browser notification system.
- notie - Simple notifications and inputs with no dependencies.
- notifire - Open-source notification infrastructure for products.
- Swiper - Mobile touch slider and framework with hardware accelerated transitions.
- slick - The last carousel you'll ever need.
- slidesJs - Is a responsive slideshow plug-in for JQuery(1.7.1+) with features like touch and CSS3 transitions
- FlexSlider - An awesome, fully responsive jQuery slider plugin.
- vegas - A jQuery plugin to add beautiful fullscreen backgrounds to your webpages. It even allows Slideshows.
- Sequence - CSS animation framework for creating responsive sliders, presentations, banners, and other step-based applications.
- reveal.js - A framework for easily creating beautiful presentations using HTML.
- impress.js - It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.
- bespoke.js - DIY Presentation Micro-Framework
- Strut - Strut - An Impress.js and Bespoke.js Presentation Editor
- jcSlider - A responsive slider jQuery plugin with CSS animations.
- basic-jquery-slider - Simple to use, simple to theme, simple to customise.
- jQuery.adaptive-slider - A jQuery plugin for a slider with adaptive colored figcaption and navigation.
- slidr - add some slide effects.
- Flickity - Touch, responsive, flickable galleries.
- Glide.js - Responsive and touch-friendly jQuery slider. It's simple, lightweight and fast.
- Embla Carousel - An extensible low level carousel for the web, written in TypeScript.
- Ion.RangeSlider - Powerful and easily customizable range slider with many options and skin support.
- noUiSlider - A lightweight, highly customizable range slider without bloat.
- rangeslider.js - HTML5 input range slider element polyfill.
- typeahead.js - A fast and fully-featured autocomplete library.
- tag-it - A jQuery UI plugin to handle multi-tag fields as well as tag suggestions/autocomplete.
- At.js - Add GitHub like mentions autocomplete to your application.
- fancyInput - Makes typing in input fields fun with CSS3 effects.
- jQuery-Tags-Input - Magically convert a simple text input into a cool tag list with this jQuery plugin.
- Ion.CheckRadio - jQuery plugin for styling checkboxes and radio-buttons. With skin support.
- awesomplete - Ultra lightweight, usable, beautiful autocomplete with zero dependencies. - https://projects.verou.me/awesomplete/
- pickadate.js - The mobile-friendly, responsive, and lightweight jQuery date & time input picker.
- bootstrap-datepicker - A datepicker for @twitter bootstrap forked from Stefan Petre's (of eyecon.ro), improvements by @eternicode.
- fullcalendar - Full-sized drag & drop event calendar (jQuery plugin).
- rome - A customizable date (and time) picker. Dependency free, opt-in UI.
- Date Range Picker - creates a dropdown menu from which a user can select a range of dates.
- Duet Date Picker - open source version of Duet Design System’s accessible date picker, WCAG 2.1 accessibility complaint
- selectize.js - Selectize is the hybrid of a textbox and
<select>box. It's jQuery based and it has autocomplete and native-feeling keyboard navigation; useful for tagging, contact lists, etc.
- select2 - a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.
- chosen - A library for making long, unwieldy select boxes more friendly.
- jQuery-File-Upload - File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery.
- dropzone - Dropzone is an easy to use drag'n'drop library. It supports image previews and shows nice progress bars.
- fine-uploader - Multiple file upload plugin with progress-bar, drag-and-drop, direct-to-S3 uploading.
- form - jQuery Form Plugin.
- Garlic.js - Automatically persist your forms' text and select field values locally, until the form is submitted.
- card - Make your credit card form better in one line of code.
- stretchy - Form element autosizing, the way it should be.
- analytics - A lightweight, extendable analytics library designed to work with any third-party analytics provider to track page views, custom events, & identify users.
- tipsy - Facebook-style tooltips plugin for jQuery.
- qTip2 - Pretty powerful tooltips.
- tooltipster - A jQuery tooltip plugin.
- simptip - A simple CSS tooltip made with Sass.
- toolbar - A tooltip style toolbar jQuery plugin
- hint.css - A tooltip library in CSS for your lovely websites.
Modals and Popups
- Magnific-Popup - Light and responsive lightbox script with focus on performance.
- jquery-popbox - jQuery PopBox UI Element.
- jquery.avgrund.js - A jQuery plugin with new modal concept for popups.
- vex - A modern dialog library which is highly configurable and easy to style.
- bootstrap-modal - Extends the default Bootstrap Modal class. Responsive, stackable, ajax and more.
- css-modal - A modal built out of pure CSS.
- jquery-popup-overlay - jQuery plugin for responsive and accessible modal windows and tooltips.
- colorbox - A light-weight, customizable lightbox plugin for jQuery.
- fancyBox - A tool that offers a nice and elegant way to add zooming functionality for images, html content and multi-media on your webpages.
- swipebox - A touchable jQuery lightbox
- jBox - jBox is a powerful and flexible jQuery plugin, taking care of all your popup windows, tooltips, notices and more.
- lightGallery - A customizable, modular, responsive, lightbox gallery plugin for jQuery.
- keukenhof - Lightweight, no dependencies, accessibility enabled TypeScript library for creating modal windows.
- scrollMonitor - A simple and fast API to monitor elements as you scroll.
- headroom - Give your pages some headroom. Hide your header until you need it.
- onepage-scroll - Create an Apple-like one page scroller website (iPhone 5S website) with One Page Scroll plugin.
- skrollr - Stand-alone parallax scrolling library for mobile (Android + iOS) and desktop. No jQuery.
- parallax - Parallax Engine that reacts to the orientation of a smart device.
- stellar.js - Parallax scrolling made easy.
- plax - jQuery powered parallaxing.
- jparallax - jQuery plugin for creating interactive parallax effect.
- fullPage - A simple and easy to use plugin to create fullscreen scrolling websites (also known as single page websites).
- ScrollMenu - A new interface to replace old boring scrollbar.
- Clusterize.js - Tiny vanilla JS plugin to display large data sets easily.
- asscroll - A hybrid smooth scroll setup that combines the performance gains of virtual scroll with the reliability of native scroll.
- locomotive-scroll - Detects the elements in viewport and smooth scrolling with parallax.
- elevator.js - Finally, a "back to top" button that behaves like a real elevator.
- jQuery-menu-aim - jQuery plugin to fire events when user's cursor aims at particular dropdown menu items. For making responsive mega dropdowns like Amazon's.
- jQuery contextMenu - contextMenu manager.
- Slideout - A responsive touch slideout navigation menu for mobile web apps.
- Slide and swipe - A sliding swipe menu that works with touchSwipe library.
- mmenu - The best jQuery plugin for app look-alike on- and off-canvas menus with sliding submenus for your website and webapp.
- jTable - A jQuery plugin to create AJAX based CRUD tables.
- DataTables - (jQuery plug-in) It is a highly flexible tool, based upon the foundations of progressive enhancement, and will add advanced interaction controls to any HTML table.
- Tabulator - (jQuery plug-in) An extremely flexible library that create tables with a range of interactive features from any JSON data source or existing HTML table.
- Bootstrap Table - An Extension to the popular Bootstrap framework for creating tables that fit the style of your site with no need for additional markup.
- floatThead - (jQuery plug-in) lock any table's header while scrolling within the body. Works on any table and requires no custom html or css.
- Masonry - A cascading grid layout library.
- Packery - A grid layout library that uses a bin-packing algorithm. Useable for draggable layouts.
- Isotope - A filterable, sortable, grid layout library. Can implement Masonry, Packery, and other layouts.
- flexboxgrid - Grid based on CSS3 flexbox.
- Semantic UI - UI Kit with lots of themes and elements.
- w2ui - A set of jQuery plugins for front-end development of data-driven web applications.
- fluidity - The worlds smallest fully-responsive css framework.
- Ink - An HTML5/CSS3 framework used at SAPO for fast and efficient website design and prototyping.
- html5-boilerplate - A professional front-end template for building fast, robust, and adaptable web apps or sites.
- mobile-boilerplate - A front-end template that helps you build fast, modern mobile web apps.
- webplate - An awesome front-end framework that lets you stay focused on building your site or app while remaining really easy to use.
- Cerberus - A few simple, but solid patterns for responsive HTML emails. Even in Outlook.
- full-page-intro-and-navigation - An intro page with a full width background image, a bold animated menu and an iOS-like blurred effect behind the navigation.
- Fluid-Squares - A fluid grid of square units.
- Mobile-First-RWD - An example of a mobile-first responsive web design.
- this-is-responsive - This Is Responsive.
- npm run-scripts Task automation with NPM run-scripts.
- Magnificent.js - Zoom responsively, images & more, w/ jQuery.
- Panolens.js - Panolens.js is an event-driven and WebGL based panorama viewer. Lightweight and flexible
- touchemulator - Emulate touch input on your desktop.
- Dragula - Drag and drop so simple it hurts.
- Cesium - Open Source WebGL virtual globe and map engine.
- gmaps - The easiest way to use Google Maps.
- jqvmap - jQuery Vector Map Library.
- OpenLayers3 - A high-performance, feature-packed library for all your mapping needs.
- prettyembed.js - Prettier embeds for your YouTubes - with nice options like high-res preview images, advanced customization of embed options, and optional FitVids support.
- polyplayer - Rule YouTube, Soundcloud and Vimeo player with one API.
- flowplayer - The HTML5 video player for the web https://flowplayer.com/
- mediaelement - HTML5 or
- SoundJS - A library to make working with audio on the web easier. It provides a consistent API for playing audio in different browsers.
- video.js - Video.js - open source HTML5 & Flash video player.
- FitVids.js - A lightweight, easy-to-use jQuery plugin for fluid width video embeds.
- Ion.Sound - Simple sounds on any web page.
- photobooth-js - A widget that allows users to take their avatar pictures on your site.
- clappr - An extensible media player for the web http://clappr.io
- exifr - The fastest and most versatile EXIF reading library. https://mutiny.cz/exifr/
- ts-audio - an agnostic and easy-to-use library to work with the
- AmplitudeJS - Open Source HTML5 Web Audio Library. Design your web audio player, the way you want. No dependencies required.
- ractive-player - A library for making interactive videos in React.js.
- ffmpeg.js - FFmpeg optimized for in-browser use: minimal size for faster loading, asm.js, performance tunings, etc.
- FlowType.JS - Web typography at its finest: font-size and line-height based on element width.
- BigText - jQuery plugin, calculates the font-size and word-spacing needed to match a line of text to a specific width.
- circletype - A jQuery plugin that lets you curve type on the web.
- slabText - A jQuery plugin for producing big, bold & responsive headlines.
- simple-text-rotator - Add a super simple rotating text to your website with little to no markup.
- novacancy.js - Text Neon Golden effect jQuery plug-in.
- jquery-responsive-text - Make your text sizing responsive!
- FitText.js - A jQuery plugin for inflating web type.
<span>injector for radical Web Typography.
- jquery.transit - Super-smooth CSS3 transformations and transitions for jQuery.
- bounce.js - Create tasty CSS3 powered animations in no time.
- GreenSock-JS - High-performance HTML5 animations that work in all major browsers.
- TransitionEnd - TransitionEnd is an agnostic and cross-browser library to work with transitioned event.
- the-cube - The Cube is an experiment with CSS3 transitions.
- Effeckt.css - A Performant Transitions and Animations Library.
- animate.css - A cross-browser library of CSS animations. As easy to use as an easy thing.
- textillate - A simple plugin for CSS3 text animations.
- animatable - One property, two values, endless possibilities.
- shuffle-images - The Simplest Way to shuffle through images in a Creative Way.
- smoothState.js - Unobtrusive page transitions with jQuery.
- Mo.js - Motion graphics toolbelt for the web.
- tsParticles - A new and improved version of particles.js with bug fixes and many new features.
- particles-bg - A lightweight React particles animation background component.
- barbajs - It helps you create fluid and smooth transitions between your website's pages.
- typicaljs - Animated typing in ~400 bytes
- AutoAnimate - Add motion to your apps with a single line of code.
- lena.js - A Library for image processing with filters and util functions.
- pica - High quality image resize (with fast Lanczos filter, implemented in pure JS).
- cropper - A simple jQuery image cropping plugin.
- es6features - Overview of ECMAScript 6 features.
- es6-features - ECMAScript 6: Feature Overview & Comparison.
- es6-cheatsheet - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets.
- ECMAScript 6 compatibility table - Compatibility tables for all ECMAScript 6 features on a variety of environments.
- Babel (Formerly 6to5) - Turn ES6+ code into vanilla ES5 with no runtime.
- Traceur compiler - ES6 features > ES5. Includes classes, generators, promises, destructuring patterns, default parameters & more.
- Gatsby.js - React-based static site generator.
- Gridsome - Vue-powered static site generator.
- Docusaurus - React-based static site generator by Facebook, ideal for content-centric websites.
- Spotify SDK - Entity oriented SDK to work with the Spotify Web API.
Full Text Search
- lunr - Library for use in the browser and It indexes JSON documents and provides a simple search interface for retrieving documents that best match text queries.
- flexsearch - It is a Next-Generation full text search library for Browser and Node.js.
- Elasticlunr - This library is based on lunr.js, but more flexible and customized.
- echo - Lazy-loading images with data-* attributes.
- picturefill - A responsive image polyfill for <picture>, srcset, sizes.
- spoiler-alert - SPOILER ALERT! A happy little jquery plugin to hide spoilers on your site.
- jquery.vibrate.js - Vibration API Wrappers
- list.js - Adds search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on existing HTML. https://listjs.com
- mixitup - MixItUp - A Filter & Sort Plugin.
- grid - Drag and drop library for two-dimensional, resizable and responsive lists.
- jquery-match-height - a responsive equal heights plugin for jQuery.
- Clipboard.js - "Copy to clipboard" without Flash or use of Frameworks.
- ky - Tiny and elegant HTTP client based on the browser Fetch API.
- Fcal - Math expression evaluator.
- iooxa - Components for interactive scientific writing, reactive documents and explorable explanations.
- Idyll - Create explorable explanations and interactive storytelling essays. Can be embedded in HTML.
- FingerprintJS - Makes a visitor identifier from a browser fingerprint that stays the same in incognito mode and when browser data is purged.
- lune - Library to calculate the phases of the moon accurately.
- braziljs/js-the-right-way - An easy-to-read, quick reference for JS best practices, accepted coding standards, and links around the Web.
Other Awesome Lists
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, chencheng has waived all copyright and related or neighboring rights to this work.