awesome-javascript
🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things.
https://github.com/sorrycc/awesome-javascript
Last synced: 12 days ago
JSON representation
-
Animations
-
Other
- Anime.js - A JavaScript animation engine.
- Mo.js - Motion graphics toolbelt for the web.
- AutoAnimate - Add motion to your apps with a single line of code.
- velocity - Accelerated JavaScript animation.
- jquery.transit - Super-smooth CSS3 transformations and transitions for jQuery.
- bounce.js - Create tasty CSS3 powered animations in no time.
- TransitionEnd - TransitionEnd is an agnostic and cross-browser library to work with transitioned event.
- Dynamic.js - JavaScript library to create physics-based CSS animations.
- the-cube - The Cube is an experiment with CSS3 transitions.
- Effeckt.css - A Performant Transitions and Animations Library.
- textillate - A simple plugin for CSS3 text animations.
- move.js - CSS3 backed JavaScript animation framework.
- animatable - One property, two values, endless possibilities.
- shuffle-images - The Simplest Way to shuffle through images in a Creative Way.
- smoothState.js - Unobtrusive page transitions with jQuery.
- particles.js - A lightweight JavaScript library for creating particles.
- particles-bg - A lightweight React particles animation background component.
- barbajs - It helps you create fluid and smooth transitions between your website's pages.
- typicaljs - Animated typing in ~400 bytes 🐡 of JavaScript
- GreenSock-JS - High-performance HTML5 animations that work in all major browsers.
- tsParticles - A new and improved version of particles.js with bug fixes and many new features.
- animate.css - A cross-browser library of CSS animations. As easy to use as an easy thing.
- AutoAnimate - Add motion to your apps with a single line of code.
-
-
API
-
Runner
- axios - Promise based HTTP client for the browser and node.js.
- bottleneck - A powerful rate limiter that makes throttling easy.
- oauth-signature-js - JavaScript OAuth 1.0a signature generator for node and the browser.
- amygdala - RESTful HTTP client for JavaScript powered web applications.
- jquery.rest - A jQuery plugin for easy consumption of RESTful APIs.
- Rails Ranger - An opinionated REST client for Ruby on Rails APIs.
- wretch - A tiny wrapper built around fetch with an intuitive syntax.
- Optic - Optic automatically documents and tests your APIs.
- SWR - React Hooks library for remote data fetching.
- React Query - Hooks for fetching, caching and updating asynchronous data in React.
- SWRV - Stale-while-revalidate data fetching for Vue.
- Vue Query - Hooks for fetching, caching and updating asynchronous data in Vue.
- FarFetch - Modern Fetch API wrapper for simplicity, with concise file uploading.
-
-
Articles and Posts
-
Runner
- The JavaScript that you should know - Article about concepts of JavaScript Functional.
- Multi-threading using web-workers - Web Workers: Adding Multi-threading to JavaScript
- this keyword in JavaScript - Breaking down the 'this' keyword in JavaScript
-
-
Benchmark
-
Runner
- benchmark.js - A benchmarking library. As used on jsPerf.com.
- matcha - A caffeine driven, simplistic approach to benchmarking.
- bencher - A suite of continuous benchmarking tools designed to catch performance regressions in CI.
-
-
Boilerplates
-
Other
- npm run-scripts - scripts.
- html5-boilerplate - A professional front-end template for building fast, robust, and adaptable web apps or sites.
- mobile-boilerplate - A front-end template that helps you build fast, modern mobile web apps.
- webplate - An awesome front-end framework that lets you stay focused on building your site or app while remaining really easy to use.
- Cerberus - A few simple, but solid patterns for responsive HTML emails. Even in Outlook.
- full-page-intro-and-navigation - An intro page with a full width background image, a bold animated menu and an iOS-like blurred effect behind the navigation.
- Fluid-Squares - A fluid grid of square units.
- Mobile-First-RWD - An example of a mobile-first responsive web design.
- this-is-responsive - This Is Responsive.
- Wasp - specific language for developing, building, and deploying modern Javascript full-stack web apps with less code.
-
-
Browser Detection
-
Runner
- bowser - a browser detector.
-
-
Bundlers
- Snowpack - A lightning-fast frontend build tool, designed for the modern web.
- webpack - Packs CommonJs/AMD modules for the browser.
- Rollup - Next-generation ES6 module bundler.
- Brunch - Fast front-end web app build tool with simple declarative config.
- Parcel - Blazing fast, zero configuration web application bundler.
- Microbundle - Zero-configuration bundler for tiny modules.
- FuseBox - A bundler that does it right
- Terser - parser, mangler and compressor toolkit for ES6+
- Uglify - parser / mangler / compressor / beautifier toolkit
- Vite - Next Generation Frontend Tooling.
-
Code highlighting
-
Runner
- Highlight.js - JavaScript syntax highlighter.
- PrismJS - Lightweight, robust, elegant syntax highlighting.
- shiki - Code highlighter powered by VS Code TextMate grammars. Accurate, themeable, works in Node or browser, great for JS and TS.
-
-
Color
-
Runner
- randomColor - A color generator for JavaScript.
- chroma.js - JavaScript library for all kinds of color manipulations.
- color - JavaScript color conversion and manipulation library.
- colors - Smarter defaults for colors on the web.
- PleaseJS - JavaScript Library for creating random pleasing colors and color schemes.
- TinyColor - Fast, small color manipulation and conversion for JavaScript.
- Vibrant.js - Extract prominent colors from an image.
-
-
Component Management
- Bit - Create, find and reuse components (React, Angular, Node etc.) across applications.
-
Control Flow
-
Runner
- async - Async utilities for node and the browser.
- q - A tool for making and composing asynchronous promises in JavaScript.
- when - A solid, fast Promises/A+ and when() implementation, plus other async goodies.
- ObjectEventTarget - Provide a prototype that add support to event listeners (with same behavior of EventTarget from DOMElements available on browsers).
- sporadic - Composable concurrency abstractions (such as streams, coroutines and Go-like channels) on top of promises, for Node and browser engines.
- step - An async control-flow library that makes stepping through logic easy.
- Bluebird - fully featured promise library with focus on innovative features and performance.
- contra - Asynchronous flow control with a functional taste to it.
-
-
Data Structure
-
Runner
- mori - A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript.
- buckets - A complete, fully tested and documented data structure library written in JavaScript.
- hashmap - Simple hashmap implementation that supports any kind of keys.
- ngraph.graph - Graph data structure in javascript.
- js-sdsl - Refer to the javascript standard data structure library implemented by c++ stl, which supports c++ bidirectional iterator mode.
- immutable-js - Immutable Data Collections including Sequence, Range, Repeat, Map, OrderedMap, Set and a sparse Vector.
-
-
Data Visualization
-
Runner
- visjs - Multiple Libraries for dynamic, browser-based data visualization.
- dimple.js - Easy charts for business analytics powered by d3.
- cola.js - library for arranging your HTML5 documents and diagrams using constraint-based optimization techniques
- amchart - js/).
- d3 - A JavaScript visualization library for HTML and SVG.
- three.js - JavaScript 3D library.
- Chart.js - Simple HTML5 Charts using the <canvas> tag.
- paper.js - The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas.
- peity - Progressive <svg> bar, line and pie charts.
- raphael - JavaScript Vector Library.
- echarts - Enterprise Charts.
- two.js - A renderer agnostic two-dimensional drawing api for the web.
- g.raphael - Charts for Raphaël.
- sigma.js - A JavaScript library dedicated to graph drawing.
- arbor - A graph visualization library using web workers and jQuery.
- cubism - A D3 plugin for visualizing time series.
- dc.js - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js
- vega - A visualization grammar.
- envisionjs - Dynamic HTML5 visualization.
- rickshaw - JavaScript toolkit for creating interactive real-time graphs.
- flot - Attractive JavaScript charts for jQuery.
- morris.js - Pretty time-series line graphs.
- nvd3 - Build re-usable charts and chart components for d3.js.
- heatmap.js - JavaScript Library for HTML5 canvas based heatmaps.
- jquery.sparkline - A plugin for the jQuery JavaScript library to generate small sparkline charts directly in the browser.
- trianglify - Low poly style background generator with d3.js.
- d3-cloud - Create word clouds in JavaScript.
- d4 - A friendly reusable charts DSL for D3.
- chartist-js - Simple responsive charts.
- epoch - A general purpose real-time charting library.
- c3 - D3-based reusable chart library.
- BabylonJS - A framework for building 3D games with HTML 5 and WebGL.
- recharts - Redefined chart library built with React and D3.
- GraphicsJS - A lightweight JavaScript graphics library with the intuitive API, based on SVG/VML technology.
- mxGraph - Diagramming library that enables interactive graph and charting applications to be quickly created that run natively in any major browser that is supported by its vendor.
- Frappe Charts - GitHub-inspired simple and modern SVG charts for the web with zero dependencies.
- Frappe Gantt - A simple, interactive, modern gantt chart library for the web.
- G2 - A highly interactive data-driven visualization grammar for statistical charts.
- G2Plot - An interactive and responsive charting library. Based on the grammar of graphics.
- Cytoscape.js - A fully featured graph theory library.
- jointjs - Diagramming library to create static diagrams or fully interactive diagramming tools.
- vizzu - Library for animated data visualizations and data stories.
- G6 - A graph visualization engine.
- Infographic - A next-generation declarative infographic visualization engine.
- metrics-graphics - A library optimized for concise, principled data graphics and layouts.
- fabric.js - JavaScript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser.
-
-
Date
-
Runner
- moment - Parse, validate, manipulate, and display dates in JavaScript.
- moment-timezone - Timezone support for moment.js.
- jquery-timeago - A jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. "4 minutes ago").
- timezone-js - Timezone-enabled JavaScript Date object. Uses Olson zoneinfo files for timezone data.
- date - Date() for humans.
- timeago.js - Simple library (less then 2kb) used to format date with `*** time ago` statement.
- fecha - Lightweight date formatting and parsing (~2KB). Meant to replace parsing and formatting functionality of moment.js.
- date-fns - Modern JavaScript date utility library.
- dayjs - Day.js 2KB immutable date library alternative to Moment.js with the same modern API.
- luxon - Luxon is a library for working with dates and times in JavaScript.
- tempo - Parsing, formatting, and timezones — Tempo is a small tree-shakable library for native Date objects.
- countdown.js - Super simple countdowns.
- ms.js - Tiny millisecond conversion utility.
-
-
Documentation
-
Runner
- DevDocs - in-one API documentation reader with a fast, organized, and consistent interface.
- docco - and-dirty, hundred-line-long, literate-programming-style documentation generator.
- sphinx
- documentation.js - API documentation generator with support for ES2015+ and flow annotation.
- docco - and-dirty, hundred-line-long, literate-programming-style documentation generator.
- styledocco
- Ronn
- dox - style tags.
- jsdox
- ESDoc
- YUIDoc
- coddoc
- Beautiful docs
- jsduck - API documentation generator made for Sencha JavaScript frameworks, but can be used for other frameworks too.
- codecrumbs
-
-
Editors
-
Runner
- ace - Ace (Ajax.org Cloud9 Editor).
- CodeMirror - In-browser code editor.
- esprima - ECMAScript parsing infrastructure for multipurpose analysis.
- quill - A cross browser rich text editor with an API.
- medium-editor - Medium.com WYSIWYG editor clone.
- pen - enjoy live editing (+markdown).
- jquery-notebook - A simple, clean and elegant text editor. Inspired by the awesomeness of Medium.
- bootstrap-wysiwyg - Tiny bootstrap-compatible WYSIWYG rich text editor.
- editor - A markdown editor. still on development.
- EpicEditor - An embeddable JavaScript Markdown editor with split fullscreen editing, live previewing, automatic draft saving, offline support, and more.
- jsoneditor - A web-based tool to view, edit and format JSON.
- vim.js - JavaScript port of Vim with a persistent `~/.vimrc`.
- Squire - HTML5 rich text editor.
- TinyMCE - The JavaScript Rich Text editor.
- trix - A rich text editor for everyday writing. By Basecamp.
- Trumbowyg - A lightweight and amazing WYSIWYG JavaScript editor.
- Draft.js - A React framework for building text editors.
- bootstrap-wysihtml5 - Simple, beautiful wysiwyg editor
- wysihtml5 - Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles.
- raptor-editor - Raptor, an HTML5 WYSIWYG content editor!
- popline - Popline is an HTML5 Rich-Text-Editor Toolbar.
- Summernote - Super simple WYSIWYG editor.
- Everright-formEditor - A visual drag-and-drop low-code form editor
- ckeditor-releases - The best web text editor for everyone.
-
-
ES6
-
Other
- ECMAScript 6 compatibility table - Compatibility tables for all ECMAScript 6 features on a variety of environments.
- es6features - Overview of ECMAScript 6 features.
- es6-features - ECMAScript 6: Feature Overview & Comparison.
- es6-cheatsheet - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets.
- Babel (Formerly 6to5) - Turn ES6+ code into vanilla ES5 with no runtime.
- Traceur compiler - ES6 features > ES5. Includes classes, generators, promises, destructuring patterns, default parameters & more.
-
-
Files
-
Runner
- Papa Parse - A powerful CSV library that supports parsing CSV files/strings and also exporting to CSV.
- jBinary - High-level I/O (loading, parsing, manipulating, serializing, saving) for binary files with declarative syntax for describing file types and data structures.
- diff2html - Git diff output parser and pretty HTML generator.
- jsPDF - JavaScript PDF generation.
- PDF.js - PDF Reader in JavaScript.
-
-
Form Widgets
-
Calendar
- pickadate.js - The mobile-friendly, responsive, and lightweight jQuery date & time input picker.
- fullcalendar - Full-sized drag & drop event calendar (jQuery plugin).
- rome - A customizable date (and time) picker. Dependency free, opt-in UI.
-
Programming Languages
Categories
Misc
59
Data Visualization
46
MVC Frameworks and Libraries
44
Testing Frameworks
37
Form Widgets
34
Editors
24
Storage
24
Animations
23
Sliders
20
Scroll
18
Modals and Popups
17
Video/Audio
16
Templating Engines
16
Documentation
15
Game Engines
15
QA Tools
14
Date
13
String
13
API
13
Node-Powered CMS Frameworks
12
Package Managers
12
Loading Status
12
Functional Programming
11
Validation
10
Boilerplates
10
Loaders
10
Web Worker
10
Machine Learning
10
Bundlers
10
Notifications
10
Reactive Programming
9
ORM
9
Number
9
Typography
9
Tours And Guides
8
Control Flow
8
Maps
8
Table/Grid
8
Log
8
Color
7
Generators
7
Frameworks
7
Tips
7
Type Checkers
7
Keyboard Wrappers
6
Data Structure
6
ES6
6
Routing
6
SDK
5
Menu
5
I18n And L10n
5
Security
5
Spreadsheet
5
Files
5
Range Sliders
4
RegExp
4
Full Text Search
3
Images
3
Articles and Posts
3
Benchmark
3
Gesture
3
Image Processing
3
Code highlighting
3
Timeline
2
WebSockets
2
Voice Command
2
Vision Detection
2
Streaming
1
Transpilers
1
Browser Detection
1
Operating System
1
Generative AI
1
Component Management
1
Sub Categories
Keywords
javascript
190
typescript
44
nodejs
32
react
27
vue
20
jquery
20
html
13
angular
12
javascript-library
12
svg
12
jquery-plugin
11
awesome-list
11
framework
11
node
11
visualization
10
graph
9
css
9
compiler
9
chart
9
postgresql
9
es6
9
browser
9
awesome
9
html5
8
modal
8
graphql
8
performance
8
web
8
mysql
8
canvas
7
testing
7
orm
7
data-visualization
7
web-worker
7
animation
7
wysiwyg
7
editor
7
dom
7
database
7
library
6
jsx
6
sqlite
6
static-site-generator
6
charts
6
automation
6
tdd
6
functional-programming
6
json
6
rest
5
fetch
5