Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-javascript
A collection of awesome browser-side JavaScript libraries, resources and shiny things. Crawl and sort daily by AwesomelsBot
https://github.com/thoqbk/awesome-javascript
Last synced: 4 days ago
JSON representation
-
Testing Frameworks
- tape - tap-producing test harness for node and browsers - ★ 4802
- react-testing-library - Simple and complete React DOM testing utilities that encourage good testing practices. - ★ 3849
- slimerjs - A scriptable browser like PhantomJS, based on Firefox - ★ 2774
- jest - Delightful JavaScript Testing. - ★ 21588
- qunit - An easy-to-use JavaScript Unit Testing framework. - ★ 3794
- phantomjs - Scriptable Headless Browser - ★ 26189
- mocha - simple, flexible, fun javascript test framework for node.js & the browser - ★ 16606
- ava - Futuristic JavaScript test runner - ★ 15061
- jasmine - Simple JavaScript testing framework for browsers and node.js - ★ 13971
- karma - Spectacular Test Runner for JavaScript - ★ 10303
- nightwatch - Automated testing and continuous integration framework based on Node.js and using the Webdriver protocol - ★ 8715
- protractor - E2E test framework for Angular apps - ★ 7889
- istanbul - Yet another JS code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. Supports all JS coverage use cases including unit tests, server side functional tests and browser tests. Built for scale. - ★ 7597
- casperjs - CasperJS is no longer actively maintained. Navigation scripting and testing utility for PhantomJS and SlimerJS - ★ 7256
- sinon - Test spies, stubs and mocks for JavaScript. - ★ 6587
- chai - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework. - ★ 5837
- testcafe - A Node.js tool to automate end-to-end web testing. - ★ 5679
- zombie - Insanely fast, full-stack, headless browser testing using node.js - ★ 5070
- intern - A next-generation code testing stack for JavaScript. - ★ 4064
- expect.js - Minimalistic BDD-style assertions for Node.JS and the browser. - ★ 1944
- blanket - blanket.js is a simple code coverage library for javascript. Designed to be easy to install and use, for both browser and nodejs. - ★ 1404
- dalek - [unmaintained] DalekJS Base framework - ★ 719
- totoro - A simple and stable cross-browser testing tool. 简单稳定的跨浏览器测试工具。 - ★ 543
- JSCover - JSCover is a JavaScript Code Coverage Tool that measures line, branch and function coverage - ★ 348
- prova - Test runner based on Tape and Browserify - ★ 335
-
Data Structure
- immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity. - ★ 25610
- Buckets-JS - A complete, fully tested and documented data structure library written in pure JavaScript. - ★ 904
- mori - ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript - ★ 3018
- hashmap - HashMap JavaScript class for Node.js and the browser. The keys can be anything and won't be stringified - ★ 315
-
Other Awesome Lists
- awesome-jquery - A curated list of awesome jQuery plugins, resources and other shiny things. - ★ 620
- awesome-dojo - A curated list of awesome Dojo JavaScript Toolkit libraries, resources and other shiny things. - ★ 62
- awesome-react - A collection of awesome things regarding React ecosystem. - ★ 28542
- awesome-awesomeness - A curated list of awesome awesomeness - ★ 22668
- js-must-watch - Must-watch videos about javascript - ★ 11838
- awesome-wpo - A curated list of Web Performance Optimization. Everyone can contribute here! - ★ 6416
- awesome-svg - A curated list of SVG. - ★ 3717
- es6-tools - An aggregation of tooling for using ES6 today - ★ 3658
- awesome-interview-questions - A curated awesome list of lists of interview questions. Feel free to contribute! - ★ 20966
- awesome-css - A curated contents of amazing CSS :) - ★ 1837
- awesome - Curated list of awesome lists - ★ 96028
- lists - The definitive list of lists (of lists) curated on GitHub - ★ 5377
- ES6-Learning - List of resources to learn ECMAScript 6! - ★ 4472
- awesome-angularjs - A list of awesome AngularJs services, directives, utilities and resources. - ★ 2425
- awesome-awesome - A curated list of awesome curated lists of many topics. - ★ 1226
- awesome-backbone - A list of resources for backbone.js - ★ 382
- awesome-webcomponents - A curated list of awesome Web Components tools, articles and resources. - ★ 171
- you-might-not-need-jquery-plugins - In addition to this is a list of commonly used plugins without dependencies - ★ 14
-
QA Tools
- JSLint - The JavaScript Code Quality Tool - ★ 3224
- prettier - Prettier is an opinionated code formatter. - ★ 28587
- standard - JavaScript Style Guide, with linter & automatic code fixer - ★ 19655
- eslint - A fully pluggable tool for identifying and reporting on patterns in JavaScript - ★ 12730
- jshint - JSHint is a tool that helps to detect errors and potential problems in your JavaScript code - ★ 8047
- node-jscs - JavaScript Code Style checker (unmaintained) - ★ 5141
- jsinspect - Detect copy-pasted and structurally similar code - ★ 2847
- jsfmt - For formatting, searching, and rewriting JavaScript. - ★ 1711
- buddy.js - Magic number detection for JavaScript - ★ 627
-
MVC Frameworks and Libraries
- hyperapp - 1 kB JavaScript micro-framework for building declarative web applications - ★ 15704
- espresso.js - Super minimal MVC library - ★ 523
- riot - Simple and elegant component-based UI library - ★ 13323
- feathers - A REST and realtime API layer for modern applications. - ★ 9974
- react-native - A framework for building native apps with React. - ★ 70925
- vue - A progressive, incrementally-adoptable JavaScript framework for building UI on the web. - ★ 118949
- angular.js - AngularJS - HTML enhanced for web apps! - ★ 59250
- meteor - Meteor, the JavaScript App Platform - ★ 40483
- backbone - Give your JS App some Backbone with Models, Views, Collections, and Events - ★ 27329
- ember.js - Ember.js - A JavaScript framework for creating ambitious web applications - ★ 20173
- NativeScript - NativeScript is an open source framework for building truly native mobile apps with JavaScript. Use web skills, like Angular and Vue.js, FlexBox and CSS, and get native UI and performance on iOS and Android. - ★ 15399
- mithril.js - A Javascript Framework for Building Brilliant Applications - ★ 10060
- knockout - Knockout makes it easier to create rich, responsive UIs with JavaScript - ★ 9201
- backbone.marionette - The Backbone Framework - ★ 7164
- ractive - Next-generation DOM manipulation - ★ 5599
- derby - MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers - ★ 4349
- spine - Lightweight MVC library for building JavaScript applications - ★ 3456
- rivets - Lightweight and powerful data binding. - ★ 3125
- chaplin - HTML5 application architecture using Backbone.js - ★ 2943
- way.js - Simple, lightweight, persistent two-way databinding - ★ 2867
- jsblocks - Better MV-ish Framework - ★ 2833
- canjs - JS framework providing state management, templates & custom elements. Helps you build the impossible while keeping the common stuff easy. - ★ 1698
- thorax - Strengthening your Backbone - ★ 1358
- ripple - A tiny foundation for building reactive views - ★ 1298
- Keo - Plain functions for a more functional Deku approach to creating stateless React components, with functional goodies such as compose, memoize, etc... for free. - ★ 227
- atvjs - Blazing fast Apple TV application development using pure JavaScript - ★ 206
- awesome-derby - A collection of awesome derby components - ★ 11
-
Templating Engines
- dustjs - Asynchronous Javascript templating for the browser and server - ★ 2757
- eco - Embedded CoffeeScript templates - ★ 1761
- hogan.js - A compiler for the Mustache templating language - ★ 4943
- t.js - A tiny javascript templating framework in ~400 bytes gzipped - ★ 786
- xtemplate - eXtensible Template Engine lib for node and the browser - ★ 471
- pug - Pug – robust, elegant, feature rich template engine for Node.js - ★ 17464
- mustache.js - Minimal templating with {{mustaches}} in JavaScript - ★ 12574
- marko - A friendly (and fast!) UI library from eBay that makes building web apps fun - ★ 7598
- doT - The fastest + concise javascript template engine for nodejs and browsers. Partials, custom delimiters and more. - ★ 4041
- ejs - Embedded JavaScript templates -- - ★ 2953
- JavaScript-Templates - 1KB lightweight, fast & powerful JavaScript templating engine with zero dependencies. Compatible with server-side environments like node.js, module loaders like RequireJS and all web browsers. - ★ 1430
-
Form Widgets
- 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. - ★ 11435
- chosen - Chosen is a library for making long, unwieldy select boxes more friendly. - ★ 21867
- At.js - Add Github like mentions autocomplete to your application. - ★ 5091
- rome - Customizable date (and time) picker. Opt-in UI, no jQuery! - ★ 2810
- plupload - Plupload is JavaScript API for building file uploaders. It supports multiple file selection, file filtering, chunked upload, client side image downsizing and when necessary can fallback to alternative runtimes, like Flash and Silverlight. - ★ 5033
- datedropper - datedropper is a jQuery plugin that provides a quick and easy way to manage dates for input fields. - ★ 1708
- typeahead.js - typeahead.js is a fast and fully-featured autocomplete library - ★ 15461
- dropzone - Dropzone is an easy to use drag'n'drop library. It supports image previews and shows nice progress bars. - ★ 14068
- card - make your credit card form better in one line of code - ★ 10114
- fullcalendar - Full-sized drag & drop event calendar - ★ 8430
- fine-uploader - Multiple file upload plugin with image previews, drag and drop, progress bars. S3 and Azure support, image scaling, form support, chunking, resume, pause, and tons of other features. - ★ 7870
- pickadate.js - (Looking for Project Maintainers) The mobile-friendly, responsive, and lightweight jQuery date & time input picker. - ★ 7491
- Pikaday - A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS - ★ 6335
- awesomplete - Ultra lightweight, usable, beautiful autocomplete with zero dependencies. - ★ 6297
- jQuery-File-Upload - File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads. - ★ 29440
- select2 - Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results. - ★ 23012
- FileAPI - FileAPI — a set of javascript tools for working with files. Multiupload, drag'n'drop and chunked file upload. Images: crop, resize and auto orientation by EXIF. - ★ 3298
- flow.js - A JavaScript library providing multiple simultaneous, stable, fault-tolerant and resumable/restartable file uploads via the HTML5 File API. - ★ 2499
- tag-it - A jQuery UI plugin to handle multi-tag fields as well as tag suggestions/autocomplete. - ★ 2447
- Garlic.js - Automatically persist your forms' text and select field values locally, until the form is submitted. - ★ 2326
- jQuery-Tags-Input - Magically convert a simple text input into a cool tag list with this jQuery plugin. - ★ 2205
- fancyInput - Makes typing in input fields fun with CSS3 effects - ★ 1953
- Countable - Add live paragraph-, word- and character-counting to an HTML element. - ★ 1571
- stretchy - Form element autosizing, the way it should be. - ★ 1178
- Placeholders.js - A JavaScript polyfill for the HTML5 placeholder attribute - ★ 974
- vanilla-masker - VanillaMasker is a pure javascript mask input - ★ 963
- ion.checkRadio - jQuery plugin for styling checkboxes and radio-buttons - ★ 66
-
Package Managers
- bower - A package manager for the web - ★ 15283
- component - frontend package manager and build tool for modular web applications - ★ 4656
- jspm-cli - Package management CLI - ★ 3666
- duo - A next-generation package manager for the front-end - ★ 3530
- Ender - the no-library library: open module JavaScript framework - ★ 1822
- jam - JavaScript package manager - using a browser-focused and RequireJS compatible repository - ★ 1531
- volo - Create front end projects from templates, add dependencies, and automate the resulting projects - ★ 1397
- spm - Brand new static package manager. - ★ 918
-
Loaders
- lodjs - JavaScript模块加载器,基于AMD。迄今为止,对AMD理解最好的实现。 - ★ 290
- curl - curl.js is small, fast, extensible module loader that handles AMD, CommonJS Modules/1.1, CSS, HTML/text, and legacy scripts. - ★ 1838
- esl - enterprise standard loader - ★ 765
- lazyload - An ancient tiny JS and CSS loader from the days before everyone had written one. Unmaintained. - ★ 1321
- requirejs - A file and module loader for JavaScript - ★ 11890
- systemjs - Dynamic ES module loader - ★ 9328
- seajs - A Module Loader for the Web - ★ 7574
- headjs - The only script in your HEAD. - ★ 4200
- script.js - Asyncronous JavaScript loader and dependency manager - ★ 2635
- modulejs - Lightweight JavaScript module system. - ★ 107
-
Node-Powered CMS Frameworks
- cody - Javascript Content Management System running on Node.js - ★ 643
- apostrophe - A CMS framework for Node.js that supports in-context editing, schema-driven content types, flexible widgets, and much more. Hint: start with the docs and use apostrophe-cli. - ★ 2410
- Ghost - The platform for professional publishers - ★ 27926
- keystone - Node.js CMS and web app framework - ★ 13606
- reaction - Reaction is a customizable, real-time reactive, JavaScript commerce platform. - ★ 7997
- pencilblue - Business class content management for Node.js (plugins, server cluster management, data-driven pages) - ★ 1598
- we - We.js, extensible Node.js MVC framework - CLI - ★ 191
- nodizecms - A Node.js CMS written in CoffeeScript, with a user friendly backend - ★ 181
- hatchjs - Hatch.js - not officially supported - ★ 68
- taracotjs-generator - TaracotJS Instance Generator - ★ 15
-
Data Visualization
- d3 - Bring data to life with SVG, Canvas and HTML. - ★ 80139
- three.js - JavaScript 3D library. - ★ 46236
- d4 - A friendly reusable charts DSL for D3 - ★ 421
- vega - A visualization grammar. Moved to: - ★ 23
- xcharts - ★ 0
- incubator-echarts - A powerful, interactive charting and visualization library for browser - ★ 31068
- metrics-graphics - A library optimized for concise and principled data graphics and layouts. - ★ 6964
- fabric.js - Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser - ★ 11299
- Chart.js - Simple HTML5 Charts using the <canvas> tag - ★ 40293
- chartist-js - Simple responsive charts - ★ 11221
- recharts - Redefined chart library built with React and D3 - ★ 10289
- raphael - JavaScript Vector Library - ★ 9972
- dc.js - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js - ★ 6401
- rickshaw - JavaScript toolkit for creating interactive real-time graphs - ★ 6299
- two.js - A renderer agnostic two-dimensional drawing api for the web. - ★ 5859
- paper.js - The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. Created by & - ★ 9902
- flot - Attractive JavaScript charts for jQuery - ★ 5614
- epoch - A general purpose, real-time visualization library. - ★ 4944
- cubism - Cubism.js: A JavaScript library for time series visualization. - ★ 4713
- heatmap.js - JavaScript Library for HTML5 canvas based heatmaps - ★ 4566
- peity - Progressive <svg> pie, donut, bar and line charts - ★ 4089
- d3-cloud - Create word clouds in JavaScript. - ★ 2726
- arbor - a graph visualization library using web workers and jQuery - ★ 2492
- envisionjs - Dynamic HTML5 visualization - ★ 1584
- g.raphael - Charts for Raphaël - ★ 1508
- trianglify - Algorithmically generated triangle art - ★ 8600
- sigma.js - A JavaScript library dedicated to graph drawing - ★ 8230
- c3 - A D3-based reusable chart library - ★ 8084
- Babylon.js - Babylon.js: a complete JavaScript framework for building 3D games with HTML 5 and WebGL - ★ 7788
- vis - vis.js is a dynamic, browser-based visualization library - ★ 7284
- morris.js - Pretty time-series line graphs - ★ 6860
- nvd3 - A reusable charting library written in d3.js - ★ 6723
- jquery.sparkline - A plugin for the jQuery javascript library to generate small sparkline charts directly in the browser - ★ 1160
-
Timeline
- timesheet.js - JavaScript library for HTML5 & CSS3 time sheets - ★ 6541
- TimelineJS3 - TimelineJS v3: A Storytelling Timeline built in JavaScript. - ★ 1586
-
Spreadsheet
- handsontable - Handsontable Community Edition - JavaScript/HTML5 Data Grid Component with Spreadsheet Look & Feel. Available for React, Vue and Angular. - ★ 10817
-
Editors
- ace - Ace (Ajax.org Cloud9 Editor) - ★ 18612
- popline - Popline is an HTML5 Rich-Text-Editor Toolbar - ★ 1042
- medium-editor - Medium.com WYSIWYG editor clone. Uses contenteditable API to implement a rich text solution. - ★ 12897
- raptor-editor - Raptor, an HTML5 WYSIWYG content editor! - ★ 518
- esprima - ECMAScript parsing infrastructure for multipurpose analysis - ★ 315
- quill - Quill is a modern WYSIWYG editor built for compatibility and extensibility. - ★ 20421
- CodeMirror - In-browser code editor - ★ 16092
- 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. - ★ 6643
- Squire - HTML5 rich text editor. Try the demo integration at - ★ 3880
- draft-js - A React framework for building text editors. - ★ 14291
- trix - A rich text editor for everyday writing - ★ 12554
- tinymce - The world's most popular JavaScript library for rich text editing. Available for React, Vue and Angular - ★ 5884
- bootstrap-wysiwyg - Tiny bootstrap-compatible WISWYG rich text editor - ★ 5595
- jsoneditor - A web-based tool to view, edit, format, and validate JSON - ★ 5083
- pen - enjoy live editing (+markdown) - ★ 4512
- EpicEditor - EpicEditor is an embeddable JavaScript Markdown editor with split fullscreen editing, live previewing, automatic draft saving, offline support, and more. For developers, it offers a robust API, can be easily themed, and allows you to swap out the bundled Markdown parser with anything you throw at it. - ★ 4346
- vim.js - JavaScript port of Vim - ★ 4330
- bootstrap-wysihtml5 - Simple, beautiful wysiwyg editor - ★ 4241
- editor - A markdown editor. - ★ 2593
- Trumbowyg - A lightweight and amazing WYSIWYG JavaScript editor - 20kB only (8kB gzip) - ★ 2527
- jquery-notebook - A modern, simple and elegant WYSIWYG rich text editor. - ★ 1706
-
Documentation
-
Functional Programming
- underscore - JavaScript's utility _ belt - ★ 23883
- lazy.js - Like Underscore, but lazier - ★ 5401
- lodash - A modern JavaScript utility library delivering modularity, performance, & extras. - ★ 35692
- Sugar - A Javascript library for working with native objects. - ★ 4006
- mout - Modular JavaScript Utilities - ★ 1037
- mesh.js - utility library for async iterable iterators - ★ 1031
- prelude-js - Hardcore Functional Programming for JavaScript - ★ 70
- ramda - Practical functional Javascript - ★ 42
-
Date
- countdown.js - Super simple countdowns. - ★ 384
- moment - Parse, validate, manipulate, and display dates in javascript. - ★ 39177
- date-fns - Modern JavaScript date utility library - ★ 14943
- jquery-timeago - The original jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. "4 minutes ago"). - ★ 3768
- timeago.js - timeago.js is a tiny(~2.0kb) library used to format date with `*** time ago` statement. eg: '3 hours ago'. No dependency & localization & tiny. - ★ 3421
- moment-timezone - Timezone support for moment.js - ★ 2889
- fecha - Lightweight Javascript Date formatting and parsing - ★ 1589
- date - Date() for humans - ★ 1350
- timezone-js - Timezone-enabled JavaScript Date object. Uses Olson zoneinfo files for timezone data. - ★ 812
- ms - Tiny milisecond conversion utility - ★ 1674
-
String
- he - A robust HTML entity encoder/decoder written in JavaScript. - ★ 1738
- sprintf.js - sprintf.js is a complete open source JavaScript sprintf implementation - ★ 1709
- query-string - Parse and stringify URL query strings - ★ 3043
- voca - The ultimate JavaScript string library - ★ 2405
- string.js - Extra JavaScript string methods. - ★ 1649
- multiline - Multiline strings in JavaScript - ★ 1438
- domurl - Lightweight URL manipulation with JavaScript - ★ 429
- url-pattern - easier than regex string matching patterns for urls and other strings. turn strings into data or data into strings. - ★ 396
- selecting - A library that allows you to access the text selected by the user - ★ 69
-
Number
- Complex.js - A complex number library - ★ 120
- Polynomial.js - A JavaScript library to work with polynomials - ★ 62
- Complex.js - A complex number library - ★ 120
- Polynomial.js - A JavaScript library to work with polynomials - ★ 62
- Numeral-js - A javascript library for formatting and manipulating numbers. - ★ 6830
- odometer - Smoothly transitions numbers with ease. #hubspot-open-source - ★ 6475
- chancejs - Chance - Random generator helper for JavaScript - ★ 4122
-
Storage
- jStorage - jStorage is a simple key/value database to store data on browser side - ★ 1520
- cross-storage - Cross domain local storage, with permissions - ★ 1476
- basil.js - The missing Javascript smart persistent layer - ★ 1910
- Cookies - JavaScript Client-Side Cookie Manipulation Library - ★ 1757
- bag.js - JS / CSS / files loader + key/value storage - ★ 72
- store.js - Cross-browser storage for all use cases, used across the web. - ★ 11869
- js-cookie - A simple, lightweight JavaScript API for handling browser cookies - ★ 11137
- jquery-cookie - No longer maintained, superseded by JS Cookie: - ★ 8576
- sql.js - SQLite compiled to JavaScript through Emscripten - ★ 4713
- basket.js - A script and resource loader for caching & loading files with localStorage - ★ 3180
-
Log
- log - Console.log with style. - ★ 2640
- Conzole - Oaxoa.github.io - ★ 191
- loglevel - Minimal lightweight logging for JavaScript, adding reliable log level methods to wrap any available console.log methods - ★ 1215
- console.log-wrapper - Clear console logging for every browser - ★ 399
-
Keyboard Wrappers
- mousetrap - Simple library for handling keyboard shortcuts in Javascript - ★ 9166
- Keypress - A keyboard input capturing utility in which any key can be a modifier key. - ★ 3172
- keymaster - A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies. - ★ 6163
- jquery.hotkeys - jQuery Hotkeys lets you watch for keyboard events anywhere in your code supporting almost any key combination. - ★ 2518
- KeyboardJS - A JavaScript library for binding keyboard combos without the pain of key codes and key combo conflicts. - ★ 1494
- jwerty - ⌨ Awesome handling of keyboard events - ★ 1218
-
Range Sliders
- ion.rangeSlider - jQuery only range slider - ★ 2064
- jQRangeSlider - A jquery UI range selection slider that supports dates - ★ 679
- noUiSlider - noUiSlider is a lightweight JavaScript range slider library. It offers a wide selection of options and settings, and is compatible with a ton of (touch) devices, including those running iOS, Android, Windows 8/8.1/10, Windows Phone 8.1 and Windows Mobile 10. - ★ 3625
- rangeslider.js - HTML5 input range slider element polyfill - ★ 1850
-
Scroll
- parallax - Parallax Engine that reacts to the orientation of a smart device - ★ 13479
- iscroll - Smooth scrolling for the web - ★ 11542
- headroom.js - Give your pages some headroom. Hide your header until you need it - ★ 9970
- Clusterize.js - Tiny vanilla JS plugin to display large data sets easily - ★ 5972
- stellar.js - Stellar.js - Parallax scrolling made easy - ★ 4501
- onepage-scroll - Create an Apple-like one page scroller website (iPhone 5S website) with One Page Scroll plugin - ★ 9370
- fullPage.js - fullPage plugin by Alvaro Trigo. Create full screen pages fast and simple - ★ 25235
- skrollr - Stand-alone parallax scrolling library for mobile (Android + iOS) and desktop. No jQuery. Just plain JavaScript (and some love). - ★ 18116
- scrollMonitor - A simple and fast API to monitor elements as you scroll - ★ 2986
- plax - JQuery powered parallaxing - ★ 2340
- jparallax - jQuery plugin for creating interactive parallax effect - ★ 1152
- ScrollMenu - A new interface to replace your old boring scrollbar - ★ 186
-
Video/Audio
- PrettyEmbed.js - Prettier embeds for your YouTubes - with nice options like high-res preview images, advanced customization of embed options, and optional FitVids support. - ★ 1065
- polyplayer - Rule YouTube, Soundcloud and Vimeo player with one API - ★ 37
- ion.sound - JavaScript plugin for playing sounds and music in browsers - ★ 653
- video.js - Video.js - open source HTML5 & Flash video player - ★ 23096
- FitVids.js - A lightweight, easy-to-use jQuery plugin for fluid width video embeds. - ★ 4686
- clappr - An extensible media player for the web. - ★ 4447
- SoundJS - A Javascript library for working with Audio. It provides a consistent API for loading and playing audio on different browsers and devices. Currently supports WebAudio, HTML5 Audio, Cordova / PhoneGap, and a Flash fallback. - ★ 3486
- flowplayer - The HTML5 video player for the web - ★ 1690
- html5media - Enables <video> and <audio> tags in all major browsers. - ★ 1138
- photobooth-js - A widget that allows users to take their avatar pictures on your site - ★ 580
- playemjs - JavaScript component that plays a sequence of audio and video streams from Youtube, Soundcloud, Vimeo... - ★ 59
-
Misc
- mixitup - A high-performance, dependency-free library for animated filtering, sorting, insertion, removal and more - ★ 4158
- echo - Lazy-loading images with data-* attributes - ★ 3645
- grid - Drag and drop library for two-dimensional, resizable and responsive lists - ★ 3433
- jquery-match-height - a responsive equal heights plugin - ★ 2960
- BitSet.js - An arbitrary size Bit-Vector implementation in JavaScript - ★ 137
- list.js - The perfect library for adding search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on existing HTML. - ★ 9294
- BitSet.js - An arbitrary size Bit-Vector implementation in JavaScript - ★ 137
- picturefill - A responsive image polyfill for <picture>, srcset, sizes, and more - ★ 9786
- platform.js - A platform detection library. - ★ 2142
- array-explorer - A resource to help figure out what JavaScript array method would be best to use at any given time - ★ 1597
- json3 - A JSON polyfill. Looking for new maintainers. - ★ 1007
- spoiler-alert - SPOILER ALERT! A happy little bit of javascript to hide spoilers on your site. - ★ 472
- jquery.vibrate.js - Vibration API Wrappers - ★ 134
-
Tours And Guides
- chardin.js - Simple overlay instructions for your apps. - ★ 4649
- pageguide - An interactive guide for web page elements using jQuery and CSS3 - ★ 887
- shepherd - Guide your users through a tour of your app - ★ 5930
- hopscotch - A framework to make it easy for developers to add product tours to their pages. - ★ 4142
- intro.js - A better way for new feature introduction and step-by-step users guide for your website and project. - ★ 17345
- bootstrap-tour - Quick and easy product tours with Twitter Bootstrap Popovers - ★ 4156
- joyride - jQuery feature tour plugin. - ★ 1400
- tourist - Simple, flexible tours for your app - ★ 1237
- focusable - Set a spotlight focus on DOM element adding a overlay layer to the rest of the page - ★ 1068
-
Animations
- 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. - ★ 34184
- animate.css - A cross-browser library of CSS animations. As easy to use as an easy thing. - ★ 55434
- particles.js - A lightweight JavaScript library for creating particles - ★ 17358
- velocity - Accelerated JavaScript animation. - ★ 15344
- Effeckt.css - A Performant Transitions and Animations Library - ★ 11215
- GreenSock-JS - GreenSock's GSAP JavaScript animation library (including Draggable). - ★ 8482
- jquery.transit - Super-smooth CSS3 transformations and transitions for jQuery - ★ 7446
- dynamics.js - Javascript library to create physics-based animations - ★ 7003
- bounce.js - Create beautiful CSS3 powered animations in no time. - ★ 5718
- move.js - CSS3 backed JavaScript animation framework - ★ 4419
- smoothState.js - Unobtrusive page transitions with jQuery. - ★ 4289
- textillate - A jquery plugin for CSS3 text animations. - ★ 3301
- animatable - One property, two values, endless possiblities - ★ 2432
- shuffle-images - The Simplest Way to shuffle through images in a Creative Way - ★ 195
- transitionEnd - TransitionEnd is an agnostic and cross-browser library to work with transitionend event. - ★ 89
- the-cube - The Cube is an experiment with CSS3 transitions. - ★ 7
-
Modals and Popups
- jquery-popup-overlay - jQuery plugin for responsive and accessible modal windows and tooltips. - ★ 478
- sweetalert - A beautiful replacement for JavaScript's "alert" - ★ 19310
- Magnific-Popup - Light and responsive lightbox script with focus on performance. - ★ 10496
- vex - A modern dialog library which is highly configurable and easy to style. #hubspot-open-source - ★ 6676
- fancybox - jQuery lightbox script for displaying images, videos and more. Touch enabled, responsive and fully customizable. - ★ 5872
- bootstrap-modal - Extends the default Bootstrap Modal class. Responsive, stackable, ajax and more. - ★ 5088
- colorbox - A light-weight, customizable lightbox plugin for jQuery - ★ 4738
- swipebox - A touchable jQuery lightbox - ★ 1920
- jquery.avgrund.js - Avgrund is jQuery plugin with new modal concept for popups - ★ 1830
- css-modal - A modal built with pure CSS, enhanced with JavaScript - ★ 1736
- baguetteBox.js - Simple and easy to use lightbox script written in pure JavaScript - ★ 1719
- jBox - jBox is a jQuery plugin that makes it easy to create customizable tooltips, modal windows, image galleries and more. - ★ 965
- jquery-popbox - jQuery PopBox UI Element - ★ 447
-
Boilerplates
- Webplate - Webplate is an awesome front-end framework that lets you stay focused on building your site or app all the while remaining really easy to use. - ★ 578
- Cerberus - A few simple, but solid patterns for responsive HTML email templates and newsletters. Even in Outlook and Gmail. - ★ 3171
- html5-boilerplate - A professional front-end template for building fast, robust, and adaptable web apps or sites. - ★ 41657
- mobile-boilerplate - DEPRECATED - A front-end template that helps you build fast, modern mobile web apps. - ★ 4024
- this-is-responsive - This Is Responsive - ★ 1543
- Mobile-First-RWD - An example of a mobile-first responsive web design - ★ 63
- 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 - ★ 35
- Fluid-Squares - A fluid grid of square units. - ★ 29
-
Notifications
- smoke.js - framework-agnostic styled alert system for javascript - ★ 940
- toastr - Simple javascript toast notifications - ★ 8866
- noty - Dependency-free notification library that makes it easy to create alert - success - error - warning - information - confirmation messages as an alternative the standard alert dialog. - ★ 6118
- notie - a clean and simple notification, input, and selection suite for javascript, with no dependencies - ★ 6008
- messenger - Growl-style alerts and messages for your app. #hubspot-open-source - ★ 4072
- pnotify - Beautiful JavaScript notifications with Web Notifications support. - ★ 3286
- humane-js - A simple, modern, browser notification system - ★ 2096
-
Tips
- tooltipster - A jQuery tooltip plugin - ★ 2588
- hint.css - A CSS only tooltip library for your lovely websites. - ★ 7691
- toolbar - A tooltip style toolbar jQuery plugin - ★ 2360
- tipsy - Facebook-style tooltips plugin for jQuery - ★ 2048
- qTip2 - qTip2 - Pretty powerful tooltips - ★ 2007
- opentip - Opentip is an open source javascript tooltip based on the protoype framework. - ★ 1264
- simptip - A simple CSS tooltip made with Sass - ★ 642
-
Table/Grid
- flexboxgrid - Grid based on CSS3 flexbox - ★ 7750
- jtable - A JQuery plugin to create AJAX based CRUD tables. - ★ 928
- floatThead - Fixed <thead>. Doesn't need any custom css/html. Does what position:sticky can't - ★ 1066
-
Gesture
- dragula - Drag and drop so simple it hurts - ★ 18307
- hammer.js - A javascript library for multi-touch gestures :// You can touch this - ★ 19243
- touchemulator - Emulate touch input on your desktop - ★ 200
-
Maps
- jqvmap - jQuery Vector Map Library - ★ 1613
- cesium - An open-source JavaScript library for world-class 3D globes and maps - ★ 3684
- Leaflet - JavaScript library for mobile-friendly interactive maps - ★ 23232
- gmaps - the easiest way to use Google Maps - ★ 7044
- mapbox.js - Mapbox JavaScript API, a Leaflet Plugin - ★ 1591
- kartograph.js - UNMAINTAINED Open source JavaScript renderer for Kartograph SVG maps - ★ 1518
- polymaps - Polymaps is a free JavaScript library for making dynamic, interactive maps in modern web browsers. - ★ 1510
-
Machine Learning
- dn2a.js - Digital Neural Networks Architecture with JavaScript - ★ 456
- convnetjs - Deep Learning in Javascript. Train Convolutional Neural Networks (or ordinary ones) in your browser. - ★ 9381
- brain - [UNMAINTAINED] Simple feed-forward neural network in JavaScript - ★ 8029
- synaptic - architecture-free neural network library for node.js and the browser - ★ 6316
- mind - A neural network library built in JavaScript - ★ 1334
-
Code highlighting
- highlight.js - Javascript syntax highlighter - ★ 13231
- prism - Lightweight, robust, elegant syntax highlighting. - ★ 5923
-
Validation
- jquery-validation - jQuery Validation Plugin library sources - ★ 9128
- fieldval-js - ★ 135
- validator.js - String validation - ★ 11839
- Parsley.js - Validate your forms, frontend, without writing a single line of javascript - ★ 8660
- is.js - Micro check library - ★ 8509
- validate.js - Lightweight JavaScript form validation library inspired by CodeIgniter. - ★ 2385
-
Files
- jsPDF - Client-side JavaScript PDF generation for everyone. - ★ 12419
- PapaParse - Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input - ★ 5997
- diff2html - Pretty diff to html javascript library (diff2html) - ★ 748
- jBinary - High-level API for working with binary data. - ★ 442
-
Loading Status
- pace - Automatically add a progress bar to your site. #hubspot-open-source - ★ 14100
- SpinKit - A collection of loading indicators animated with CSS - ★ 15508
- spin.js - A spinning activity indicator - ★ 9159
- Ladda - Buttons with built-in loading indicators. - ★ 7388
- progressbar.js - Responsive and slick progress bars - ★ 6655
- css-loaders - A collection of loading spinners animated with CSS - ★ 5716
- nanobar - Very lightweight progress bars. No jQuery - ★ 2704
- progress.js - ProgressJs is a JavaScript and CSS3 library which help developers to create and manage progress bar for every objects on the page. - ★ 2329
- MProgress.js - Material Progress —Google Material Design Progress linear bar. By using CSS3 and vanilla JavaScript. - ★ 1548
- PageLoadingEffects - Modern ways of revealing new content using SVG animations. - ★ 583
- topbar - Tiny & beautiful site-wide progress indicator - ★ 188
-
Bundlers
- browserify - browser-side require() the node.js way - ★ 12307
- webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows to load parts for the application on demand. Through "loaders," modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff. - ★ 45168
- parcel - Blazing fast, zero configuration web application bundler - ★ 27943
- rollup - Next-generation ES module bundler - ★ 14090
- brunch - Fast front-end web app build tool with simple declarative config, seamless incremental compilation for rapid development, an opinionated pipeline and workflow, and core support for source maps. - ★ 6530
-
Sliders
- reveal.js - The HTML Presentation Framework - ★ 43291
- slick - the last carousel you'll ever need - ★ 22789
- swiper - Most modern mobile touch slider with hardware accelerated transitions - ★ 18147
- PhotoSwipe - JavaScript image gallery for mobile and desktop, modular, framework independent - ★ 17482
- flickity - Touch, responsive, flickable carousels - ★ 5054
- bespoke - DIY Presentation Micro-Framework - ★ 4437
- Sequence - The responsive CSS animation framework for creating unique sliders, presentations, banners, and other step-based applications. - ★ 3376
- sly - JavaScript library for one-directional scrolling with item based navigation support. - ★ 2861
- vegas - Vegas is a jQuery/Zepto plugin to add beautiful backgrounds and Slideshows to DOM elements. - ★ 1705
- slidr - add some slide effects. - ★ 1518
- Strut - Strut - An Impress.js and Bespoke.js Presentation Editor - ★ 1497
- basic-jquery-slider - Simple to use, simple to theme, simple to customise. - ★ 567
- jcSlider - A responsive slider jQuery plugin with CSS animations - ★ 45
-
Control Flow
- async - Async utilities for node and the browser - ★ 24879
- q - A promise library for JavaScript - ★ 14427
- when - A solid, fast Promises/A+ and when() implementation, plus other async goodies. - ★ 3377
- ObjectEventTarget - A same behaviour EventTarget prototype, that can work with any object from JavaScript - ★ 9
-
Routing
- page.js - Micro client-side router inspired by the Express router - ★ 6127
- director - a tiny and isomorphic URL router for JavaScript - ★ 5365
- crossroads.js - JavaScript Routes - ★ 1424
- pathjs - Simple, lightweight routing for web browsers - ★ 1074
- davis.js - RESTful degradable JavaScript routing using pushState - ★ 538
-
Color
- colors - Smarter defaults for colors on the web. - ★ 8309
- chroma.js - JavaScript library for all kinds of color manipulations - ★ 5703
- randomColor - A tiny script for generating attractive colors - ★ 4775
- TinyColor - Fast, small color manipulation and conversion for JavaScript - ★ 2442
- color - Javascript color conversion and manipulation library - ★ 2344
- PleaseJS - JavaScript Library for creating random pleasing colors and color schemes - ★ 2180
-
Security
- DOMPurify - DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo: - ★ 2732
- js-xss - Sanitize untrusted HTML (to prevent XSS) with a configuration specified by a Whitelist - ★ 2459
-
I18n And L10n
- i18next - i18next: learn once - translate everywhere - ★ 3683
- polyglot.js - Give your JavaScript the ability to speak many languages. - ★ 2882
-
RegExp
- regexpbuilderjs - Create regular expressions using chained methods. - ★ 1078
-
Voice Command
-
API
- axios - Promise based HTTP client for the browser and node.js - ★ 50971
- jquery.rest - A jQuery plugin for easy consumption of RESTful APIs - ★ 606
- bottleneck - Job scheduler and rate limiter, supports Clustering - ★ 517
- amygdala - RESTful HTTP client for JavaScript powered web applications - ★ 399
- oauth-signature-js - JavaScript OAuth 1.0a signature generator (RFC 5849) for node and the browser - ★ 203
- rails-ranger - An opinionated AJAX client for Ruby on Rails APIs - ★ 22
-
Reactive Programming
-
Streaming
- tailor - A streaming layout service for front-end microservices - ★ 756
-
Vision Detection
- tracking.js - A modern approach for Computer Vision on the web - ★ 7260
- ocrad.js - OCR in Javascript via Emscripten - ★ 2911
-
Benchmark
- benchmark.js - A benchmarking library. As used on jsPerf.com. - ★ 3797
- matcha - A caffeine driven, simplistic approach to benchmarking. - ★ 500
-
Menu
- 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. - ★ 7722
- slideout - A touch slideout navigation menu for your mobile web apps. - ★ 7513
- jQuery-contextMenu - jQuery contextMenu plugin & polyfill - ★ 1837
- slide-and-swipe-menu - A sliding swipe menu that works with touchSwipe library. - ★ 108
-
Frameworks
-
Typography
- FitText.js - A jQuery plugin for inflating web type - ★ 6584
- Lettering.js - A lightweight, easy to use Javascript <span> injector for radical Web Typography - ★ 5110
- FlowType.JS - Web typography at its finest: font-size and line-height based on element width. - ★ 4551
- BigText - jQuery plugin, calculates the font-size and word-spacing needed to match a line of text to a specific width. - ★ 851
- simple-text-rotator - Add a super simple rotating text to your website with little to no markup - ★ 717
- CircleType - A JavaScript library that lets you curve type on the web. - ★ 383
- novacancy.js - Text Neon Golden effect jQuery plug-in - ★ 152
- jquery-responsive-text - Make your text sizing responsive! - ★ 123
-
Image Processing
-
ES6
- babel - Babel is a compiler for writing next generation JavaScript. - ★ 30482
- es6features - Overview of ECMAScript 6 features - ★ 25384
- es6-cheatsheet - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets - ★ 10983
- traceur-compiler - Traceur is a JavaScript.next-to-JavaScript-of-today compiler - ★ 7775
- es6-features - ECMAScript 6: Feature Overview & Comparison - ★ 5270
-
SDK
- spotify-sdk - Spotify SDK | Entity and Collection oriented | Browser and Node support! - ★ 155
-
Worth Reading
- You-Dont-Know-JS - A book series on JavaScript. on twitter. - ★ 91498
- JSbooks - Directory of free JavaScript ebooks - ★ 2172
- write-an-open-source-js-lib - Reference for How to Write an Open Source JavaScript Library - - ★ 123
Programming Languages
Categories
Data Visualization
33
Form Widgets
27
MVC Frameworks and Libraries
27
Testing Frameworks
25
Editors
21
Other Awesome Lists
18
Animations
16
Misc
13
Modals and Popups
13
Sliders
13
Scroll
12
Loading Status
11
Templating Engines
11
Video/Audio
11
Storage
10
Date
10
Loaders
10
Node-Powered CMS Frameworks
10
QA Tools
9
String
9
Tours And Guides
9
Typography
8
Boilerplates
8
Functional Programming
8
Package Managers
8
Notifications
7
Tips
7
Number
7
Maps
7
Validation
6
Color
6
API
6
Keyboard Wrappers
6
Reactive Programming
5
Documentation
5
Machine Learning
5
Bundlers
5
Routing
5
ES6
5
Menu
4
Files
4
Control Flow
4
Log
4
Range Sliders
4
Data Structure
4
Gesture
3
Table/Grid
3
Worth Reading
3
Image Processing
3
I18n And L10n
2
Voice Command
2
Benchmark
2
Security
2
Frameworks
2
Vision Detection
2
Timeline
2
Code highlighting
2
Spreadsheet
1
SDK
1
Streaming
1
RegExp
1
Sub Categories
Keywords
javascript
121
jquery
17
nodejs
13
html
12
typescript
11
jquery-plugin
8
svg
8
css
8
awesome-list
8
framework
7
react
7
testing
7
awesome
6
canvas
6
html5
6
chart
6
tdd
6
modal
6
es6
6
node
5
d3
5
data-visualization
5
browser
5
visualization
5
animation
5
wysiwyg
5
webgl
5
lightbox
4
graph
4
dom
4
ui
4
modules
4
css-animations
4
tooltip
4
es2015
4
gallery
4
javascript-library
4
rich-text-editor
4
vue
4
editor
4
slider
4
bdd
3
frontend
3
test
3
test-framework
3
range-slider
3
commonjs
3
async
3
module-bundler
3
angular
3