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: 2 days ago
JSON representation

  • 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
    • particles.js - A lightweight JavaScript library for creating particles - ★ 17358
    • velocity - Accelerated JavaScript animation. - ★ 15344
    • Effeckt.css - A Performant Transitions and Animations Library - ★ 11215
    • 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
    • GreenSock-JS - GreenSock's GSAP JavaScript animation library (including Draggable). - ★ 8482
    • animate.css - A cross-browser library of CSS animations. As easy to use as an easy thing. - ★ 55434
  • 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
  • Benchmark

    • benchmark.js - A benchmarking library. As used on jsPerf.com. - ★ 3797
    • matcha - A caffeine driven, simplistic approach to benchmarking. - ★ 500
  • 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
    • 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
    • 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
  • Browser Detection

    • bowser - a browser detector - ★ 3082
  • Bundlers

    • 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
  • Code highlighting

    • prism - Lightweight, robust, elegant syntax highlighting. - ★ 5923
    • highlight.js - Javascript syntax highlighter - ★ 13231
  • 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
    • vibrant.js - Extract prominent colors from an image. JS port of Android's Palette. - ★ 4331
  • 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
  • Data Structure

    • 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
    • immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity. - ★ 25610
  • 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
    • 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
    • morris.js - Pretty time-series line graphs - ★ 6860
    • nvd3 - A reusable charting library written in d3.js - ★ 6723
    • 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
    • jquery.sparkline - A plugin for the jQuery javascript library to generate small sparkline charts directly in the browser - ★ 1160
    • d4 - A friendly reusable charts DSL for D3 - ★ 421
    • vega - A visualization grammar. Moved to: - ★ 23
    • xcharts - ★ 0
    • vis - vis.js is a dynamic, browser-based visualization library - ★ 7284
    • incubator-echarts - A powerful, interactive charting and visualization library for browser - ★ 31068
    • fabric.js - Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser - ★ 11299
    • metrics-graphics - A library optimized for concise and principled data graphics and layouts. - ★ 6964
  • 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
    • countdown.js - Super simple countdowns. - ★ 384
    • countdown.js - Super simple countdowns. - ★ 384
    • ms - Tiny milisecond conversion utility - ★ 1674
  • Documentation

    • esdoc - ESDoc - Good Documentation for JavaScript - ★ 2240
    • dox - JavaScript documentation generator for node using markdown and jsdoc - ★ 2070
    • jsduck - Simple JavaScript Duckumentation generator. - ★ 1487
    • ronn - the opposite of roff - ★ 1089
    • jsdox - simplified jsdoc 3 - ★ 202
  • Editors

    • ace - Ace (Ajax.org Cloud9 Editor) - ★ 18612
    • 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
    • popline - Popline is an HTML5 Rich-Text-Editor Toolbar - ★ 1042
    • 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
    • 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
    • ckeditor-releases - Official distribution releases of CKEditor. - ★ 443
  • 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
  • Files

    • 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
    • jsPDF - Client-side JavaScript PDF generation for everyone. - ★ 12419
  • Form Widgets

    • 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
    • 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
    • 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
    • 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
    • datedropper - datedropper is a jQuery plugin that provides a quick and easy way to manage dates for input fields. - ★ 1708
    • Pikaday - A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS - ★ 6335
    • dropzone - Dropzone is an easy to use drag'n'drop library. It supports image previews and shows nice progress bars. - ★ 14068
    • 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
    • form - jQuery Form Plugin - ★ 4695
  • Frameworks

    • Ink - An HTML5/CSS3 framework used at SAPO for fast and efficient website design and prototyping - ★ 1923
    • fluidity - The worlds smallest fully-responsive css framework - ★ 1124
  • Functional Programming

    • lodash - A modern JavaScript utility library delivering modularity, performance, & extras. - ★ 35692
    • 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
  • 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
  • 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
  • Image Processing

    • cropper - A simple jQuery image cropping plugin. - ★ 7189
    • pica - Resize image in browser with high quality and high speed - ★ 1419
    • lena.js - Library for image processing - ★ 264
  • Keyboard Wrappers

    • mousetrap - Simple library for handling keyboard shortcuts in Javascript - ★ 9166
    • keymaster - A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies. - ★ 6163
    • 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
  • 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
    • 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
    • lodjs - JavaScript模块加载器,基于AMD。迄今为止,对AMD理解最好的实现。 - ★ 290
    • modulejs - Lightweight JavaScript module system. - ★ 107
Sub Categories