JavaScript
Contents_Index
- PACKAGE MANAGERS12
- COMPONENT MANAGEMENT1
- LOADERS10
- TRANSPILERS1
- BUNDLERS11
- TYPE CHECKERS7
- FRAMEWORKS13
- ASSERTION8
- COVERAGE3
- RUNNER12
- QA TOOLS12
- MVC FRAMEWORKS AND LIBRARIES44
- NODE-POWERED CMS FRAMEWORKS12
- TEMPLATING ENGINES15
- GAME ENGINES10
- ARTICLES AND POSTS3
- DATA VISUALIZATION46
- TIMELINE2
- SPREADSHEET5
- EDITORS24
- DOCUMENTATION14
- FILES5
- FUNCTIONAL PROGRAMMING11
- REACTIVE PROGRAMMING9
- DATA STRUCTURE6
- DATE14
- STRING13
- NUMBER9
- STORAGE23
- COLOR7
- I18N AND L10N5
- CONTROL FLOW8
- ROUTING6
- SECURITY5
- LOG7
- REGEXP4
- VOICE COMMAND2
- API13
- STREAMING1
- VISION DETECTION2
- MACHINE LEARNING10
- BROWSER DETECTION1
- OPERATING SYSTEM1
- BENCHMARK3
- WEB WORKER10
- CODE HIGHLIGHTING3
- LOADING STATUS12
- VALIDATION10
- KEYBOARD WRAPPERS6
- TOURS AND GUIDES8
- NOTIFICATIONS10
- SLIDERS19
- RANGE SLIDERS4
- INPUT9
- CALENDAR9
- SELECT3
- FILE UPLOADER7
- OTHER7
- TIPS7
- MODALS AND POPUPS17
- SCROLL18
- MENU5
- TABLE/GRID9
- FRAMEWORKS6
- BOILERPLATES10
- IMAGES3
- GESTURE3
- MAPS9
- VIDEO/AUDIO17
- TYPOGRAPHY9
- ANIMATIONS22
- IMAGE PROCESSING3
- ES66
- GENERATORS6
- SDK5
- FULL TEXT SEARCH3
- ORM9
- WEBSOCKETS2
- GENERATIVE AI1
- MISC55
Package Managers
12_ENTRIESHost the JavaScript libraries and provide tools for fetching and packaging them.
- npm
npm is the package manager for JavaScript.
- Bower
A package manager for the web.
- component
Client package management for building better web applications.
- spm
Brand new static package manager.
- jam
A package manager using a browser-focused and RequireJS compatible repository.
- jspm
Frictionless browser package management.
- Ender
The no-library library.
- volo
Create front end projects from templates, add dependencies, and automate the resulting projects.
- Duo
Next-generation package manager that blends the best ideas from Component, Browserify and Go to make organizing and writing front-end code quick and painless.
- yarn
Fast, reliable, and secure dependency management.
- pnpm
Fast, disk space efficient package manager.
- bun
Bun is a fast JavaScript all-in-one toolkit.
Component Management
1_ENTRIES- Bit
Create, find and reuse components (React, Angular, Node etc.) across applications.
Loaders
10_ENTRIESModule or loading system for JavaScript.
- RequireJS
A file and module loader for JavaScript.
- browserify
Browser-side require() the node.js way.
- SeaJS
A Module Loader for the Web.
- HeadJS
The only script in your HEAD.
- lazyload
Tiny, dependency-free async JavaScript and CSS loader.
- script.js
Asynchronous JavaScript loader and dependency manager.
- systemjs
AMD, CJS & ES6 spec-compliant module loader.
- LodJS
Module loader based on AMD.
- ESL
Module loader browser first, support lazy define and AMD.
- modulejs
Lightweight JavaScript module system.
Transpilers
1_ENTRIESSoftware that converts the modern JavaScript syntax into the older JavaScript syntax.
- SWC
Extensible Rust-based platform for compilation.
Bundlers
11_ENTRIES- webpack
Packs CommonJs/AMD modules for the browser.
- Rollup
Next-generation ES6 module bundler.
- Brunch
Fast front-end web app build tool with simple declarative config.
- Parcel
Blazing fast, zero configuration web application bundler.
- Microbundle
Zero-configuration bundler for tiny modules.
- FuseBox
A bundler that does it right
- Snowpack
A lightning-fast frontend build tool, designed for the modern web.
- bundle
A quick online npm package size checker.
- Vite
Next Generation Frontend Tooling.
- Terser
parser, mangler and compressor toolkit for ES6+
- Uglify
parser / mangler / compressor / beautifier toolkit
Type Checkers
7_ENTRIES- TypeScript
A typed superset of JavaScript that compiles to plain JavaScript.
- Flow.js
A static type checker for JavaScript from Facebook.
- Hegel
A static type checker for JavaScript with a bias on type inference an strong type system.
- TypL
the JavaScript Type Linter with a bias on type inference.
- Hindley Milner Definitions
runtime type checking for JavaScript functions using Haskell-alike Hindley Milner type signatures.
- Zod
TypeScript-first schema validation with built-in static type inference.
- Yup
JavaScript schema builder and validator.
Frameworks
13_ENTRIES- mocha
Simple, flexible, fun JavaScript test framework for node.js & the browser.
- jasmine
DOM-less simple JavaScript testing framework.
- qunit
An easy-to-use JavaScript Unit Testing framework.
- jest
Painless JavaScript Unit Testing.
- prova
Node & Browser test runner based on Tape and Browserify
- DalekJS
Automated cross browser functional testing with JavaScript
- Protractor
Protractor is an end-to-end test framework for AngularJS applications.
- tape
Tap-producing test harness for node and browsers.
- TestCafe
Automated browser testing for the modern web development stack.
- ava
🚀 Futuristic JavaScript test runner
- Cypress
Complete end-to-end testing framework for anything that runs in a browser and beyond.
- WebdriverI/O
Next-gen browser and mobile automation test framework for Node.js
- Suites
A unit-testing framework for backends working with inversion of control and dependency injection
Assertion
8_ENTRIES- chai
BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
- Enzyme
Enzyme is a JavaScript Testing utility for React that makes it easier to assert, manipulate, and traverse your React Components' output.
- react testing library
Simple and complete React DOM testing utilities that encourage good testing practices.
- Sinon.JS
Test spies, stubs, and mocks for JavaScript.
- expect.js
Minimalistic BDD-style assertions for Node.JS and the browser.
- proxyquire
Stub nodejs's require.
- Supertest
A popular HTTP assertion library for testing REST APIs, often used with other testing frameworks like Mocha or Jest
- Pocket Mocker
In-browser visual network mocking tool, supports fetch/XHR interception.
Coverage
3_ENTRIESRunner
12_ENTRIES- phantomjs
Scriptable Headless WebKit.
- slimerjs
A PhantomJS-like tool running Gecko.
- casperjs
Navigation scripting & testing utility for PhantomJS and SlimerJS.
- zombie
Insanely fast, full-stack, headless browser testing using node.js.
- totoro
A simple and stable cross-browser testing tool.
- karma
Spectacular Test Runner for JavaScript.
- nightwatch
UI automated testing framework based on node.js and selenium webdriver.
- intern
A next-generation code testing stack for JavaScript.
- puppeteer
Headless Chrome Node.js API by official Google Chrome team.
- webdriverio
Next-gen WebDriver test automation framework for Node.js.
- taiko
A Node.js library with a simple API to automate Chromium based browsers.
- Playwright
Node.js library to automate Chromium, Firefox and WebKit with a single API.
QA Tools
12_ENTRIES- prettier
Prettier is an opinionated code formatter.
- JSHint
JSHint is a tool that helps to detect errors and potential problems in your JavaScript code.
- jscs
JavaScript Code Style checker.
- jsfmt
For formatting, searching, and rewriting JavaScript.
- jsinspect
Detect copy-pasted and structurally similar code.
- buddy.js
Magic number detection for JavaScript.
- ESLint
A fully pluggable tool for identifying and reporting on patterns in JavaScript.
- JSLint
High-standards, strict & opinionated code quality tool, aiming to keep only good parts of the language.
- JavaScript Standard Style
Opinionated, no-configuration style guide, style checker, and formatter
- Pre-evaluate code at buildtime
Pre-evaluate your front end javascript code at build-time
- JS-Beautifier
Npm cli and library to format JS code.
- husky
Prevents bad git commit, git push and more.
MVC Frameworks and Libraries
44_ENTRIES- angular.js
HTML enhanced for web apps. (deprecated)
- angular
Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.
- aurelia
A JavaScript client framework for mobile, desktop and web.
- backbone
Give your JS App some Backbone with Models, Views, Collections, and Events.
- ember.js
A JavaScript framework for creating ambitious web applications.
- meteor
An ultra-simple, database-everywhere, data-on-the-wire, pure-javascript web framework.
- ractive
Next-generation DOM manipulation.
- vue
Intuitive, fast & composable MVVM for building interactive interfaces.
- svelte
Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM.
- knockout
Knockout makes it easier to create rich, responsive UIs with JavaScript.
- spine
Lightweight MVC library for building JavaScript applications.
- espresso.js
A minimal JavaScript library for crafting user interfaces.
- canjs
Can do JS, better, faster, easier.
- react
A library for building user interfaces. It's declarative, efficient, and extremely flexible. Works with a Virtual DOM.
- hyperapp
1kb JavaScript library for building frontend applications.
- preact
Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM.
- nativescript
Build truly native cross-platform iOS and Android apps with JavaScript.
- react-native
A framework for building native apps with React.
- riot
React-like library, but with very small size.
- thorax
Strengthening your Backbone.
- chaplin
An architecture for JavaScript applications using the Backbone.js library.
- marionette
A composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications.
- ripple
A tiny foundation for building reactive views.
- rivets
Lightweight and powerful data binding + templating solution.
- derby
MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers.derby-awesome - A collection of awesome derby components
- way.js
Simple, lightweight, persistent two-way databinding.
- mithril.js
Mithril is a client-side MVC framework (Light-weight, Robust, Fast).
- jsblocks
jsblocks is better MV-ish framework.
- feathers
A minimalist real-time JavaScript framework for tomorrow's apps.
- Keo
Functional stateless React components with Shadow DOM support.
- atvjs
Blazing fast Apple TV application development using pure JavaScript.
- Alpine.js
offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost.
- inferno
🔥 An extremely fast, React-like JavaScript library for building modern user interfaces.
- FoalTS
Elegant and all-inclusive Node.JS framework for building web applications (TypeScript).
- Lucia
3kb library for tiny web apps.
- Adonis
The Node.js Framework highly focused on developer ergonomics, stability and confidence.
- GrapesJS
Free and Open source Web Builder Framework. Next generation tool for building templates without coding.
- Rete.js
A modular framework for visual programming allows to create node based editor in browser.
- litegraph.js
A graph node engine and editor similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D.
- Drawflow
This allow you to create data flows easily and quickly.
- Blockly
A library that adds a visual code editor to web and mobile apps by Google.
- Million
<1kb compiler-focused virtual DOM. It's fast!
- Whatsup
A frontend framework for chillout-mode development 🥤. JSX components on generators, fast mobx-like state management and exclusive cssx style system.
- Remult
A CRUD framework for full-stack TypeScript.
Node-Powered CMS Frameworks
12_ENTRIES- KeystoneJS
powerful CMS and web app framework.
- Reaction Commerce
reactive CMS, real-time architecture and design.
- Ghost
simple, powerful publishing platform.
- Apostrophe
CMS with content editing and essential services.
- We.js
framework for real time apps, sites or blogs.
- Hatch.js
CMS platform with social features.
- TaracotJS
fast and minimalist CMS based on Node.js.
- Nodizecms
CMS for CoffeeScript lovers.
- Cody
CMS with WSYWYG editor.
- PencilBlue
CMS and blogging platform.
- Strapi
Open source Node.js Headless CMS to easily build customisable APIs.
- Factor
The Javascript CMS
Templating Engines
15_ENTRIESTemplating engines allow you to perform string interpolation.
- mustache.js
Minimal templating with {{mustaches}} in JavaScript.
- handlebars.js
An extension to the Mustache templating language.
- nunjucks
A rich and powerful templating language for JavaScript from Mozilla.
- hogan.js
A compiler for the Mustache templating language.
- doT
The fastest + concise JavaScript template engine for nodejs and browsers.
- dustjs
Asynchronous templates for the browser and node.js.
- eco
Embedded CoffeeScript templates.
- JavaScript-Templates
< 1KB lightweight, fast & powerful JavaScript templating engine with zero dependencies.
- t.js
A tiny JavaScript templating framework in ~400 bytes gzipped.
- Pug
Robust, elegant, feature rich template engine for nodejs. (formerly known as Jade)
- EJS
Effective JavaScript templating.
- xtemplate
eXtensible Template Engine lib for node and the browser
- marko
A fast, lightweight, HTML-based templating engine for Node.js and the browser with async, streaming, custom tags and CommonJS modules as compiled output.
- swig
(Archived) A simple, powerful, and extendable Node.js and browser-based JavaScript template engine.
- hmpl
Server-oriented customizable templating for JavaScript.
Game Engines
10_ENTRIES- A-Frame
Make WebVR.
- Cocos
Open Source Cross-Platform Game Development Framework.
- Impact
Impact - HTML5 Canvas & JavaScript Game Engine.
- GDevelop
Free and Easy Game-Making App.
- Kaboom.js
A game programming library that helps you make games fast and fun.
- Matter.js
A 2D rigid body JavaScript physics engine.
- melonJS
Open source HTML5 game engine that empowers developers and designers to focus on content.
- Phaser
Phaser - A fast, fun and free open source HTML5 game framework.
- PixiJS
The HTML5 Creation Engine.
- PlayCanvas
PlayCanvas WebGL Game Engine.
Articles and Posts
3_ENTRIES- 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
Data Visualization
46_ENTRIESData visualization tools for the web.
There're also some great commercial libraries, like amchart, anychart, plotly, and lightning chart.
- d3
A JavaScript visualization library for HTML and SVG.
- metrics-graphics
A library optimized for concise, principled data graphics and layouts.
- three.js
JavaScript 3D library.
- Chart.js
Simple HTML5 Charts using the tag.
- paper.js
The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas.
- fabric.js
JavaScript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser.
- peity
Progressive bar, line and pie charts.
- raphael
JavaScript Vector Library.
- echarts
Enterprise Charts.
- visjs
Multiple Libraries for dynamic, browser-based data visualization.
- two.js
A renderer agnostic two-dimensional drawing api for the web.
- g.raphael
Charts for Raphaël.
- 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.
- svg.js
A lightweight library for manipulating and animating SVG.
- 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.
- dimple.js
Easy charts for business analytics powered by d3.
- chartist-js
Simple responsive charts.
- epoch
A general purpose real-time charting library.
- c3
D3-based reusable chart library.
- BabylonJS
A framework for building 3D games with HTML 5 and WebGL.
- recharts
Redefined chart library built with React and D3.
- 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.
- cola.js
library for arranging your HTML5 documents and diagrams using constraint-based optimization techniques
- jointjs
Diagramming library to create static diagrams or fully interactive diagramming tools.
- vizzu
Library for animated data visualizations and data stories.
- G6
A graph visualization engine.
- Infographic
A next-generation declarative infographic visualization engine.
Timeline
2_ENTRIES- TimelineJS v3
A Storytelling Timeline built in JavaScript.
- timesheet.js
JavaScript library for simple HTML5 & CSS3 time sheets.
Spreadsheet
5_ENTRIES- HANDSONTABLE
Handsontable is a JavaScript/HTML5 Spreadsheet Library for Developers
- Frappe Datatable
Frappe DataTable is a simple, modern and interactive datatable library for displaying tabular data.
- Luckysheet
Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
- Jspreadsheet CE
Jspreadsheet is a lightweight vanilla javascript plugin to create amazing web-based interactive tables and spreadsheets compatible with other spreadsheet software.
- RevoGrid
RevoGrid is a fast, responsive excel like data grid library for modern web applications.
Editors
24_ENTRIES- ace
Ace (Ajax.org Cloud9 Editor).
- CodeMirror
In-browser code editor.
- esprima
ECMAScript parsing infrastructure for multipurpose analysis.
- quill
A cross browser rich text editor with an API.
- medium-editor
Medium.com WYSIWYG editor clone.
- pen
enjoy live editing (+markdown).
- jquery-notebook
A simple, clean and elegant text editor. Inspired by the awesomeness of Medium.
- bootstrap-wysiwyg
Tiny bootstrap-compatible WYSIWYG rich text editor.
- ckeditor-releases
The best web text editor for everyone.
- editor
A markdown editor. still on development.
- 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
Documentation
14_ENTRIES- DevDocs
is an all-in-one API documentation reader with a fast, organized, and consistent interface.
- docco
is a quick-and-dirty, hundred-line-long, literate-programming-style documentation generator.
- styledocco
generates documentation and style guide documents from your stylesheets.
- Ronn
builds manuals. It converts simple, human readable textfiles to roff for terminal display, and also to HTML for the web.
- dox
is a JavaScript documentation generator written with node. Dox no longer generates an opinionated structure or style for your docs, it simply gives you a JSON representation, allowing you to use markdown and JSDoc-style tags.
- jsdox
is a JSDoc3 to Markdown documentation generator.
- ESDoc
is a good documentation generator for JavaScript.
- YUIDoc
is a Node.js application that generates API documentation from comments in source, using a syntax similar to tools like Javadoc and Doxygen.
- coddoc
is a jsdoc parsing library. Coddoc is different in that it is easily extensible by allowing users to add tag and code parsers through the use of coddoc.addTagHandler and coddoc.addCodeHandler. coddoc also parses source code to be used in APIs.
- sphinx
a tool that makes it easy to create intelligent and beautiful documentation
- Beautiful docs
is a documentation viewer based on markdown files.
- documentation.js
API documentation generator with support for ES2015+ and flow annotation.
- jsduck
API documentation generator made for Sencha JavaScript frameworks, but can be used for other frameworks too.
- codecrumbs
is a visual tool for learning and documenting a codebase by putting breadcrumbs in source code.
Files
5_ENTRIESLibraries for working with files.
- Papa Parse
A powerful CSV library that supports parsing CSV files/strings and also exporting to CSV.
- jBinary
High-level I/O (loading, parsing, manipulating, serializing, saving) for binary files with declarative syntax for describing file types and data structures.
- diff2html
Git diff output parser and pretty HTML generator.
- jsPDF
JavaScript PDF generation.
- PDF.js
PDF Reader in JavaScript.
Functional Programming
11_ENTRIESFunctional programming libraries to extend JavaScript’s capabilities.
- underscore
JavaScript's utility _ belt.
- lodash
A utility library delivering consistency, customization, performance, & extras.
- Sugar
A JavaScript library for working with native objects.
- lazy.js
Like Underscore, but lazier.
- ramda
A practical functional library for JavaScript programmers.
- mout
Modular JavaScript Utilities.
- preludejs
Hardcore Functional Programming for JavaScript.
- rambda
Faster and smaller alternative to Ramda.
- fxts
Lazy evaluation and concurrency.
- wild-wild-path
Object property paths with wildcards and regexps.
- sweet-monads
A utility library containing popular monads and lazy iterators.
Reactive Programming
9_ENTRIESReactive programming libraries to extend JavaScript’s capabilities.
- RxJS
A reactive programming library for JavaScript.
- Bacon
FRP (functional reactive programming) library for JavaScript.
- Kefir
FRP library for JavaScript inspired by Bacon.js and RxJS with focus on high performance and low memory consumption.
- Highland
Re-thinking the JavaScript utility belt, Highland manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.
- Most.js
high performance FRP library.
- MobX
TFRP library for simple, scalable state management.
- Cycle.js
A functional and reactive JavaScript library for cleaner code.
- concent
Definitely the ❤️ simplest but ⚡️ strongest state management for react, it is predictable、progressive and efficient.
- stunk
A framework-agnostic state management library that keeps your app’s state clean and simple. It uses a fine-grained state model, breaking state into independent, manageable chunks.
Data Structure
6_ENTRIESData structure libraries to build a more sophisticated application.
- immutable-js
Immutable Data Collections including Sequence, Range, Repeat, Map, OrderedMap, Set and a sparse Vector.
- 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.
Date
14_ENTRIESDate Libraries.
- 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.
- ms.js
Tiny millisecond conversion utility.
- countdown.js
Super simple countdowns.
- timeago.js
Simple library (less then 2kb) used to format date with
*** time agostatement. - fecha
Lightweight date formatting and parsing (~2KB). Meant to replace parsing and formatting functionality of moment.js.
- date-fns
Modern JavaScript date utility library.
- map-countdown
A browser countdown built on top of the Google Maps.
- dayjs
Day.js 2KB immutable date library alternative to Moment.js with the same modern API.
- 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.
String
13_ENTRIESString Libraries.
- voca
The ultimate JavaScript string library
- selecting
A library that allows you to access the text selected by the user.
- underscore.string
String manipulation extensions for Underscore.js JavaScript library.
- string.js
Extra JavaScript string methods.
- he
A robust HTML entity encoder/decoder written in JavaScript.
- multiline
Multiline strings in JavaScript.
- query-string
Parse and stringify URL query strings.
- URI.js
JavaScript URL mutation library.
- jsurl
Lightweight URL manipulation with JavaScript.
- sprintf.js
A sprintf implementation.
- url-pattern
Easier than regex string matching patterns for urls and other strings. Turn strings into data or data into strings.
- plexis
Lo-fi, powerful, community-driven string manipulation library.
- url-state-machine
Super fast spec-compliant URL parser state machine for Node.js.
Number
9_ENTRIES- Numeral-js
A JavaScript library for formatting and manipulating numbers.
- chance.js
Random generator helper in JavaScript. Can generate numbers, strings etc.
- odometer
Smoothly transitions numbers with ease.
- accounting.js
A lightweight JavaScript library for number, money and currency formatting - fully localisable, zero dependencies.
- money.js
A tiny (1kb) JavaScript currency conversion library, for web & nodeJS.
- Fraction.js
A rational number library for JavaScript.
- Complex.js
A complex number library for JavaScript.
- Polynomial.js
A polynomials library for JavaScript.
- Quaternion.js
A quaternion library for JavaScript
Storage
23_ENTRIES- store.js
LocalStorage wrapper for all browsers without using cookies or flash. Uses localStorage, globalStorage, and userData behavior under the hood.
- localForage
Offline storage, improved. Wraps IndexedDB, WebSQL, or localStorage using a simple but powerful API.
- jStorage
jStorage is a simple key/value database to store data on browser side.
- cross-storage
Cross domain local storage, with permissions.
- basket.js
A script and resource loader for caching & loading scripts with localStorage.
- bag.js
A caching script and resource loader, similar to basket.js, but with additional k/v interface and localStorage / websql / indexedDB support.
- basil.js
The missing JavaScript smart persistent layer.
- jquery-cookie
A simple, lightweight jQuery plugin for reading, writing and deleting cookies.
- js-cookie
A simple, lightweight JavaScript API for handling browser cookies.
- Cookies
JavaScript Client-Side Cookie Manipulation Library.
- DB.js
Promise based IndexDB Wrapper library.
- lawnchair.js
Simple client-side JSON storage.
- sql.js
SQLite compiled to JavaScript through Emscripten.
- pouchdb
Javascript db inspired by Apache CouchDB to run well within the browser.
- crumbsjs
A lightweight vanilla ES6 cookies and local storage JavaScript library.
- awesome-web-storage
Everything you need to know about client-side storage.
- datavore
A small, fast, in-browser database engine written in JavaScript.
- Hoodie
Offline First backend to work in browser without internet connectivity.
- NeDB
Embedded Persistent database for Browsers, nw.js, electron.
- Lovefield
Lovefield is a relational database for web apps, By Google.
- Dexie.js
Dexie.js is a wrapper library for indexedDB.
- proxy-web-storage
Keep the type of storage value unchanged and change array and object directly. Supports listening to the changes and setting expires.
- PostgreSQL Browser
Browser PostgreSQL Playground, no server, just client and pglite (postgresql wasm)
Color
7_ENTRIES- 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.
I18n And L10n
5_ENTRIESLocalization (l10n) and internationalization (i18n) JavaScript libraries.
- i18next
internationalisation (i18n) with JavaScript the easy way.
- polyglot
tiny i18n helper library.
- babelfish
i18n with human friendly API and built in plurals support.
- ttag
Modern javascript i18n localization library based on ES6 tagged templates and the good old GNU gettext.
- attranslate
A JavaScript-tool for synchronizing translation-files, including JSON/YAML/XML and other formats.
Control Flow
8_ENTRIES- async
Async utilities for node and the browser.
- q
A tool for making and composing asynchronous promises in JavaScript.
- step
An async control-flow library that makes stepping through logic easy.
- contra
Asynchronous flow control with a functional taste to it.
- Bluebird
fully featured promise library with focus on innovative features and performance.
- when
A solid, fast Promises/A+ and when() implementation, plus other async goodies.
- ObjectEventTarget
Provide a prototype that add support to event listeners (with same behavior of EventTarget from DOMElements available on browsers).
- sporadic
Composable concurrency abstractions (such as streams, coroutines and Go-like channels) on top of promises, for Node and browser engines.
Routing
6_ENTRIES- director
A tiny and isomorphic URL router for JavaScript.
- page.js
Micro client-side router inspired by the Express router (~1200 bytes).
- pathjs
Simple, lightweight routing for web browsers.
- crossroads
JavaScript Routes.
- davis.js
RESTful degradable JavaScript routing using pushState.
- navaid
A navigation aid (aka, router) for the browser in 850 bytes~!
Security
5_ENTRIES- DOMPurify
A DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG.
- js-xss
Sanitize untrusted HTML (to prevent XSS) with a configuration specified by a Whitelist.
- xss-filters
Secure XSS Filters by Yahoo.
- sanitize-html
sanitize-html provides a simple HTML sanitizer with a clear API.
- pompelmi
Fast file-upload malware scanning for Node.js.
Log
7_ENTRIES- log
Console.log with style.
- Conzole
A debug panel built in JavaScript that wraps JavaScript native console object methods and functionality in a panel displayed inside the page.
- console.log-wrapper
Log to the console in any browser with clarity.
- loglevel
Minimal lightweight logging for JavaScript, adding reliable log level methods to wrap any available console.log methods.
- minilog
Lightweight client & server-side logging with Stream-API backends.
- storyboard
Universal logging library + Chrome extension; it lets you see all client and server tasks triggered by a user action in a single place.
- LogTape
Simple logging library with zero dependencies for Deno, Node.js, Bun, browsers, and edge functions.
RegExp
4_ENTRIESVoice Command
2_ENTRIESAPI
13_ENTRIES- 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.
- FarFetch
Modern Fetch API wrapper for simplicity, with concise file uploading.
- Optic
Optic automatically documents and tests your APIs.
- SWR
React Hooks library for remote data fetching.
- React Query
Hooks for fetching, caching and updating asynchronous data in React.
- SWRV
Stale-while-revalidate data fetching for Vue.
- Vue Query
Hooks for fetching, caching and updating asynchronous data in Vue.
Streaming
1_ENTRIES- Tailor
Streaming layout service for front-end microservices, inspired by Facebook's BigPipe.
Vision Detection
2_ENTRIES- tracking.js
A modern approach for Computer Vision on the web.
- ocrad.js
OCR in JavaScript via Emscripten.
Machine Learning
10_ENTRIES- ConvNetJS
Deep Learning in JavaScript. Train Convolutional Neural Networks (or ordinary ones) in your browser.
- DN2A
Digital Neural Networks Architecture.
- Brain.js
Neural networks in JavaScript.
- Mind.js
A flexible neural network library.
- Synaptic.js
Architecture-free neural network library for node.js and the browser.
- TensorFlow.js
A JavaScript library for training and deploying ML models in the browser and on Node.js.
- ml5.js
Friendly Machine Learning for the Web.
- Synapses
Lightweight cross-platform Neural Network library.
- m2cgen
A CLI tool to transpile trained classic ML models into a native JavaScript code with zero dependencies.
- JS-PyTorch
GPU accelerated PyTorch in JavaScript.
Browser Detection
1_ENTRIES- bowser
a browser detector.
Operating System
1_ENTRIES- os.js
An open-source web desktop platform with a window manager, application APIs, GUI toolkit, filesystem abstractions and much more.
Benchmark
3_ENTRIES- 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.
Web Worker
10_ENTRIES- partytown
Relocate resource intensive third-party scripts off of the main thread and into a web worker.
- comlink
Comlink is a tiny library (1.1kB), that removes the mental barrier of thinking about postMessage and hides the fact that you are working with workers.
- greenlet
Move an async function into its own thread.
- workerize
Moves a module into a Web Worker, automatically reflecting exported functions as asynchronous proxies.
- worker-dom
An in-progress implementation of the DOM API intended to run within a Web Worker.
- threads.js
Offload CPU-intensive tasks to worker threads in node.js, web browsers and electron using one uniform API.
- workly
A really simple way to move a function or class to a web worker.
- stockroom
Offload your store management to a worker easily.
- workerpool
Offload tasks to a pool of workers on node.js and in the browser.
- clooney
Clooney is an actor library for the web. Use workers without thinking about workers.
Code highlighting
3_ENTRIES- 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.
Loading Status
12_ENTRIESLibraries for indicate load status.
- Mprogress.js
Create Google Material Design progress linear bars.
- NProgress
Slim progress bars for Ajax'y applications.
- Spin.js
A spinning activity indicator.
- progress.js
Create and manage progress bar for every objects on the page.
- progressbar.js
Beautiful and responsive progress bars with animated SVG paths.
- pace
Automatically add a progress bar to your site.
- topbar
Tiny & beautiful site-wide progress indicator.
- nanobar
Very lightweight progress bars. No jQuery.
- PageLoadingEffects
Modern ways of revealing new content using SVG animations.
- SpinKit
A collection of loading indicators animated with CSS.
- Ladda
Buttons with built-in loading indicators.
- css-loaders
A collection of loading spinners animated with CSS
Validation
10_ENTRIES- Parsley.js
Validate your forms, frontend, without writing a single line of JavaScript.
- jquery-validation
jQuery Validation Plugin.
- validator.js
String validation and sanitization.
- validate.js
Lightweight JavaScript form validation library inspired by CodeIgniter.
- validatr
Cross Browser HTML5 Form Validation.
- FormValidation
The best jQuery plugin to validate form fields. Formerly BootstrapValidator.
- is.js
Check types, regexps, presence, time and more.
- FieldVal
multipurpose validation library. Supports both sync and async validation.
- Funval
Data validation using functions interfaces (support TypeScript).
- vest
🦺 Declarative form validation framework inspired by unit testing.
Keyboard Wrappers
6_ENTRIES- mousetrap
Simple library for handling keyboard shortcuts in JavaScript.
- keymaster
A simple micro-library for defining and dispatching keyboard shortcuts.
- Keypress
A keyboard input capturing utility in which any key can be a modifier key.
- KeyboardJS
A JavaScript library for binding keyboard combos without the pain of key codes and key combo conflicts.
- jquery.hotkeys
jQuery Hotkeys lets you watch for keyboard events anywhere in your code supporting almost any key combination.
- jwerty
Awesome handling of keyboard events.
Tours And Guides
8_ENTRIES- intro.js
A better way for new feature introduction and step-by-step users guide for your website and project.
- shepherd
Guide your users through a tour of your app.
- bootstrap-tour
Quick and easy product tours with Twitter Bootstrap Popovers.
- tourist
Simple, flexible tours for your app.
- hopscotch
A framework to make it easy for developers to add product tours to their pages.
- joyride
jQuery feature tour plugin.
- focusable
Set a spotlight focus on DOM element adding a overlay layer to the rest of the page.
- driver.js
Powerful yet light-weight, vanilla JavaScript engine to drive the user's focus across the page
Notifications
10_ENTRIES- iziToast
Elegant, responsive, flexible and lightweight notification plugin with no dependencies.
- messenger
Growl-style alerts and messages for your app.
- noty
jQuery notification plugin.
- pnotify
JavaScript notifications for Bootstrap, jQuery UI, and the Web Notifications Draft.
- toastr
Simple JavaScript toast notifications.
- humane-js
A simple, modern, browser notification system.
- smoke.js
Framework-agnostic styled alert system for JavaScript.
- notie
Simple notifications and inputs with no dependencies.
- notifire
Open-source notification infrastructure for products.
- toastify-js
Pure JavaScript library for better notification messages.
Sliders
19_ENTRIES- Swiper
Mobile touch slider and framework with hardware accelerated transitions.
- slick
The last carousel you'll ever need.
- slidesJs
Is a responsive slideshow plug-in for JQuery(1.7.1+) with features like touch and CSS3 transitions
- FlexSlider
An awesome, fully responsive jQuery slider plugin.
- sly
JavaScript library for one-directional scrolling with item based navigation support.
- vegas
A jQuery plugin to add beautiful fullscreen backgrounds to your webpages. It even allows Slideshows.
- Sequence
CSS animation framework for creating responsive sliders, presentations, banners, and other step-based applications.
- reveal.js
A framework for easily creating beautiful presentations using HTML.
- impress.js
It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.
- bespoke.js
DIY Presentation Micro-Framework
- Strut
Strut - An Impress.js and Bespoke.js Presentation Editor
- PhotoSwipe
JavaScript image gallery for mobile and desktop, modular, framework independent.
- jcSlider
A responsive slider jQuery plugin with CSS animations.
- basic-jquery-slider
Simple to use, simple to theme, simple to customise.
- jQuery.adaptive-slider
A jQuery plugin for a slider with adaptive colored figcaption and navigation.
- slidr
add some slide effects.
- Flickity
Touch, responsive, flickable galleries.
- Glide.js
Responsive and touch-friendly jQuery slider. It's simple, lightweight and fast.
- Embla Carousel
An extensible low level carousel for the web, written in TypeScript.
Range Sliders
4_ENTRIES- Ion.RangeSlider
Powerful and easily customizable range slider with many options and skin support.
- jQRangeSlider
A JavaScript slider selector that supports dates.
- noUiSlider
A lightweight, highly customizable range slider without bloat.
- rangeslider.js
HTML5 input range slider element polyfill.
Input
9_ENTRIES- typeahead.js
A fast and fully-featured autocomplete library.
- tag-it
A jQuery UI plugin to handle multi-tag fields as well as tag suggestions/autocomplete.
- At.js
Add GitHub like mentions autocomplete to your application.
- Placeholders.js
A JavaScript polyfill for the HTML5 placeholder attribute.
- fancyInput
Makes typing in input fields fun with CSS3 effects.
- jQuery-Tags-Input
Magically convert a simple text input into a cool tag list with this jQuery plugin.
- vanilla-masker
A pure JavaScript mask input.
- Ion.CheckRadio
jQuery plugin for styling checkboxes and radio-buttons. With skin support.
- awesomplete
Ultra lightweight, usable, beautiful autocomplete with zero dependencies. - https://projects.verou.me/awesomplete/
Calendar
9_ENTRIES- pickadate.js
The mobile-friendly, responsive, and lightweight jQuery date & time input picker.
- bootstrap-datepicker
A datepicker for @twitter bootstrap forked from Stefan Petre's (of eyecon.ro), improvements by @eternicode.
- Pikaday
A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS.
- fullcalendar
Full-sized drag & drop event calendar (jQuery plugin).
- rome
A customizable date (and time) picker. Dependency free, opt-in UI.
- Date Range Picker
creates a dropdown menu from which a user can select a range of dates.
- Duet Date Picker
open source version of Duet Design System’s accessible date picker, WCAG 2.1 accessibility complaint
- tui.calendar
A JavaScript schedule calendar that is full featured. Now your service just got the customizable calendar.
- Schedule-X
Material design event calendar. Features drag & drop, dark mode, multiple views and more.
Select
3_ENTRIES- selectize.js
Selectize is the hybrid of a textbox and
<select>box. It's jQuery based and it has autocomplete and native-feeling keyboard navigation; useful for tagging, contact lists, etc. - select2
a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.
- chosen
A library for making long, unwieldy select boxes more friendly.
File Uploader
7_ENTRIES- jQuery-File-Upload
File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery.
- dropzone
Dropzone is an easy to use drag'n'drop library. It supports image previews and shows nice progress bars.
- flow.js
A JavaScript library providing multiple simultaneous, stable, fault-tolerant and resumable/restartable file uploads via the HTML5 File API.
- fine-uploader
Multiple file upload plugin with progress-bar, drag-and-drop, direct-to-S3 uploading.
- 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.
- plupload
A JavaScript API for dealing with file uploads it supports features like multiple file selection, file type filtering, request chunking, client side image scaling and it uses different runtimes to achieve this such as HTML 5, Silverlight and Flash.
- filepond
A JavaScript library that can upload anything you throw at it, optimizes images for faster uploads, and offers a great, accessible, silky smooth user experience.
Other
7_ENTRIES- form
jQuery Form Plugin.
- Garlic.js
Automatically persist your forms' text and select field values locally, until the form is submitted.
- Countable
A JavaScript function to add live paragraph-, word- and character-counting to an HTML element.
- card
Make your credit card form better in one line of code.
- stretchy
Form element autosizing, the way it should be.
- analytics
A lightweight, extendable analytics library designed to work with any third-party analytics provider to track page views, custom events, & identify users.
- dat.GUI
A lightweight gui controller for changing variables in JavaScript.
Tips
7_ENTRIES- tipsy
Facebook-style tooltips plugin for jQuery.
- opentip
An open source JavaScript tooltip based on the prototype framework.
- qTip2
Pretty powerful tooltips.
- tooltipster
A jQuery tooltip plugin.
- simptip
A simple CSS tooltip made with Sass.
- toolbar
A tooltip style toolbar jQuery plugin
- hint.css
A tooltip library in CSS for your lovely websites.
Modals and Popups
17_ENTRIES- Magnific-Popup
Light and responsive lightbox script with focus on performance.
- jquery-popbox
jQuery PopBox UI Element.
- jquery.avgrund.js
A jQuery plugin with new modal concept for popups.
- vex
A modern dialog library which is highly configurable and easy to style.
- bootstrap-modal
Extends the default Bootstrap Modal class. Responsive, stackable, ajax and more.
- css-modal
A modal built out of pure CSS.
- jquery-popup-overlay
jQuery plugin for responsive and accessible modal windows and tooltips.
- SweetAlert
An awesome replacement for JavaScript's alert.
- SweetAlert2
An awesome replacement for JavaScript's alert.
- baguetteBox.js
Simple and easy to use lightbox script written in pure JavaScript.
- colorbox
A light-weight, customizable lightbox plugin for jQuery.
- fancyBox
A tool that offers a nice and elegant way to add zooming functionality for images, html content and multi-media on your webpages.
- swipebox
A touchable jQuery lightbox
- jBox
jBox is a powerful and flexible jQuery plugin, taking care of all your popup windows, tooltips, notices and more.
- lightGallery
A customizable, modular, responsive, lightbox gallery plugin for jQuery.
- keukenhof
Lightweight, no dependencies, accessibility enabled TypeScript library for creating modal windows.
- screenfull.js
the JavaScript Fullscreen API, which lets you bring the page or any element into fullscreen. Smoothens out the browser implementation differences, so you don't have to.
Scroll
18_ENTRIES- scrollMonitor
A simple and fast API to monitor elements as you scroll.
- headroom
Give your pages some headroom. Hide your header until you need it.
- onepage-scroll
Create an Apple-like one page scroller website (iPhone 5S website) with One Page Scroll plugin.
- iscroll
iScroll is a high performance, small footprint, dependency free, multi-platform JavaScript scroller.
- skrollr
Stand-alone parallax scrolling library for mobile (Android + iOS) and desktop. No jQuery.
- parallax
Parallax Engine that reacts to the orientation of a smart device.
- stellar.js
Parallax scrolling made easy.
- plax
jQuery powered parallaxing.
- jparallax
jQuery plugin for creating interactive parallax effect.
- fullPage
A simple and easy to use plugin to create fullscreen scrolling websites (also known as single page websites).
- ScrollMenu
A new interface to replace old boring scrollbar.
- Clusterize.js
Tiny vanilla JS plugin to display large data sets easily.
- simpleParallax
Simple and tiny JavaScript library to add parallax animations on any images
- rellax
Buttery smooth, super lightweight, vanilla javascript parallax library.
- asscroll
A hybrid smooth scroll setup that combines the performance gains of virtual scroll with the reliability of native scroll.
- stroll
A collection of CSS List scroll effects bind to dom through javascript.
- locomotive-scroll
Detects the elements in viewport and smooth scrolling with parallax.
- elevator.js
Finally, a "back to top" button that behaves like a real elevator.
Table/Grid
9_ENTRIES- jTable
A jQuery plugin to create AJAX based CRUD tables.
- DataTables
(jQuery plug-in) It is a highly flexible tool, based upon the foundations of progressive enhancement, and will add advanced interaction controls to any HTML table.
- Tabulator
(jQuery plug-in) An extremely flexible library that create tables with a range of interactive features from any JSON data source or existing HTML table.
- Bootstrap Table
An Extension to the popular Bootstrap framework for creating tables that fit the style of your site with no need for additional markup.
- floatThead
(jQuery plug-in) lock any table's header while scrolling within the body. Works on any table and requires no custom html or css.
- Masonry
A cascading grid layout library.
- Packery
A grid layout library that uses a bin-packing algorithm. Useable for draggable layouts.
- Isotope
A filterable, sortable, grid layout library. Can implement Masonry, Packery, and other layouts.
- flexboxgrid
Grid based on CSS3 flexbox.
Frameworks
6_ENTRIES- Semantic UI
UI Kit with lots of themes and elements.
- w2ui
A set of jQuery plugins for front-end development of data-driven web applications.
- fluidity
The worlds smallest fully-responsive css framework.
- Ink
An HTML5/CSS3 framework used at SAPO for fast and efficient website design and prototyping.
- DataFormsJS
A minimal JavaScript Framework and standalone components for rapid development of sites and SPA's.
- EHTML
HTML Framework that allows you not to write JavaScript code.
Boilerplates
10_ENTRIES- html5-boilerplate
A professional front-end template for building fast, robust, and adaptable web apps or sites.
- mobile-boilerplate
A front-end template that helps you build fast, modern mobile web apps.
- webplate
An awesome front-end framework that lets you stay focused on building your site or app while remaining really easy to use.
- Cerberus
A few simple, but solid patterns for responsive HTML emails. Even in Outlook.
- full-page-intro-and-navigation
An intro page with a full width background image, a bold animated menu and an iOS-like blurred effect behind the navigation.
- Fluid-Squares
A fluid grid of square units.
- Mobile-First-RWD
An example of a mobile-first responsive web design.
- this-is-responsive
This Is Responsive.
- npm run-scripts
Task automation with NPM run-scripts.
- Wasp
Wasp is a declarative domain-specific language for developing, building, and deploying modern Javascript full-stack web apps with less code.
Images
3_ENTRIES- Drift
Easily add "zoom on hover" functionality to your site's images. Lightweight, no-dependency JavaScript.
- Magnificent.js
Zoom responsively, images & more, w/ jQuery.
- Panolens.js
Panolens.js is an event-driven and WebGL based panorama viewer. Lightweight and flexible
Gesture
3_ENTRIES- hammer.js
A JavaScript library for multi-touch gestures.
- touchemulator
Emulate touch input on your desktop.
- Dragula
Drag and drop so simple it hurts.
Maps
9_ENTRIES- Leaflet
JavaScript library for mobile-friendly interactive maps.
- Cesium
Open Source WebGL virtual globe and map engine.
- gmaps
The easiest way to use Google Maps.
- polymaps
A free JavaScript library for making dynamic, interactive maps in modern web browsers.
- kartograph.js
Open source JavaScript renderer for Kartograph SVG maps.
- mapbox.js
Mapbox JavaScript API, a Leaflet Plugin.
- jqvmap
jQuery Vector Map Library.
- OpenLayers3
A high-performance, feature-packed library for all your mapping needs.
- H3js
Hexagonal hierarchical geospatial indexing system ported to javascript by Uber for geospatial visualization.
Video/Audio
17_ENTRIES- prettyembed.js
Prettier embeds for your YouTubes - with nice options like high-res preview images, advanced customization of embed options, and optional FitVids support.
- Play-em JS
Play'em is a JavaScript component that manages a music/video track queue and plays a sequence of songs by embedding several players in a HTML DIV including Youtube, Soundcloud and Vimeo.
- polyplayer
Rule YouTube, Soundcloud and Vimeo player with one API.
- flowplayer
The HTML5 video player for the web https://flowplayer.com/
- mediaelement
HTML5 or player with Flash and Silverlight shims that mimics the HTML5 MediaElement API, enabling a consistent UI in all browsers. http://www.mediaelementjs.com/
- SoundJS
A library to make working with audio on the web easier. It provides a consistent API for playing audio in different browsers.
- video.js
Video.js - open source HTML5 & Flash video player.
- FitVids.js
A lightweight, easy-to-use jQuery plugin for fluid width video embeds.
- Ion.Sound
Simple sounds on any web page.
- photobooth-js
A widget that allows users to take their avatar pictures on your site.
- clappr
An extensible media player for the web http://clappr.io
- ts-audio
an agnostic and easy-to-use library to work with the
AudioContextAPI. - AmplitudeJS
Open Source HTML5 Web Audio Library. Design your web audio player, the way you want. No dependencies required.
- ractive-player
A library for making interactive videos in React.js.
- ffmpeg.js
FFmpeg optimized for in-browser use: minimal size for faster loading, asm.js, performance tunings, etc.
- flv.js
An HTML5 Flash Video (FLV) Player written in pure JavaScript without Flash.
- hls.js
A JavaScript library that implements an HTTP Live Streaming client. It relies on HTML5 video and MediaSource Extensions for playback.
Typography
9_ENTRIES- FlowType.JS
Web typography at its finest: font-size and line-height based on element width.
- BigText
jQuery plugin, calculates the font-size and word-spacing needed to match a line of text to a specific width.
- circletype
A jQuery plugin that lets you curve type on the web.
- slabText
A jQuery plugin for producing big, bold & responsive headlines.
- simple-text-rotator
Add a super simple rotating text to your website with little to no markup.
- novacancy.js
Text Neon Golden effect jQuery plug-in.
- jquery-responsive-text
Make your text sizing responsive!
- FitText.js
A jQuery plugin for inflating web type.
- Lettering.js
A lightweight, easy to use JavaScript
<span>injector for radical Web Typography.
Animations
22_ENTRIES- velocity
Accelerated JavaScript animation.
- jquery.transit
Super-smooth CSS3 transformations and transitions for jQuery.
- bounce.js
Create tasty CSS3 powered animations in no time.
- GreenSock-JS
High-performance HTML5 animations that work in all major browsers.
- TransitionEnd
TransitionEnd is an agnostic and cross-browser library to work with transitioned event.
- 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.
- animate.css
A cross-browser library of CSS animations. As easy to use as an easy thing.
- textillate
A simple plugin for CSS3 text animations.
- 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.
- Anime.js
A JavaScript animation engine.
- Mo.js
Motion graphics toolbelt for the web.
- particles.js
A lightweight JavaScript library for creating particles.
- tsParticles
A new and improved version of particles.js with bug fixes and many new features.
- particles-bg
A lightweight React particles animation background component.
- barbajs
It helps you create fluid and smooth transitions between your website's pages.
- typicaljs
Animated typing in ~400 bytes 🐡 of JavaScript
- AutoAnimate
Add motion to your apps with a single line of code.
Image Processing
3_ENTRIESES6
6_ENTRIES- es6features
Overview of ECMAScript 6 features.
- es6-features
ECMAScript 6: Feature Overview & Comparison.
- es6-cheatsheet
ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets.
- ECMAScript 6 compatibility table
Compatibility tables for all ECMAScript 6 features on a variety of environments.
- Babel (Formerly 6to5)
Turn ES6+ code into vanilla ES5 with no runtime.
- Traceur compiler
ES6 features > ES5. Includes classes, generators, promises, destructuring patterns, default parameters & more.
Generators
6_ENTRIES- Gatsby.js
React-based static site generator.
- Gridsome
Vue-powered static site generator.
- Docusaurus
React-based static site generator by Facebook, ideal for content-centric websites.
- Next.js
React powered static site generator, and they say "All the tools you need to make the Web. Faster.".
- Lume
Static site generator for Deno.
- Astro
The web framework for content-driven websites.
SDK
5_ENTRIES- javascript-sdk-design
JavaScript SDK design guide extracted from work and personal experience.
- Spotify SDK
Entity oriented SDK to work with the Spotify Web API.
- Square Node.js SDK
JavaScript client library for payments and other Square APIs.
- OpenAI SDK
Official JavaScript / TypeScript library for the OpenAI API.
- Stripe Node.js SDK
Stripe Node.js SDK lets you integrate payments, subscriptions, and billing into your JavaScript/TypeScript apps.
Full Text Search
3_ENTRIES- lunr
Library for use in the browser and It indexes JSON documents and provides a simple search interface for retrieving documents that best match text queries.
- flexsearch
It is a Next-Generation full text search library for Browser and Node.js.
- Elasticlunr
This library is based on lunr.js, but more flexible and customized.
ORM
9_ENTRIES- Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB.
- Sequelize
Feature-rich ORM for modern Node.js and TypeScript | PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB...
- Mongoose
MongoDB object modeling designed to work in an asynchronous environment.
- TypeORM
ORM for TypeScript and JavaScript, Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
- Drizzle ORM
Headless TypeScript ORM with a head. Runs on Node, Bun and Deno.
- Kysely
A type-safe typescript SQL query builder.
- Knex
A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.
- MikroORM
TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns.
- Objection.js
A SQL-friendly ORM for Node.js built on top of Knex.js, with powerful relational support.
WebSockets
2_ENTRIESGenerative AI
1_ENTRIES- KaibanJS
KaibanJS is an open-source framework browser-compatibility of orchestration of multi-agent ai systems using a Kanban-inspired architecture.
Misc
55_ENTRIESContributions welcome! Read the contribution guidelines first.
To the extent possible under law, chencheng has waived all copyright and related or neighboring rights to this work.
- echo
Lazy-loading images with data-* attributes.
- picturefill
A responsive image polyfill for , srcset, sizes.
- platform.js
A platform detection library that works on nearly all JavaScript platforms.
- json3
A modern JSON implementation compatible with nearly all JavaScript platforms.
- Logical Or Not
A game about JavaScript specificities.
- BitSet.js
A JavaScript Bit-Vector implementation.
- spoiler-alert
SPOILER ALERT! A happy little jquery plugin to hide spoilers on your site.
- jquery.vibrate.js
Vibration API Wrappers
- list.js
Adds search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on existing HTML. https://listjs.com
- mixitup
MixItUp - A Filter & Sort Plugin.
- grid
Drag and drop library for two-dimensional, resizable and responsive lists.
- jquery-match-height
a responsive equal heights plugin for jQuery.
- SurveyJS
SurveyJS is a JavaScript Survey and Form Library. https://surveyjs.io/
- Array Explorer
and Object Explorer - Resources to help figure out what native JavaScript method would be best to use at any given time.
- Clipboard.js
"Copy to clipboard" without Flash or use of Frameworks.
- ky
Tiny and elegant HTTP client based on the browser Fetch API.
- Fcal
Math expression evaluator.
- emoji-button
Vanilla JavaScript emoji picker component.
- iooxa
Components for interactive scientific writing, reactive documents and explorable explanations.
- Idyll
Create explorable explanations and interactive storytelling essays. Can be embedded in HTML.
- javascript-algorithms
Algorithms and data structures implemented in JavaScript with explanations and links to further readings.
- FingerprintJS
Makes a visitor identifier from a browser fingerprint that stays the same in incognito mode and when browser data is purged.
- Peg.js
A simple parser generator for JavaScript that produces fast parsers with excellent error reporting. Usable from your browser, from the command line, or via JavaScript API.
- lune
Library to calculate the phases of the moon accurately.
- jsemu
A list of emulators written in the JavaScript programming language.
- You Don't Know JS
Possibly the best book written on modern JavaScript, completely readable online for free, or can be bought to support the author.
- braziljs/js-the-right-way
An easy-to-read, quick reference for JS best practices, accepted coding standards, and links around the Web.
- JSbooks
Directory of free JavaScript ebooks.
- Superhero.js
A collection of resources about creating, testing and maintaining a large JavaScript code base.
- SJSJ
Simplified JavaScript Jargon is a community-driven attempt at explaining the loads of buzzwords making the current JavaScript ecosystem in a few simple words.
- How to Write an Open Source JavaScript Library
A comprehensive guide through a set of steps to publish a JavaScript open source library.
- JavaScript Tutorials
Learn Javascript online from a diverse range of user ranked online tutorials.
- Functional-Light JavaScript
Pragmatic, balanced FP in JavaScript.
- Clean Code JavaScript
Clean Code concepts adapted for JavaScript.
- Roadmap.sh JavaScript Roadmap
Learn JavaScript from a community sourced learning roadmap.