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: 5 days ago
JSON representation
-
Testing Frameworks
- tape - tap-producing test harness for node and browsers - ★ 4802
- 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
- slimerjs - A scriptable browser like PhantomJS, based on Firefox - ★ 2774
- 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
- react-testing-library - Simple and complete React DOM testing utilities that encourage good testing practices. - ★ 3849
- qunit - An easy-to-use JavaScript Unit Testing framework. - ★ 3794
- intern - A next-generation code testing stack for JavaScript. - ★ 4064
- jest - Delightful JavaScript Testing. - ★ 21588
-
MVC Frameworks and Libraries
- preact - Fast 3kB React alternative with the same modern API. Components & Virtual DOM. - ★ 20661
- 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
- riot - Simple and elegant component-based UI library - ★ 13323
- feathers - A REST and realtime API layer for modern applications. - ★ 9974
- 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
- react-native - A framework for building native apps with React. - ★ 70925
- hyperapp - 1 kB JavaScript micro-framework for building declarative web applications - ★ 15704
- mithril.js - A Javascript Framework for Building Brilliant Applications - ★ 10060
- espresso.js - Super minimal MVC library - ★ 523
- 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
-
Data Structure
- immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity. - ★ 25610
- mori - ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript - ★ 3018
- Buckets-JS - A complete, fully tested and documented data structure library written in pure JavaScript. - ★ 904
- hashmap - HashMap JavaScript class for Node.js and the browser. The keys can be anything and won't be stringified - ★ 315
-
Form Widgets
- Pikaday - A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS - ★ 6335
- select2 - Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results. - ★ 23012
- chosen - Chosen is a library for making long, unwieldy select boxes more friendly. - ★ 21867
- typeahead.js - typeahead.js is a fast and fully-featured autocomplete library - ★ 15461
- 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
- awesomplete - Ultra lightweight, usable, beautiful autocomplete with zero dependencies. - ★ 6297
- At.js - Add Github like mentions autocomplete to your application. - ★ 5091
- 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
- rome - Customizable date (and time) picker. Opt-in UI, no jQuery! - ★ 2810
- 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
- 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
- bootstrap-datepicker - A datepicker for twitter bootstrap ( ) - ★ 11217
- form - jQuery Form Plugin - ★ 4695
- 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
- 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
-
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
- 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
- lodjs - JavaScript模块加载器,基于AMD。迄今为止,对AMD理解最好的实现。 - ★ 290
- modulejs - Lightweight JavaScript module system. - ★ 107
- curl - curl.js is small, fast, extensible module loader that handles AMD, CommonJS Modules/1.1, CSS, HTML/text, and legacy scripts. - ★ 1838
- lazyload - An ancient tiny JS and CSS loader from the days before everyone had written one. Unmaintained. - ★ 1321
- esl - enterprise standard loader - ★ 765
-
Bundlers
- 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
- 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
-
QA Tools
- 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
- 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
- JSLint - The JavaScript Code Quality Tool - ★ 3224
- jshint - JSHint is a tool that helps to detect errors and potential problems in your JavaScript code - ★ 8047
-
Node-Powered CMS Frameworks
- 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
- cody - Javascript Content Management System running on Node.js - ★ 643
- 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
-
Templating Engines
- 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
- hogan.js - A compiler for the Mustache templating language - ★ 4943
- doT - The fastest + concise javascript template engine for nodejs and browsers. Partials, custom delimiters and more. - ★ 4041
- ejs - Embedded JavaScript templates -- - ★ 2953
- eco - Embedded CoffeeScript templates - ★ 1761
- t.js - A tiny javascript templating framework in ~400 bytes gzipped - ★ 786
- xtemplate - eXtensible Template Engine lib for node and the browser - ★ 471
- handlebars.js - ★ 13883
- pug - Pug – robust, elegant, feature rich template engine for Node.js - ★ 17464
- 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
-
Data Visualization
- d3 - Bring data to life with SVG, Canvas and HTML. - ★ 80139
- three.js - JavaScript 3D library. - ★ 46236
- Chart.js - Simple HTML5 Charts using the <canvas> tag - ★ 40293
- fabric.js - Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser - ★ 11299
- chartist-js - Simple responsive charts - ★ 11221
- recharts - Redefined chart library built with React and D3 - ★ 10289
- raphael - JavaScript Vector Library - ★ 9972
- paper.js - The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. Created by & - ★ 9902
- 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
- svg.js - The lightweight library for manipulating and animating SVG - ★ 6468
- 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
- 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
- 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
- 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
- Squire - HTML5 rich text editor. Try the demo integration at - ★ 3880
- 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
- medium-editor - Medium.com WYSIWYG editor clone. Uses contenteditable API to implement a rich text solution. - ★ 12897
- 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
- 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
- draft-js - A React framework for building text editors. - ★ 14291
-
Documentation
-
Functional Programming
- underscore - JavaScript's utility _ belt - ★ 23883
- lazy.js - Like Underscore, but lazier - ★ 5401
- 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
- lodash - A modern JavaScript utility library delivering modularity, performance, & extras. - ★ 35692
-
Reactive Programming
-
Date
- 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
- countdown.js - Super simple countdowns. - ★ 384
-
String
- query-string - Parse and stringify URL query strings - ★ 3043
- voca - The ultimate JavaScript string library - ★ 2405
- he - A robust HTML entity encoder/decoder written in JavaScript. - ★ 1738
- sprintf.js - sprintf.js is a complete open source JavaScript sprintf implementation - ★ 1709
- string.js - Extra JavaScript string methods. - ★ 1649
- multiline - Multiline strings in JavaScript - ★ 1438
- domurl - Lightweight URL manipulation with JavaScript - ★ 429
- selecting - A library that allows you to access the text selected by the user - ★ 69
- URI.js - Javascript URL mutation library - ★ 5513
- underscore.string - String manipulation helpers for javascript - ★ 3303
- url-pattern - easier than regex string matching patterns for urls and other strings. turn strings into data or data into strings. - ★ 396
-
Number
- 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
- Complex.js - A complex number library - ★ 120
- Polynomial.js - A JavaScript library to work with polynomials - ★ 62
- Fraction.js - Fraction is a rational number library written in JavaScript - ★ 163
-
Storage
- 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
- basil.js - The missing Javascript smart persistent layer - ★ 1910
- Cookies - JavaScript Client-Side Cookie Manipulation Library - ★ 1757
- jStorage - jStorage is a simple key/value database to store data on browser side - ★ 1520
- cross-storage - Cross domain local storage, with permissions - ★ 1476
- bag.js - JS / CSS / files loader + key/value storage - ★ 72
- localForage - Offline storage, improved. Wraps IndexedDB, WebSQL, or localStorage using a simple but powerful API. - ★ 13930
- db.js - db.js is a wrapper for IndexedDB to make it easier to work against - ★ 646
-
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
-
I18n And L10n
- i18next - i18next: learn once - translate everywhere - ★ 3683
- polyglot.js - Give your JavaScript the ability to speak many languages. - ★ 2882
- babelfish - human friendly i18n for javascript (node.js + browser) - ★ 194
-
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
- bluebird - Bluebird is a full featured promise library with unmatched performance. - ★ 17527
- step - An async control-flow library that makes stepping through logic easy. - ★ 2186
- contra - Asynchronous flow control with a functional taste to it - ★ 749
-
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
-
Log
- log - Console.log with style. - ★ 2640
- 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
- Conzole - Oaxoa.github.io - ★ 191
-
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
-
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
-
Machine Learning
- 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
- dn2a.js - Digital Neural Networks Architecture with JavaScript - ★ 456
-
Benchmark
- benchmark.js - A benchmarking library. As used on jsPerf.com. - ★ 3797
- matcha - A caffeine driven, simplistic approach to benchmarking. - ★ 500
-
Code highlighting
- prism - Lightweight, robust, elegant syntax highlighting. - ★ 5923
- highlight.js - Javascript syntax highlighter - ★ 13231
-
Loading Status
- 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
- pace - Automatically add a progress bar to your site. #hubspot-open-source - ★ 14100
-
Validation
- 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
- validator.js - String validation - ★ 11839
- jquery-validation - jQuery Validation Plugin library sources - ★ 9128
- validatr - Cross Browser HTML5 Form Validation. - ★ 275
- fieldval-js - ★ 135
-
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
- 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
- keymaster - A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies. - ★ 6163
-
Tours And Guides
- 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
- chardin.js - Simple overlay instructions for your apps. - ★ 4649
- pageguide - An interactive guide for web page elements using jQuery and CSS3 - ★ 887
- hopscotch - A framework to make it easy for developers to add product tours to their pages. - ★ 4142
- shepherd - Guide your users through a tour of your app - ★ 5930
-
Notifications
- 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
- iziToast - Elegant, responsive, flexible and lightweight notification plugin with no dependencies. - ★ 1617
- smoke.js - framework-agnostic styled alert system for javascript - ★ 940
-
Sliders
- 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
- FlexSlider - An awesome, fully responsive jQuery slider plugin - ★ 4935
- glide - A dependency-free JavaScript ES6 slider and carousel. It’s lightweight, flexible and fast. Designed to slide. No less, no more - ★ 3660
- reveal.js - The HTML Presentation Framework - ★ 43291
-
Range Sliders
- 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
- ion.rangeSlider - jQuery only range slider - ★ 2064
- jQRangeSlider - A jquery UI range selection slider that supports dates - ★ 679
- rangeslider.js - HTML5 input range slider element polyfill - ★ 1850
-
Tips
- 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
-
Modals and Popups
- 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
- jquery-popup-overlay - jQuery plugin for responsive and accessible modal windows and tooltips. - ★ 478
-
Scroll
- 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
- 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
- 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
- onepage-scroll - Create an Apple-like one page scroller website (iPhone 5S website) with One Page Scroll plugin - ★ 9370
-
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
-
Table/Grid
- floatThead - Fixed <thead>. Doesn't need any custom css/html. Does what position:sticky can't - ★ 1066
- jtable - A JQuery plugin to create AJAX based CRUD tables. - ★ 928
- flexboxgrid - Grid based on CSS3 flexbox - ★ 7750
-
Frameworks
-
Boilerplates
- 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
- Cerberus - A few simple, but solid patterns for responsive HTML email templates and newsletters. Even in Outlook and Gmail. - ★ 3171
- 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
-
Gesture
- hammer.js - A javascript library for multi-touch gestures :// You can touch this - ★ 19243
- touchemulator - Emulate touch input on your desktop - ★ 200
- dragula - Drag and drop so simple it hurts - ★ 18307
-
Maps
- Leaflet - JavaScript library for mobile-friendly interactive maps - ★ 23232
- gmaps - the easiest way to use Google Maps - ★ 7044
- cesium - An open-source JavaScript library for world-class 3D globes and maps - ★ 3684
- jqvmap - jQuery Vector Map Library - ★ 1613
- 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
-
Video/Audio
- video.js - Video.js - open source HTML5 & Flash video player - ★ 23096
- mediaelement - HTML5 <audio> or <video> player with support for MP4, WebM, and MP3 as well as HLS, Dash, YouTube, Facebook, SoundCloud and others with a common HTML5 MediaElement API, enabling a consistent UI in all browsers. - ★ 6425
- 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
- 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
- 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
- polyplayer - Rule YouTube, Soundcloud and Vimeo player with one API - ★ 37
- ion.sound - JavaScript plugin for playing sounds and music in browsers - ★ 653
-
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
- slabText - A jQuery plugin for producing big, bold & responsive headlines - ★ 1343
-
Animations
- 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
- 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
-
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
- javascript-sdk-design - JavaScript SDK Design Guide extracted from work and personal experience - ★ 635
- spotify-sdk - Spotify SDK | Entity and Collection oriented | Browser and Node support! - ★ 155
-
Misc
- picturefill - A responsive image polyfill for <picture>, srcset, sizes, and more - ★ 9786
- 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
- 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
- BitSet.js - An arbitrary size Bit-Vector implementation in JavaScript - ★ 137
- jquery.vibrate.js - Vibration API Wrappers - ★ 134
- surveyjs - JavaScript Survey and Form Library - ★ 1351
- 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
-
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
- js-the-right-way - An easy-to-read, quick reference for JS best practices, accepted coding standards, and links around the Web - ★ 7136
- SJSJ - Simplified JavaScript Jargon - ★ 2129
-
Other Awesome Lists
- 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-css - A curated contents of amazing CSS :) - ★ 1837
- awesome-awesome - A curated list of awesome curated lists of many topics. - ★ 1226
- 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
- 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-backbone - A list of resources for backbone.js - ★ 382
- 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-interview-questions - A curated awesome list of lists of interview questions. Feel free to contribute! - ★ 20966
-
RegExp
- regexpbuilderjs - Create regular expressions using chained methods. - ★ 1078
-
Security
- xss-filters - Secure XSS Filters - ★ 871
- 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
-
Files
Programming Languages
Categories
Data Visualization
33
Form Widgets
28
MVC Frameworks and Libraries
28
Testing Frameworks
25
Editors
21
Other Awesome Lists
18
Sliders
15
Animations
15
Misc
13
Modals and Popups
13
Storage
12
Video/Audio
12
Scroll
12
Loading Status
11
Templating Engines
11
String
11
Loaders
10
Node-Powered CMS Frameworks
9
Date
9
Tours And Guides
9
Typography
9
QA Tools
9
Functional Programming
8
Notifications
8
Package Managers
8
Boilerplates
8
Maps
7
Control Flow
7
Validation
7
Keyboard Wrappers
6
Color
6
Tips
6
API
6
Number
6
Reactive Programming
5
Documentation
5
Machine Learning
5
Routing
5
ES6
5
Worth Reading
5
Menu
4
Bundlers
4
Log
4
Range Sliders
4
Data Structure
4
Files
3
Gesture
3
Table/Grid
3
I18n And L10n
3
Security
3
Image Processing
3
SDK
2
Voice Command
2
Benchmark
2
Frameworks
2
Vision Detection
2
Timeline
2
Code highlighting
2
Spreadsheet
1
Streaming
1
RegExp
1
Sub Categories
Keywords
javascript
128
jquery
17
nodejs
14
html
12
awesome-list
11
typescript
11
awesome
9
testing
8
react
8
es6
8
css
8
jquery-plugin
8
framework
8
svg
8
html5
7
chart
6
canvas
6
tdd
6
modal
6
visualization
5
node
5
wysiwyg
5
d3
5
vue
5
data-visualization
4
editor
4
rich-text-editor
4
tooltip
4
html5-audio
4
ui
4
gallery
4
javascript-library
4
slider
4
webgl
4
es2015
4
dom
4
animation
4
video
4
lightbox
4
browser
4
map
3
polyfill
3
modules
3
web
3
graph
3
charting-library
3
range-slider
3
leaflet
3
notifications
3
angular
3