开源插件
A collection of awesome browser-side JavaScript (opens new window) libraries, resources and shiny things.
- Awesome JavaScript
- Package Managers
- Component management
- Loaders
- Bundlers
- Type Checkers
- Testing Frameworks
- QA Tools
- MVC Frameworks and Libraries
- Node-Powered CMS Frameworks
- Templating Engines
- Articles/Posts
- Data Visualization
- Editors
- Documentation
- Utilities
- UI
- Gesture
- Maps
- Typography
- Animations
- Image processing
- ES6
- Generators
- Full Text Search
- SDK
- Misc
- Podcasts
- Worth Reading
- Other Awesome Lists
- Contributing
# Package Managers
Host the JavaScript libraries and provide tools for fetching and packaging them.
- npm (opens new window) - npm is the package manager for JavaScript.
- Bower (opens new window) - A package manager for the web.
- component (opens new window) - Client package management for building better web applications.
- spm (opens new window) - Brand new static package manager.
- jam (opens new window) - A package manager using a browser-focused and RequireJS compatible repository.
- jspm (opens new window) - Frictionless browser package management.
- Ender (opens new window) - The no-library library.
- volo (opens new window) - Create front end projects from templates, add dependencies, and automate the resulting projects.
- Duo (opens new window) - 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 (opens new window) - Fast, reliable, and secure dependency management.
- pnpm (opens new window) - Fast, disk space efficient package manager.
# Component Management
- Bit (opens new window) - Create, find and reuse components (React, Angular, Node etc.) across applications.
# Loaders
Module or loading system for JavaScript.
- RequireJS (opens new window) - A file and module loader for JavaScript.
- browserify (opens new window) - Browser-side require() the node.js way.
- SeaJS (opens new window) - A Module Loader for the Web.
- HeadJS (opens new window) - The only script in your HEAD.
- curl (opens new window) - A small, fast, extensible module loader that handles AMD, CommonJS Modules/1.1, CSS, HTML/text, and legacy scripts.
- lazyload (opens new window) - Tiny, dependency-free async JavaScript and CSS loader.
- script.js (opens new window) - Asynchronous JavaScript loader and dependency manager.
- systemjs (opens new window) - AMD, CJS & ES6 spec-compliant module loader.
- LodJS (opens new window) - Module loader based on AMD.
- ESL (opens new window) - Module loader browser first, support lazy define and AMD.
- modulejs (opens new window) - Lightweight JavaScript module system.
# Bundlers
- webpack (opens new window) - Packs CommonJs/AMD modules for the browser.
- Rollup (opens new window) - Next-generation ES6 module bundler.
- Brunch (opens new window) - Fast front-end web app build tool with simple declarative config.
- Parcel (opens new window) - Blazing fast, zero configuration web application bundler.
- Microbundle (opens new window) - Zero-configuration bundler for tiny modules.
- FuseBox (opens new window) - A bundler that does it right
- Snowpack (opens new window) - A lightning-fast frontend build tool, designed for the modern web.
# Type Checkers
- TypeScript (opens new window) - A typed superset of JavaScript that compiles to plain JavaScript.
- Flow.js (opens new window) - A static type checker for JavaScript from Facebook.
- Hegel (opens new window) - A static type checker for JavaScript with a bias on type inference an strong type system.
- TypL (opens new window) - the JavaScript Type Linter with a bias on type inference.
- Hindley Milner Definitions (opens new window) - runtime type checking for JavaScript functions using Haskell-alike Hindley Milner type signatures.
# Testing Frameworks
# Frameworks
- mocha (opens new window) - Simple, flexible, fun JavaScript test framework for node.js & the browser.
- jasmine (opens new window) - DOM-less simple JavaScript testing framework.
- qunit (opens new window) - An easy-to-use JavaScript Unit Testing framework.
- jest (opens new window) - Painless JavaScript Unit Testing.
- prova (opens new window) - Node & Browser test runner based on Tape and Browserify
- DalekJS (opens new window) - Automated cross browser functional testing with JavaScript
- Protractor (opens new window) - Protractor is an end-to-end test framework for AngularJS applications.
- tape (opens new window) - Tap-producing test harness for node and browsers.
- TestCafe (opens new window) - Automated browser testing for the modern web development stack.
- ava (opens new window) - 🚀 Futuristic JavaScript test runner
- Cypress (opens new window) - Complete end-to-end testing framework for anything that runs in a browser and beyond.
# Assertion
- chai (opens new window) - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
- Enzyme (opens new window) - Enzyme is a JavaScript Testing utility for React that makes it easier to assert, manipulate, and traverse your React Components' output.
- react testing library (opens new window) - Simple and complete React DOM testing utilities that encourage good testing practices.
- Sinon.JS (opens new window) - Test spies, stubs, and mocks for JavaScript.
- expect.js (opens new window) - Minimalistic BDD-style assertions for Node.JS and the browser.
- proxyquire (opens new window) - Stub nodejs's require.
# Coverage
- istanbul (opens new window) - Yet another JS code coverage tool.
- blanket (opens new window) - A simple code coverage library for JavaScript. Designed to be easy to install and use, for both browser and nodejs.
- JSCover (opens new window) - JSCover is a tool that measures code coverage for JavaScript programs.
# Runner
- phantomjs (opens new window) - Scriptable Headless WebKit.
- slimerjs (opens new window) - A PhantomJS-like tool running Gecko.
- casperjs (opens new window) - Navigation scripting & testing utility for PhantomJS and SlimerJS.
- zombie (opens new window) - Insanely fast, full-stack, headless browser testing using node.js.
- totoro (opens new window) - A simple and stable cross-browser testing tool.
- karma (opens new window) - Spectacular Test Runner for JavaScript.
- nightwatch (opens new window) - UI automated testing framework based on node.js and selenium webdriver.
- intern (opens new window) - A next-generation code testing stack for JavaScript.
- yolpo (opens new window) - A statement-by-statement JavaScript interpreter in the browser.
- puppeteer (opens new window) - Headless Chrome Node.js API by official Google Chrome team.
- webdriverio (opens new window) - Next-gen WebDriver test automation framework for Node.js.
- taiko (opens new window) - A Node.js library with a simple API to automate Chromium based browsers.
- Playwright (opens new window) - Node.js library to automate Chromium, Firefox and WebKit with a single API.
# QA Tools
- prettier (opens new window) - Prettier is an opinionated code formatter.
- JSHint (opens new window) - JSHint is a tool that helps to detect errors and potential problems in your JavaScript code.
- jscs (opens new window) - JavaScript Code Style checker.
- jsfmt (opens new window) - For formatting, searching, and rewriting JavaScript.
- jsinspect (opens new window) - Detect copy-pasted and structurally similar code.
- buddy.js (opens new window) - Magic number detection for JavaScript.
- ESLint (opens new window) - A fully pluggable tool for identifying and reporting on patterns in JavaScript.
- JSLint (opens new window) - High-standards, strict & opinionated code quality tool, aiming to keep only good parts of the language.
- JavaScript Standard Style (opens new window) - Opinionated, no-configuration style guide, style checker, and formatter
- Pre-evaluate code at buildtime (opens new window) - Pre-evaluate your front end javascript code at build-time
- JS-Beautifier (opens new window) - Npm cli and library to format JS code.
- husky (opens new window) - Prevents bad git commit, git push and more.
# MVC Frameworks and Libraries
- angular.js (opens new window) - HTML enhanced for web apps. (deprecated)
- angular (opens new window) - Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.
- aurelia (opens new window) - A JavaScript client framework for mobile, desktop and web.
- backbone (opens new window) - Give your JS App some Backbone with Models, Views, Collections, and Events.
- ember.js (opens new window) - A JavaScript framework for creating ambitious web applications.
- meteor (opens new window) - An ultra-simple, database-everywhere, data-on-the-wire, pure-javascript web framework.
- ractive (opens new window) - Next-generation DOM manipulation.
- vue (opens new window) - Intuitive, fast & composable MVVM for building interactive interfaces.
- svelte (opens new window) - 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 (opens new window) - Knockout makes it easier to create rich, responsive UIs with JavaScript.
- spine (opens new window) - Lightweight MVC library for building JavaScript applications.
- espresso.js (opens new window) - A minimal JavaScript library for crafting user interfaces.
- canjs (opens new window) - Can do JS, better, faster, easier.
- react (opens new window) - A library for building user interfaces. It's declarative, efficient, and extremely flexible. Works with a Virtual DOM.
- hyperapp (opens new window) - 1kb JavaScript library for building frontend applications.
- preact (opens new window) - Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM.
- nativescript (opens new window) - Build truly native cross-platform iOS and Android apps with JavaScript.
- react-native (opens new window) - A framework for building native apps with React.
- riot (opens new window) - React-like library, but with very small size.
- thorax (opens new window) - Strengthening your Backbone.
- chaplin (opens new window) - An architecture for JavaScript applications using the Backbone.js library.
- marionette (opens new window) - A composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications.
- ripple (opens new window) - A tiny foundation for building reactive views.
- rivets (opens new window) - Lightweight and powerful data binding + templating solution.
- derby (opens new window) - MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers.
- derby-awesome (opens new window) - A collection of awesome derby components
- way.js (opens new window) - Simple, lightweight, persistent two-way databinding.
- mithril.js (opens new window) - Mithril is a client-side MVC framework (Light-weight, Robust, Fast).
- jsblocks (opens new window) - jsblocks is better MV-ish framework.
- LiquidLava (opens new window) - Transparent MVC framework for building user interfaces.
- feathers (opens new window) - A minimalist real-time JavaScript framework for tomorrow's apps.
- Keo (opens new window) - Functional stateless React components with Shadow DOM support.
- atvjs (opens new window) - Blazing fast Apple TV application development using pure JavaScript.
- Alpine.js (opens new window) - offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost.
- inferno (opens new window) - 🔥 An extremely fast, React-like JavaScript library for building modern user interfaces.
- FoalTS (opens new window) - Elegant and all-inclusive Node.JS framework for building web applications (TypeScript).
- Lucia (opens new window) - 3kb library for tiny web apps.
- Adonis (opens new window) - The Node.js Framework highly focused on developer ergonomics, stability and confidence.
- GrapesJS (opens new window) - Free and Open source Web Builder Framework. Next generation tool for building templates without coding.
- Rete.js (opens new window) - A modular framework for visual programming allows to create node based editor in browser.
- litegraph.js (opens new window) - A graph node engine and editor similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D.
- Drawflow (opens new window) - This allow you to create data flows easily and quickly.
- Blockly (opens new window) - A library that adds a visual code editor to web and mobile apps by Google.
- Million (opens new window) - <1kb compiler-focused virtual DOM. It's fast!
# Node-Powered CMS Frameworks
- KeystoneJS (opens new window) - powerful CMS and web app framework.
- Reaction Commerce (opens new window) - reactive CMS, real-time architecture and design.
- Ghost (opens new window) - simple, powerful publishing platform.
- Apostrophe (opens new window) - CMS with content editing and essential services.
- We.js (opens new window) - framework for real time apps, sites or blogs.
- Hatch.js (opens new window) - CMS platform with social features.
- TaracotJS (opens new window) - fast and minimalist CMS based on Node.js.
- Nodizecms (opens new window) - CMS for CoffeeScript lovers.
- Cody (opens new window) - CMS with WSYWYG editor.
- PencilBlue (opens new window) - CMS and blogging platform.
- Strapi (opens new window) - Open source Node.js Headless CMS to easily build customisable APIs.
- Factor (opens new window) - The Javascript CMS
# Templating Engines
Templating engines allow you to perform string interpolation.
- mustache.js (opens new window) - Minimal templating with in JavaScript.
- handlebars.js (opens new window) - An extension to the Mustache templating language.
- nunjucks (opens new window) - A rich and powerful templating language for JavaScript from Mozilla.
- hogan.js (opens new window) - A compiler for the Mustache templating language.
- doT (opens new window) - The fastest + concise JavaScript template engine for nodejs and browsers.
- dustjs (opens new window) - Asynchronous templates for the browser and node.js.
- eco (opens new window) - Embedded CoffeeScript templates.
- JavaScript-Templates (opens new window) - < 1KB lightweight, fast & powerful JavaScript templating engine with zero dependencies.
- t.js (opens new window) - A tiny JavaScript templating framework in ~400 bytes gzipped.
- Pug (opens new window) - Robust, elegant, feature rich template engine for nodejs. (formerly known as Jade)
- EJS (opens new window) - Effective JavaScript templating.
- xtemplate (opens new window) - eXtensible Template Engine lib for node and the browser
- marko (opens new window) - 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 (opens new window) - (Archived) A simple, powerful, and extendable Node.js and browser-based JavaScript template engine.
# Articles and Posts
- The JavaScript that you should know (opens new window) - Article about concepts of JavaScript Functional.
- How JavaScript works (opens new window) - A series of articles about the building blocks of JavaScript.
- Multi-threading using web-workers (opens new window) - Web Workers: Adding Multi-threading to JavaScript
- this keyword in JavaScript (opens new window) - Breaking down the 'this' keyword in JavaScript
# Data Visualization
Data visualization tools for the web.
- d3 (opens new window) - A JavaScript visualization library for HTML and SVG.
- metrics-graphics (opens new window) - A library optimized for concise, principled data graphics and layouts.
- three.js (opens new window) - JavaScript 3D library.
- Chart.js (opens new window) - Simple HTML5 Charts using the <canvas> tag.
- paper.js (opens new window) - The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas.
- fabric.js (opens new window) - JavaScript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser.
- peity (opens new window) - Progressive
- raphael (opens new window) - JavaScript Vector Library.
- echarts (opens new window) - Enterprise Charts.
- visjs (opens new window) - Multiple Libraries for dynamic, browser-based data visualization.
- two.js (opens new window) - A renderer agnostic two-dimensional drawing api for the web.
- g.raphael (opens new window) - Charts for Raphaël.
- sigma.js (opens new window) - A JavaScript library dedicated to graph drawing.
- arbor (opens new window) - A graph visualization library using web workers and jQuery.
- cubism (opens new window) - A D3 plugin for visualizing time series.
- dc.js (opens new window) - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js
- vega (opens new window) - A visualization grammar.
- processing.js (opens new window) - Processing.js makes your data visualizations work using web standards and without any plug-ins.
- envisionjs (opens new window) - Dynamic HTML5 visualization.
- rickshaw (opens new window) - JavaScript toolkit for creating interactive real-time graphs.
- flot (opens new window) - Attractive JavaScript charts for jQuery.
- morris.js (opens new window) - Pretty time-series line graphs.
- nvd3 (opens new window) - Build re-usable charts and chart components for d3.js.
- svg.js (opens new window) - A lightweight library for manipulating and animating SVG.
- heatmap.js (opens new window) - JavaScript Library for HTML5 canvas based heatmaps.
- jquery.sparkline (opens new window) - A plugin for the jQuery JavaScript library to generate small sparkline charts directly in the browser.
- trianglify (opens new window) - Low poly style background generator with d3.js.
- d3-cloud (opens new window) - Create word clouds in JavaScript.
- d4 (opens new window) - A friendly reusable charts DSL for D3.
- dimple.js (opens new window) - Easy charts for business analytics powered by d3.
- chartist-js (opens new window) - Simple responsive charts.
- epoch (opens new window) - A general purpose real-time charting library.
- c3 (opens new window) - D3-based reusable chart library.
- BabylonJS (opens new window) - A framework for building 3D games with HTML 5 and WebGL.
- recharts (opens new window) - Redefined chart library built with React and D3.
- GraphicsJS (opens new window) - A lightweight JavaScript graphics library with the intuitive API, based on SVG/VML technology.
- mxGraph (opens new window) - 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 (opens new window) - GitHub-inspired simple and modern SVG charts for the web with zero dependencies.
- Frappe Gantt (opens new window) - A simple, interactive, modern gantt chart library for the web.
- G2 (opens new window) - A highly interactive data-driven visualization grammar for statistical charts.
- G2Plot (opens new window) - An interactive and responsive charting library. Based on the grammar of graphics.
- Cytoscape.js (opens new window) - A fully featured graph theory library.
- cola.js (opens new window) - library for arranging your HTML5 documents and diagrams using constraint-based optimization techniques
- jointjs (opens new window) - Diagramming library to create static diagrams or fully interactive diagramming tools.
- vizzu (opens new window) - Library for animated data visualizations and data stories.
There're also some great commercial libraries, like amchart (opens new window), anychart (opens new window), plotly (opens new window), highchart (opens new window), and lightning chart (opens new window).
# Timeline
- TimelineJS v3 (opens new window) - A Storytelling Timeline built in JavaScript.
- timesheet.js (opens new window) - JavaScript library for simple HTML5 & CSS3 time sheets.
# Spreadsheet
- HANDSONTABLE (opens new window) - Handsontable is a JavaScript/HTML5 Spreadsheet Library for Developers
- Frappe Datatable (opens new window) - Frappe DataTable is a simple, modern and interactive datatable library for displaying tabular data.
- Luckysheet (opens new window) - Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
# Editors
- ace (opens new window) - Ace (Ajax.org Cloud9 Editor).
- CodeMirror (opens new window) - In-browser code editor.
- esprima (opens new window) - ECMAScript parsing infrastructure for multipurpose analysis.
- quill (opens new window) - A cross browser rich text editor with an API.
- medium-editor (opens new window) - Medium.com WYSIWYG editor clone.
- pen (opens new window) - enjoy live editing (+markdown).
- jquery-notebook (opens new window) - A simple, clean and elegant text editor. Inspired by the awesomeness of Medium.
- bootstrap-wysiwyg (opens new window) - Tiny bootstrap-compatible WYSIWYG rich text editor.
- ckeditor-releases (opens new window) - The best web text editor for everyone.
- editor (opens new window) - A markdown editor. still on development.
- EpicEditor (opens new window) - An embeddable JavaScript Markdown editor with split fullscreen editing, live previewing, automatic draft saving, offline support, and more.
- jsoneditor (opens new window) - A web-based tool to view, edit and format JSON.
- vim.js (opens new window) - JavaScript port of Vim with a persistent
~/.vimrc
. - Squire (opens new window) - HTML5 rich text editor.
- TinyMCE (opens new window) - The JavaScript Rich Text editor.
- trix (opens new window) - A rich text editor for everyday writing. By Basecamp.
- Trumbowyg (opens new window) - A lightweight and amazing WYSIWYG JavaScript editor.
- Draft.js (opens new window) - A React framework for building text editors.
- bootstrap-wysihtml5 (opens new window) - Simple, beautiful wysiwyg editor
- wysihtml5 (opens new window) - 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 (opens new window) - Raptor, an HTML5 WYSIWYG content editor!
- popline (opens new window) - Popline is an HTML5 Rich-Text-Editor Toolbar.
- Summernote (opens new window) - Super simple WYSIWYG editor.
# Documentation
- DevDocs (opens new window) is an all-in-one API documentation reader with a fast, organized, and consistent interface.
- dexy (opens new window) is a free-form literate documentation tool for writing any kind of technical document incorporating code.
- docco (opens new window) is a quick-and-dirty, hundred-line-long, literate-programming-style documentation generator.
- styledocco (opens new window) generates documentation and style guide documents from your stylesheets.
- Ronn (opens new window) builds manuals. It converts simple, human readable textfiles to roff for terminal display, and also to HTML for the web.
- dox (opens new window) 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 (opens new window) is a JSDoc3 to Markdown documentation generator.
- ESDoc (opens new window) is a good documentation generator for JavaScript.
- YUIDoc (opens new window) is a Node.js application that generates API documentation from comments in source, using a syntax similar to tools like Javadoc and Doxygen.
- coddoc (opens new window) 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 (opens new window) a tool that makes it easy to create intelligent and beautiful documentation
- Using JSDoc (opens new window)
- Beautiful docs (opens new window) is a documentation viewer based on markdown files.
- documentation.js (opens new window) - API documentation generator with support for ES2015+ and flow annotation.
- jsduck (opens new window) - API documentation generator made for Sencha JavaScript frameworks, but can be used for other frameworks too.
- codecrumbs (opens new window) is a visual tool for learning and documenting a codebase by putting breadcrumbs in source code.
# Files
Libraries for working with files.
- Papa Parse (opens new window) - A powerful CSV library that supports parsing CSV files/strings and also exporting to CSV.
- jBinary (opens new window) - High-level I/O (loading, parsing, manipulating, serializing, saving) for binary files with declarative syntax for describing file types and data structures.
- diff2html (opens new window) - Git diff output parser and pretty HTML generator.
- jsPDF (opens new window) - JavaScript PDF generation.
- PDF.js (opens new window) - PDF Reader in JavaScript.
# Functional Programming
Functional programming libraries to extend JavaScript’s capabilities.
- underscore (opens new window) - JavaScript's utility _ belt.
- lodash (opens new window) - A utility library delivering consistency, customization, performance, & extras.
- Sugar (opens new window) - A JavaScript library for working with native objects.
- lazy.js (opens new window) - Like Underscore, but lazier.
- ramda (opens new window) - A practical functional library for JavaScript programmers.
- mout (opens new window) - Modular JavaScript Utilities.
- mesh (opens new window) - Streamable data synchronization utility.
- preludejs (opens new window) - Hardcore Functional Programming for JavaScript.
- rambda (opens new window) - Faster and smaller alternative to Ramda.
- fxts (opens new window) - Lazy evaluation and concurrency.
# Reactive Programming
Reactive programming libraries to extend JavaScript’s capabilities.
- RxJS (opens new window) - A reactive programming library for JavaScript.
- Bacon (opens new window) - FRP (functional reactive programming) library for JavaScript.
- Kefir (opens new window) - FRP library for JavaScript inspired by Bacon.js and RxJS with focus on high performance and low memory consumption.
- Highland (opens new window) - 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 (opens new window) - high performance FRP library.
- MobX (opens new window) - TFRP library for simple, scalable state management.
- Cycle.js (opens new window) - A functional and reactive JavaScript library for cleaner code.
- concent (opens new window) - Definitely the ❤️ simplest but ⚡️ strongest state management for react, it is predictable、progressive and efficient.
# Data Structure
Data structure libraries to build a more sophisticated application.
- immutable-js (opens new window) - Immutable Data Collections including Sequence, Range, Repeat, Map, OrderedMap, Set and a sparse Vector.
- mori (opens new window) - A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript.
- buckets (opens new window) - A complete, fully tested and documented data structure library written in JavaScript.
- hashmap (opens new window) - Simple hashmap implementation that supports any kind of keys.
- ngraph.graph (opens new window) - Graph data structure in javascript.
# Date
Date Libraries.
- moment (opens new window) - Parse, validate, manipulate, and display dates in JavaScript.
- moment-timezone (opens new window) - Timezone support for moment.js.
- jquery-timeago (opens new window) - A jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. "4 minutes ago").
- timezone-js (opens new window) - Timezone-enabled JavaScript Date object. Uses Olson zoneinfo files for timezone data.
- date (opens new window) - Date() for humans.
- ms.js (opens new window) - Tiny millisecond conversion utility.
- countdown.js (opens new window) - Super simple countdowns.
- timeago.js (opens new window) - Simple library (less then 2kb) used to format date with
*** time ago
statement. - fecha (opens new window) - Lightweight date formatting and parsing (~2KB). Meant to replace parsing and formatting functionality of moment.js.
- date-fns (opens new window) - Modern JavaScript date utility library.
- map-countdown (opens new window) - A browser countdown built on top of the Google Maps.
- dayjs (opens new window) - Day.js 2KB immutable date library alternative to Moment.js with the same modern API.
- luxon (opens new window) - Luxon is a library for working with dates and times in JavaScript.
# String
String Libraries.
- voca (opens new window) - The ultimate JavaScript string library
- selecting (opens new window) - A library that allows you to access the text selected by the user.
- underscore.string (opens new window) - String manipulation extensions for Underscore.js JavaScript library.
- string.js (opens new window) - Extra JavaScript string methods.
- he (opens new window) - A robust HTML entity encoder/decoder written in JavaScript.
- multiline (opens new window) - Multiline strings in JavaScript.
- query-string (opens new window) - Parse and stringify URL query strings.
- URI.js (opens new window) - JavaScript URL mutation library.
- jsurl (opens new window) - Lightweight URL manipulation with JavaScript.
- sprintf.js (opens new window) - A sprintf implementation.
- url-pattern (opens new window) - Easier than regex string matching patterns for urls and other strings. Turn strings into data or data into strings.
- plexis (opens new window) - Lo-fi, powerful, community-driven string manipulation library.
# Number
- Numeral-js (opens new window) - A JavaScript library for formatting and manipulating numbers.
- chance.js (opens new window) - Random generator helper in JavaScript. Can generate numbers, strings etc.
- odometer (opens new window) - Smoothly transitions numbers with ease.
- accounting.js (opens new window) - A lightweight JavaScript library for number, money and currency formatting - fully localisable, zero dependencies.
- money.js (opens new window) - A tiny (1kb) JavaScript currency conversion library, for web & nodeJS.
- Fraction.js (opens new window) - A rational number library for JavaScript.
- Complex.js (opens new window) - A complex number library for JavaScript.
- Polynomial.js (opens new window) - A polynomials library for JavaScript.
- Quaternion.js (opens new window) - A quaternion library for JavaScript
# Storage
- store.js (opens new window) - LocalStorage wrapper for all browsers without using cookies or flash. Uses localStorage, globalStorage, and userData behavior under the hood.
- localForage (opens new window) - Offline storage, improved. Wraps IndexedDB, WebSQL, or localStorage using a simple but powerful API.
- jStorage (opens new window) - jStorage is a simple key/value database to store data on browser side.
- cross-storage (opens new window) - Cross domain local storage, with permissions.
- basket.js (opens new window) - A script and resource loader for caching & loading scripts with localStorage.
- bag.js (opens new window) - A caching script and resource loader, similar to basket.js, but with additional k/v interface and localStorage / websql / indexedDB support.
- basil.js (opens new window) - The missing JavaScript smart persistent layer.
- jquery-cookie (opens new window) - A simple, lightweight jQuery plugin for reading, writing and deleting cookies.
- js-cookie (opens new window) - A simple, lightweight JavaScript API for handling browser cookies.
- Cookies (opens new window) - JavaScript Client-Side Cookie Manipulation Library.
- DB.js (opens new window) - Promise based IndexDB Wrapper library.
- lawnchair.js (opens new window) - Simple client-side JSON storage.
- sql.js (opens new window) - SQLite compiled to JavaScript through Emscripten.
- pouchdb (opens new window) - Javascript db inspired by Apache CouchDB to run well within the browser.
- crumbsjs (opens new window) - A lightweight vanilla ES6 cookies and local storage JavaScript library.
- awesome-web-storage (opens new window) - Everything you need to know about client-side storage.
- datavore (opens new window) - A small, fast, in-browser database engine written in JavaScript.
- Hoodie (opens new window) - Offline First backend to work in browser without internet connectivity.
- NeDB (opens new window) - Embedded Persistent database for Browsers, nw.js, electron.
# Color
- randomColor (opens new window) - A color generator for JavaScript.
- chroma.js (opens new window) - JavaScript library for all kinds of color manipulations.
- color (opens new window) - JavaScript color conversion and manipulation library.
- colors (opens new window) - Smarter defaults for colors on the web.
- PleaseJS (opens new window) - JavaScript Library for creating random pleasing colors and color schemes.
- TinyColor (opens new window) - Fast, small color manipulation and conversion for JavaScript.
- Vibrant.js (opens new window) - Extract prominent colors from an image.
# I18n And L10n
Localization (l10n) and internationalization (i18n) JavaScript libraries.
- i18next (opens new window) - internationalisation (i18n) with JavaScript the easy way.
- polyglot (opens new window) - tiny i18n helper library.
- babelfish (opens new window) - i18n with human friendly API and built in plurals support.
- ttag (opens new window) - Modern javascript i18n localization library based on ES6 tagged templates and the good old GNU gettext.
# Control Flow
- async (opens new window) - Async utilities for node and the browser.
- q (opens new window) - A tool for making and composing asynchronous promises in JavaScript.
- step (opens new window) - An async control-flow library that makes stepping through logic easy.
- contra (opens new window) - Asynchronous flow control with a functional taste to it.
- Bluebird (opens new window) - fully featured promise library with focus on innovative features and performance.
- when (opens new window) - A solid, fast Promises/A+ and when() implementation, plus other async goodies.
- ObjectEventTarget (opens new window) - Provide a prototype that add support to event listeners (with same behavior of EventTarget from DOMElements available on browsers).
- sporadic (opens new window) - Composable concurrency abstractions (such as streams, coroutines and Go-like channels) on top of promises, for Node and browser engines.
# Routing
- director (opens new window) - A tiny and isomorphic URL router for JavaScript.
- page.js (opens new window) - Micro client-side router inspired by the Express router (~1200 bytes).
- pathjs (opens new window) - Simple, lightweight routing for web browsers.
- crossroads (opens new window) - JavaScript Routes.
- davis.js (opens new window) - RESTful degradable JavaScript routing using pushState.
- navaid (opens new window) - A navigation aid (aka, router) for the browser in 850 bytes~!
# Security
- DOMPurify (opens new window) - A DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG.
- js-xss (opens new window) - Sanitize untrusted HTML (to prevent XSS) with a configuration specified by a Whitelist.
- xss-filters (opens new window) - Secure XSS Filters by Yahoo.
- sanitize-html (opens new window) - sanitize-html provides a simple HTML sanitizer with a clear API.
# Log
- log (opens new window) - Console.log with style.
- Conzole (opens new window) - 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 (opens new window) - Log to the console in any browser with clarity.
- loglevel (opens new window) - Minimal lightweight logging for JavaScript, adding reliable log level methods to wrap any available console.log methods.
- minilog (opens new window) – Lightweight client & server-side logging with Stream-API backends.
- storyboard (opens new window) - Universal logging library + Chrome extension; it lets you see all client and server tasks triggered by a user action in a single place.
# RegExp
- RegEx101 (opens new window) - Online regex tester and debugger for JavaScript. Also supports Python, PHP and PCRE.
- RegExr (opens new window) - HTML/JS based tool for creating, testing, and learning about Regular Expressions.
# Voice Command
- annyang (opens new window) - A JavaScript library for adding voice commands to your site, using speech recognition.
- voix.js (opens new window) - A JavaScript library to add voice commands to your sites, apps or games.
# API
- axios (opens new window) - Promise based HTTP client for the browser and node.js.
- bottleneck (opens new window) - A powerful rate limiter that makes throttling easy.
- oauth-signature-js (opens new window) - JavaScript OAuth 1.0a signature generator for node and the browser.
- amygdala (opens new window) - RESTful HTTP client for JavaScript powered web applications.
- jquery.rest (opens new window) - A jQuery plugin for easy consumption of RESTful APIs.
- Rails Ranger (opens new window) - An opinionated REST client for Ruby on Rails APIs.
- wretch (opens new window) - A tiny wrapper built around fetch with an intuitive syntax.
- Bearer.sh (opens new window) - Universal API client that supports OAuth / API Key / Basic / etc.
- FarFetch (opens new window) - Modern Fetch API wrapper for simplicity, with concise file uploading.
- Optic (opens new window) - Optic automatically documents and tests your APIs.
- SWR (opens new window) - React Hooks library for remote data fetching.
- React Query (opens new window) - Hooks for fetching, caching and updating asynchronous data in React.
# Streaming
- Tailor (opens new window) - Streaming layout service for front-end microservices, inspired by Facebook's BigPipe.
# Vision Detection
- tracking.js (opens new window) - A modern approach for Computer Vision on the web.
- ocrad.js (opens new window) - OCR in JavaScript via Emscripten.
# Machine Learning
- ConvNetJS (opens new window) - Deep Learning in JavaScript. Train Convolutional Neural Networks (or ordinary ones) in your browser.
- DN2A (opens new window) - Digital Neural Networks Architecture.
- Brain.js (opens new window) - Neural networks in JavaScript.
- Mind.js (opens new window) - A flexible neural network library.
- Synaptic.js (opens new window) - Architecture-free neural network library for node.js and the browser.
- TensorFlow.js (opens new window) - A JavaScript library for training and deploying ML models in the browser and on Node.js.
- ml5.js (opens new window) - Friendly Machine Learning for the Web.
- Synapses (opens new window) - Lightweight cross-platform Neural Network library.
- m2cgen (opens new window) - A CLI tool to transpile trained classic ML models into a native JavaScript code with zero dependencies.
# Browser Detection
- bowser (opens new window) - a browser detector.
# Operating System
- os.js (opens new window) - An open-source web desktop platform with a window manager, application APIs, GUI toolkit, filesystem abstractions and much more.
# Benchmark
- benchmark.js (opens new window) - A benchmarking library. As used on jsPerf.com.
- matcha (opens new window) - A caffeine driven, simplistic approach to benchmarking.
# Code highlighting
- Highlight.js (opens new window) - JavaScript syntax highlighter.
- PrismJS (opens new window) - Lightweight, robust, elegant syntax highlighting.
# Loading Status
Libraries for indicate load status.
- Mprogress.js (opens new window) - Create Google Material Design progress linear bars.
- NProgress (opens new window) - Slim progress bars for Ajax'y applications.
- Spin.js (opens new window) - A spinning activity indicator.
- progress.js (opens new window) - Create and manage progress bar for every objects on the page.
- progressbar.js (opens new window) - Beautiful and responsive progress bars with animated SVG paths.
- pace (opens new window) - Automatically add a progress bar to your site.
- topbar (opens new window) - Tiny & beautiful site-wide progress indicator.
- nanobar (opens new window) - Very lightweight progress bars. No jQuery.
- PageLoadingEffects (opens new window) - Modern ways of revealing new content using SVG animations.
- SpinKit (opens new window) - A collection of loading indicators animated with CSS.
- Ladda (opens new window) - Buttons with built-in loading indicators.
- css-loaders (opens new window) - A collection of loading spinners animated with CSS
# Validation
- Parsley.js (opens new window) - Validate your forms, frontend, without writing a single line of JavaScript.
- jquery-validation (opens new window) - jQuery Validation Plugin.
- validator.js (opens new window) - String validation and sanitization.
- validate.js (opens new window) - Lightweight JavaScript form validation library inspired by CodeIgniter.
- validatr (opens new window) - Cross Browser HTML5 Form Validation.
- FormValidation (opens new window) - The best jQuery plugin to validate form fields. Formerly BootstrapValidator.
- is.js (opens new window) - Check types, regexps, presence, time and more.
- FieldVal (opens new window) - multipurpose validation library. Supports both sync and async validation.
- Funval (opens new window) - Data validation using functions interfaces (support TypeScript).
- vest (opens new window) - 🦺 Declarative form validation framework inspired by unit testing.
# Keyboard Wrappers
- mousetrap (opens new window) - Simple library for handling keyboard shortcuts in JavaScript.
- keymaster (opens new window) - A simple micro-library for defining and dispatching keyboard shortcuts.
- Keypress (opens new window) - A keyboard input capturing utility in which any key can be a modifier key.
- KeyboardJS (opens new window) - A JavaScript library for binding keyboard combos without the pain of key codes and key combo conflicts.
- jquery.hotkeys (opens new window) - jQuery Hotkeys lets you watch for keyboard events anywhere in your code supporting almost any key combination.
- jwerty (opens new window) - Awesome handling of keyboard events.
# Tours And Guides
- intro.js (opens new window) - A better way for new feature introduction and step-by-step users guide for your website and project.
- shepherd (opens new window) - Guide your users through a tour of your app.
- bootstrap-tour (opens new window) - Quick and easy product tours with Twitter Bootstrap Popovers.
- tourist (opens new window) - Simple, flexible tours for your app.
- chardin.js (opens new window) - Simple overlay instructions for your apps.
- pageguide (opens new window) - An interactive guide for web page elements using jQuery and CSS3.
- hopscotch (opens new window) - A framework to make it easy for developers to add product tours to their pages.
- joyride (opens new window) - jQuery feature tour plugin.
- focusable (opens new window) - Set a spotlight focus on DOM element adding a overlay layer to the rest of the page.
- driver.js (opens new window) - Powerful yet light-weight, vanilla JavaScript engine to drive the user's focus across the page
# Notifications
- iziToast (opens new window) - Elegant, responsive, flexible and lightweight notification plugin with no dependencies.
- messenger (opens new window) - Growl-style alerts and messages for your app.
- noty (opens new window) - jQuery notification plugin.
- pnotify (opens new window) - JavaScript notifications for Bootstrap, jQuery UI, and the Web Notifications Draft.
- toastr (opens new window) - Simple JavaScript toast notifications.
- humane-js (opens new window) - A simple, modern, browser notification system.
- smoke.js (opens new window) - Framework-agnostic styled alert system for JavaScript.
- notie (opens new window) - Simple notifications and inputs with no dependencies.
- notifire (opens new window) - Open-source notification infrastructure for products.
# Sliders
- Swiper (opens new window) - Mobile touch slider and framework with hardware accelerated transitions.
- slick (opens new window) - The last carousel you'll ever need.
- slidesJs (opens new window) - Is a responsive slideshow plug-in for JQuery(1.7.1+) with features like touch and CSS3 transitions
- FlexSlider (opens new window) - An awesome, fully responsive jQuery slider plugin.
- sly (opens new window) - JavaScript library for one-directional scrolling with item based navigation support.
- vegas (opens new window) - A jQuery plugin to add beautiful fullscreen backgrounds to your webpages. It even allows Slideshows.
- Sequence (opens new window) - CSS animation framework for creating responsive sliders, presentations, banners, and other step-based applications.
- reveal.js (opens new window) - A framework for easily creating beautiful presentations using HTML.
- impress.js (opens new window) - 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 (opens new window) - DIY Presentation Micro-Framework
- Strut (opens new window) - Strut - An Impress.js and Bespoke.js Presentation Editor
- PhotoSwipe (opens new window) - JavaScript image gallery for mobile and desktop, modular, framework independent.
- jcSlider (opens new window) - A responsive slider jQuery plugin with CSS animations.
- basic-jquery-slider (opens new window) - Simple to use, simple to theme, simple to customise.
- jQuery.adaptive-slider (opens new window) - A jQuery plugin for a slider with adaptive colored figcaption and navigation.
- slidr (opens new window) - add some slide effects.
- Flickity (opens new window) - Touch, responsive, flickable galleries.
- Glide.js (opens new window) - Responsive and touch-friendly jQuery slider. It's simple, lightweight and fast.
- Embla Carousel (opens new window) - An extensible low level carousel for the web, written in TypeScript.
# Range Sliders
- Ion.RangeSlider (opens new window) - Powerful and easily customizable range slider with many options and skin support.
- jQRangeSlider (opens new window) - A JavaScript slider selector that supports dates.
- noUiSlider (opens new window) - A lightweight, highly customizable range slider without bloat.
- rangeslider.js (opens new window) - HTML5 input range slider element polyfill.
# Form Widgets
# Input
- typeahead.js (opens new window) - A fast and fully-featured autocomplete library.
- tag-it (opens new window) - A jQuery UI plugin to handle multi-tag fields as well as tag suggestions/autocomplete.
- At.js (opens new window) - Add GitHub like mentions autocomplete to your application.
- Placeholders.js (opens new window) - A JavaScript polyfill for the HTML5 placeholder attribute.
- fancyInput (opens new window) - Makes typing in input fields fun with CSS3 effects.
- jQuery-Tags-Input (opens new window) - Magically convert a simple text input into a cool tag list with this jQuery plugin.
- vanilla-masker (opens new window) - A pure JavaScript mask input.
- Ion.CheckRadio (opens new window) - jQuery plugin for styling checkboxes and radio-buttons. With skin support.
- awesomplete (opens new window) - Ultra lightweight, usable, beautiful autocomplete with zero dependencies. - https://projects.verou.me/awesomplete/
# Calendar
- pickadate.js (opens new window) - The mobile-friendly, responsive, and lightweight jQuery date & time input picker.
- bootstrap-datepicker (opens new window) - A datepicker for @twitter bootstrap forked from Stefan Petre's (of eyecon.ro), improvements by @eternicode.
- Pikaday (opens new window) - A refreshing JavaScript Datepicker — lightweight, no dependencies, modular CSS.
- fullcalendar (opens new window) - Full-sized drag & drop event calendar (jQuery plugin).
- rome (opens new window) - A customizable date (and time) picker. Dependency free, opt-in UI.
- Date Range Picker (opens new window) - creates a dropdown menu from which a user can select a range of dates.
- Duet Date Picker (opens new window) - open source version of Duet Design System’s accessible date picker, WCAG 2.1 accessibility complaint
- tui.calendar (opens new window) - A JavaScript schedule calendar that is full featured. Now your service just got the customizable calendar.
# Select
- selectize.js (opens new window) - 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 (opens new window) - a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.
- chosen (opens new window) - A library for making long, unwieldy select boxes more friendly.
# File Uploader
- jQuery-File-Upload (opens new window) - File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery.
- dropzone (opens new window) - Dropzone is an easy to use drag'n'drop library. It supports image previews and shows nice progress bars.
- flow.js (opens new window) - A JavaScript library providing multiple simultaneous, stable, fault-tolerant and resumable/restartable file uploads via the HTML5 File API.
- fine-uploader (opens new window) - Multiple file upload plugin with progress-bar, drag-and-drop, direct-to-S3 uploading.
- FileAPI (opens new window) - 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 (opens new window) - 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 (opens new window) - 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
- form (opens new window) - jQuery Form Plugin.
- Garlic.js (opens new window) - Automatically persist your forms' text and select field values locally, until the form is submitted.
- Countable (opens new window) - A JavaScript function to add live paragraph-, word- and character-counting to an HTML element.
- card (opens new window) - Make your credit card form better in one line of code.
- stretchy (opens new window) - Form element autosizing, the way it should be.
- analytics (opens new window) - A lightweight, extendable analytics library designed to work with any third-party analytics provider to track page views, custom events, & identify users.
- dat.GUI (opens new window) - A lightweight gui controller for changing variables in JavaScript.
# Tips
- tipsy (opens new window) - Facebook-style tooltips plugin for jQuery.
- opentip (opens new window) - An open source JavaScript tooltip based on the prototype framework.
- qTip2 (opens new window) - Pretty powerful tooltips.
- tooltipster (opens new window) - A jQuery tooltip plugin.
- simptip (opens new window) - A simple CSS tooltip made with Sass.
- toolbar (opens new window) - A tooltip style toolbar jQuery plugin
- hint.css (opens new window) - A tooltip library in CSS for your lovely websites.
# Modals and Popups
- Magnific-Popup (opens new window) - Light and responsive lightbox script with focus on performance.
- jquery-popbox (opens new window) - jQuery PopBox UI Element.
- jquery.avgrund.js (opens new window) - A jQuery plugin with new modal concept for popups.
- vex (opens new window) - A modern dialog library which is highly configurable and easy to style.
- bootstrap-modal (opens new window) - Extends the default Bootstrap Modal class. Responsive, stackable, ajax and more.
- css-modal (opens new window) - A modal built out of pure CSS.
- jquery-popup-overlay (opens new window) - jQuery plugin for responsive and accessible modal windows and tooltips.
- SweetAlert (opens new window) - An awesome replacement for JavaScript's alert.
- SweetAlert2 (opens new window) - An awesome replacement for JavaScript's alert.
- baguetteBox.js (opens new window) - Simple and easy to use lightbox script written in pure JavaScript.
- colorbox (opens new window) - A light-weight, customizable lightbox plugin for jQuery.
- fancyBox (opens new window) - A tool that offers a nice and elegant way to add zooming functionality for images, html content and multi-media on your webpages.
- swipebox (opens new window) - A touchable jQuery lightbox
- jBox (opens new window) - jBox is a powerful and flexible jQuery plugin, taking care of all your popup windows, tooltips, notices and more.
- lightGallery (opens new window) - A customizable, modular, responsive, lightbox gallery plugin for jQuery.
- keukenhof (opens new window) - Lightweight, no dependencies, accessibility enabled TypeScript library for creating modal windows.
- screenfull.js (opens new window) - 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
- scrollMonitor (opens new window) - A simple and fast API to monitor elements as you scroll.
- headroom (opens new window) - Give your pages some headroom. Hide your header until you need it.
- onepage-scroll (opens new window) - Create an Apple-like one page scroller website (iPhone 5S website) with One Page Scroll plugin.
- iscroll (opens new window) - iScroll is a high performance, small footprint, dependency free, multi-platform JavaScript scroller.
- skrollr (opens new window) - Stand-alone parallax scrolling library for mobile (Android + iOS) and desktop. No jQuery.
- parallax (opens new window) - Parallax Engine that reacts to the orientation of a smart device.
- stellar.js (opens new window) - Parallax scrolling made easy.
- plax (opens new window) - jQuery powered parallaxing.
- jparallax (opens new window) - jQuery plugin for creating interactive parallax effect.
- fullPage (opens new window) - A simple and easy to use plugin to create fullscreen scrolling websites (also known as single page websites).
- ScrollMenu (opens new window) - A new interface to replace old boring scrollbar.
- Clusterize.js (opens new window) - Tiny vanilla JS plugin to display large data sets easily.
- simpleParallax (opens new window) - Simple and tiny JavaScript library to add parallax animations on any images
- rellax (opens new window) - Buttery smooth, super lightweight, vanilla javascript parallax library.
- asscroll (opens new window) - A hybrid smooth scroll setup that combines the performance gains of virtual scroll with the reliability of native scroll.
- stroll (opens new window) - A collection of CSS List scroll effects bind to dom through javascript.
- locomotive-scroll (opens new window) - Detects the elements in viewport and smooth scrolling with parallax.
- elevator.js (opens new window) - Finally, a "back to top" button that behaves like a real elevator.
# Menu
- jQuery-menu-aim (opens new window) - jQuery plugin to fire events when user's cursor aims at particular dropdown menu items. For making responsive mega dropdowns like Amazon's.
- jQuery contextMenu (opens new window) - contextMenu manager.
- Slideout (opens new window) - A responsive touch slideout navigation menu for mobile web apps.
- Slide and swipe (opens new window) - A sliding swipe menu that works with touchSwipe library.
- mmenu (opens new window) - The best jQuery plugin for app look-alike on- and off-canvas menus with sliding submenus for your website and webapp.
# Table/Grid
- jTable (opens new window) - A jQuery plugin to create AJAX based CRUD tables.
- DataTables (opens new window) - (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 (opens new window) - (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 (opens new window) - An Extension to the popular Bootstrap framework for creating tables that fit the style of your site with no need for additional markup.
- floatThead (opens new window) - (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 (opens new window) - A cascading grid layout library.
- Packery (opens new window) - A grid layout library that uses a bin-packing algorithm. Useable for draggable layouts.
- Isotope (opens new window) - A filterable, sortable, grid layout library. Can implement Masonry, Packery, and other layouts.
- flexboxgrid (opens new window) - Grid based on CSS3 flexbox.
- Jspreadsheet (opens new window) - Jspreadsheet is a lightweight vanilla javascript plugin to create amazing web-based interactive tables and spreadsheets compatible with other spreadsheet software.
# Frameworks
- Semantic UI (opens new window) - UI Kit with lots of themes and elements.
- w2ui (opens new window) - A set of jQuery plugins for front-end development of data-driven web applications.
- fluidity (opens new window) - The worlds smallest fully-responsive css framework.
- Ink (opens new window) - An HTML5/CSS3 framework used at SAPO for fast and efficient website design and prototyping.
- DataFormsJS (opens new window) - A minimal JavaScript Framework and standalone components for rapid development of sites and SPA's.
- EHTML (opens new window) - HTML Framework that allows you not to write JavaScript code.
# Boilerplates
- html5-boilerplate (opens new window) - A professional front-end template for building fast, robust, and adaptable web apps or sites.
- mobile-boilerplate (opens new window) - A front-end template that helps you build fast, modern mobile web apps.
- webplate (opens new window) - An awesome front-end framework that lets you stay focused on building your site or app while remaining really easy to use.
- Cerberus (opens new window) - A few simple, but solid patterns for responsive HTML emails. Even in Outlook.
- full-page-intro-and-navigation (opens new window) - An intro page with a full width background image, a bold animated menu and an iOS-like blurred effect behind the navigation.
- Fluid-Squares (opens new window) - A fluid grid of square units.
- Mobile-First-RWD (opens new window) - An example of a mobile-first responsive web design.
- this-is-responsive (opens new window) - This Is Responsive.
- npm run-scripts (opens new window) Task automation with NPM run-scripts.
# Images
- Drift (opens new window) - Easily add "zoom on hover" functionality to your site's images. Lightweight, no-dependency JavaScript.
- Magnificent.js (opens new window) - Zoom responsively, images & more, w/ jQuery.
- Panolens.js (opens new window) - Panolens.js is an event-driven and WebGL based panorama viewer. Lightweight and flexible
# Gesture
- hammer.js (opens new window) - A JavaScript library for multi-touch gestures.
- touchemulator (opens new window) - Emulate touch input on your desktop.
- Dragula (opens new window) - Drag and drop so simple it hurts.
# Maps
- Leaflet (opens new window) - JavaScript library for mobile-friendly interactive maps.
- Cesium (opens new window) - Open Source WebGL virtual globe and map engine.
- gmaps (opens new window) - The easiest way to use Google Maps.
- polymaps (opens new window) - A free JavaScript library for making dynamic, interactive maps in modern web browsers.
- kartograph.js (opens new window) - Open source JavaScript renderer for Kartograph SVG maps.
- mapbox.js (opens new window) - Mapbox JavaScript API, a Leaflet Plugin.
- jqvmap (opens new window) - jQuery Vector Map Library.
- OpenLayers3 (opens new window) - A high-performance, feature-packed library for all your mapping needs.
- H3js (opens new window) - Hexagonal hierarchical geospatial indexing system ported to javascript by Uber for geospatial visualization.
# Video/Audio
- prettyembed.js (opens new window) - Prettier embeds for your YouTubes - with nice options like high-res preview images, advanced customization of embed options, and optional FitVids support.
- html5media (opens new window) - Enables
- Play-em JS (opens new window) - 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 (opens new window) - Rule YouTube, Soundcloud and Vimeo player with one API.
- flowplayer (opens new window) - The HTML5 video player for the web https://flowplayer.com/ (opens new window)
- mediaelement (opens new window) - HTML5
- SoundJS (opens new window) - A library to make working with audio on the web easier. It provides a consistent API for playing audio in different browsers.
- video.js (opens new window) - Video.js - open source HTML5 & Flash video player.
- FitVids.js (opens new window) - A lightweight, easy-to-use jQuery plugin for fluid width video embeds.
- Ion.Sound (opens new window) - Simple sounds on any web page.
- photobooth-js (opens new window) - A widget that allows users to take their avatar pictures on your site.
- clappr (opens new window) - An extensible media player for the web http://clappr.io
- exifr (opens new window) - The fastest and most versatile EXIF reading library. https://mutiny.cz/exifr/
- ts-audio (opens new window) - an agnostic and easy-to-use library to work with the
AudioContext
API. - AmplitudeJS (opens new window) - Open Source HTML5 Web Audio Library. Design your web audio player, the way you want. No dependencies required.
- ractive-player (opens new window) - A library for making interactive videos in React.js.
- ffmpeg.js (opens new window) - FFmpeg optimized for in-browser use: minimal size for faster loading, asm.js, performance tunings, etc.
- flv.js (opens new window) - An HTML5 Flash Video (FLV) Player written in pure JavaScript without Flash.
- hls.js (opens new window) - A JavaScript library that implements an HTTP Live Streaming client. It relies on HTML5 video and MediaSource Extensions for playback.
# Typography
- FlowType.JS (opens new window) - Web typography at its finest: font-size and line-height based on element width.
- BigText (opens new window) - jQuery plugin, calculates the font-size and word-spacing needed to match a line of text to a specific width.
- circletype (opens new window) - A jQuery plugin that lets you curve type on the web.
- slabText (opens new window) - A jQuery plugin for producing big, bold & responsive headlines.
- simple-text-rotator (opens new window) - Add a super simple rotating text to your website with little to no markup.
- novacancy.js (opens new window) - Text Neon Golden effect jQuery plug-in.
- jquery-responsive-text (opens new window) - Make your text sizing responsive!
- FitText.js (opens new window) - A jQuery plugin for inflating web type.
- Lettering.js (opens new window) - A lightweight, easy to use JavaScript
<span>
injector for radical Web Typography.
# Animations
- velocity (opens new window) - Accelerated JavaScript animation.
- jquery.transit (opens new window) - Super-smooth CSS3 transformations and transitions for jQuery.
- bounce.js (opens new window) - Create tasty CSS3 powered animations in no time.
- GreenSock-JS (opens new window) - High-performance HTML5 animations that work in all major browsers.
- TransitionEnd (opens new window) - TransitionEnd is an agnostic and cross-browser library to work with transitioned event.
- Dynamic.js (opens new window) - JavaScript library to create physics-based CSS animations.
- the-cube (opens new window) - The Cube is an experiment with CSS3 transitions.
- Effeckt.css (opens new window) - A Performant Transitions and Animations Library.
- animate.css (opens new window) - A cross-browser library of CSS animations. As easy to use as an easy thing.
- textillate (opens new window) - A simple plugin for CSS3 text animations.
- move.js (opens new window) - CSS3 backed JavaScript animation framework.
- animatable (opens new window) - One property, two values, endless possibilities.
- shuffle-images (opens new window) - The Simplest Way to shuffle through images in a Creative Way.
- smoothState.js (opens new window) - Unobtrusive page transitions with jQuery.
- Anime.js (opens new window) - A JavaScript animation engine.
- Mo.js (opens new window) - Motion graphics toolbelt for the web.
- particles.js (opens new window) - A lightweight JavaScript library for creating particles.
- tsParticles (opens new window) - A new and improved version of particles.js with bug fixes and many new features.
- particles-bg (opens new window) - A lightweight React particles animation background component.
- barbajs (opens new window) - It helps you create fluid and smooth transitions between your website's pages.
- typicaljs (opens new window) - Animated typing in ~400 bytes 🐡 of JavaScript
# Image Processing
- lena.js (opens new window) - A Library for image processing with filters and util functions.
- pica (opens new window) - High quality image resize (with fast Lanczos filter, implemented in pure JS).
- cropper (opens new window) - A simple jQuery image cropping plugin.
# ES6
- es6features (opens new window) - Overview of ECMAScript 6 features.
- es6-features (opens new window) - ECMAScript 6: Feature Overview & Comparison.
- es6-cheatsheet (opens new window) - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets.
- ECMAScript 6 compatibility table (opens new window) - Compatibility tables for all ECMAScript 6 features on a variety of environments.
- Babel (Formerly 6to5) (opens new window) - Turn ES6+ code into vanilla ES5 with no runtime.
- Traceur compiler (opens new window) - ES6 features > ES5. Includes classes, generators, promises, destructuring patterns, default parameters & more.
# Generators
- Gatsby.js (opens new window) - React-based static site generator.
- Gridsome (opens new window) - Vue-powered static site generator.
- Docusaurus (opens new window) - React-based static site generator by Facebook, ideal for content-centric websites.
# SDK
- javascript-sdk-design (opens new window) - JavaScript SDK design guide extracted from work and personal experience.
- Spotify SDK (opens new window) - Entity oriented SDK to work with the Spotify Web API.
- Square Node.js SDK (opens new window) - JavaScript client library for payments and other Square APIs.
# Full Text Search
- lunr (opens new window) - 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 (opens new window) - It is a Next-Generation full text search library for Browser and Node.js.
- Elasticlunr (opens new window) - This library is based on lunr.js, but more flexible and customized.
# Misc
- echo (opens new window) - Lazy-loading images with data-* attributes.
- picturefill (opens new window) - A responsive image polyfill for <picture>, srcset, sizes.
- platform.js (opens new window) - A platform detection library that works on nearly all JavaScript platforms.
- json3 (opens new window) - A modern JSON implementation compatible with nearly all JavaScript platforms.
- Logical Or Not (opens new window) - A game about JavaScript specificities.
- BitSet.js (opens new window) - A JavaScript Bit-Vector implementation.
- spoiler-alert (opens new window) - SPOILER ALERT! A happy little jquery plugin to hide spoilers on your site.
- jquery.vibrate.js (opens new window) - Vibration API Wrappers
- list.js (opens new window) - 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 (opens new window) - MixItUp - A Filter & Sort Plugin.
- grid (opens new window) - Drag and drop library for two-dimensional, resizable and responsive lists.
- jquery-match-height (opens new window) - a responsive equal heights plugin for jQuery.
- SurveyJS (opens new window) - SurveyJS is a JavaScript Survey and Form Library. https://surveyjs.io/
- Array Explorer (opens new window) and Object Explorer (opens new window) - Resources to help figure out what native JavaScript method would be best to use at any given time.
- Clipboard.js (opens new window) - "Copy to clipboard" without Flash or use of Frameworks.
- ky (opens new window) - Tiny and elegant HTTP client based on the browser Fetch API.
- Fcal (opens new window) - Math expression evaluator.
- emoji-button (opens new window) - Vanilla JavaScript emoji picker component.
- iooxa (opens new window) - Components for interactive scientific writing, reactive documents and explorable explanations.
- Idyll (opens new window) - Create explorable explanations and interactive storytelling essays. Can be embedded in HTML (opens new window).
- javascript-algorithms (opens new window) - Algorithms and data structures implemented in JavaScript with explanations and links to further readings.
- FingerprintJS (opens new window) - Makes a visitor identifier from a browser fingerprint that stays the same in incognito mode and when browser data is purged.
- Peg.js (opens new window) - 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 (opens new window) - Library to calculate the phases of the moon accurately.
- jsemu (opens new window) - A list of emulators written in the JavaScript programming language.
# Podcasts
- JavaScript Air (opens new window) - The live video broadcast podcast all about JavaScript and the Web platform.
- Web of Tomorrow (opens new window) - Podcast about JavaScript for beginners.
- JavaScript Jabber (opens new window) - A weekly podcast about JavaScript, including Node.js, Front-End Technologies, Careers, Teams and more.
# Worth Reading
- You Don't Know JS (opens new window) - 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 (opens new window) - An easy-to-read, quick reference for JS best practices, accepted coding standards, and links around the Web.
- JSbooks (opens new window) - Directory of free JavaScript ebooks.
- Superhero.js (opens new window) - A collection of resources about creating, testing and maintaining a large JavaScript code base.
- SJSJ (opens new window) - 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 (opens new window) - A comprehensive guide through a set of steps to publish a JavaScript open source library.
- JavaScript Tutorials (opens new window) - Learn Javascript online from a diverse range of user ranked online tutorials.
- Functional-Light JavaScript (opens new window) - Pragmatic, balanced FP in JavaScript.
- Clean Code JavaScript (opens new window) - Clean Code concepts adapted for JavaScript.
# Other Awesome Lists
- sotayamashita/awesome-css (opens new window)
- emijrp/awesome-awesome (opens new window)
- bayandin/awesome-awesomeness (opens new window)
- sindresorhus/awesome (opens new window)
- jnv/list (opens new window)
- gianarb/angularjs (opens new window)
- peterkokot/awesome-dojo (opens new window)
- addyosmani/es6-tools (opens new window)
- ericdouglas/ES6-Learning (opens new window)
- obetomuniz/awesome-webcomponents (opens new window)
- willianjusten/awesome-svg (opens new window)
- davidsonfellipe/awesome-wpo (opens new window)
- instanceofpro/awesome-backbone (opens new window)
- enaqx/awesome-react (opens new window)
- bolshchikov/js-must-watch (opens new window)
- peterkokot/awesome-jquery (opens new window)
- davidyezsetz/you-might-not-need-jquery-plugins (opens new window)
- MaximAbramchuck/awesome-interviews (opens new window)
- denolib/awesome-deno (opens new window)
# Contributing
Contributions welcome! Read the contribution guidelines first.
- 01
- Node与GLIBC_2.27不兼容解决方案08-19
- 02
- Git清空本地文件跟踪缓存08-13