JS libraries

Web Dev frameworks

  • Next.js - Framework for server-rendered or statically-exported React apps.

  • San - Flexible JavaScript component framework.

  • hapi - Rich framework for building applications and services.

  • Koa - Smaller, more expressive, and more robust foundation for web applications and APIs.

  • Umi - Pluggable enterprise-level react application framework.

  • Vue.js - Progressive JavaScript Framework.

  • Mithril - Modern client-side Javascript framework for building Single Page Applications.

  • Solid - Declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Alpine.js - Rugged, minimal framework for composing JavaScript behavior in your markup.

  • After.js - Next.js-like framework for server-rendered React apps built with React Router 4.

  • Blitz - Framework for building monolithic, full-stack, serverless React apps with zero data-fetching and zero client-side state management.

Animation

  • Anime.js - JavaScript animation engine.

  • popmotion - Functional, reactive animation library.

  • impress.js - Presentation framework based on the power of CSS3 transforms and transitions.

  • Pts - Library for visualization and creative-coding.

  • lax.js - Simple & light weight (<2kb gzipped) vanilla JS plugin to create smooth & beautiful animations when you scroll.

  • Flipping - Library (and collection of adapters) for implementing FLIP transitions.

  • Ola - Smooth animation library for interpolating numbers.

  • react-spring - Spring physics based React animation library.

  • FAT - Web's fastest and most lightweight animation tool.

  • React Easy Flip - Lightweight React library for smooth FLIP animations.

CLI

  • qoa - Minimal interactive command-line prompts.

State management

  • Mutik - Tiny (495B) immutable state management library based on Immer.

  • Overmind - Frictionless state management.

  • Storeon - Tiny event-based Redux-like state manager for React and Preact.

  • Overstated - React state management library that's delightful to use, without sacrificing performance or scalability.

  • Effector - Reactive state manager. (Awesome)

  • Akita - State Management Tailored-Made for JS Applications.

  • Observable Store - Provides a simple way to manage state in Angular, React, Vue.js and other front-end applications.

  • Cerebral - Declarative state and side effects management solution for popular JavaScript frameworks.

  • Hooksy - State managment solution based on react hooks.

  • React Easy State - Simple React state management. Made with ❤️ and ES6 Proxies.

  • wana - Easy observable state for React.

API bindings

React

Other

  • micro github - Tiny microservice that makes adding authentication with GitHub to your application easy.

  • pico.js - Face detection library in 200 lines of JavaScript.

  • mdxc - Use React Components within Markdown.

  • ReLaXeD - Create PDF documents using web technologies. (Examples)

  • Dragula - Drag and drop so simple it hurts.

  • Hammer.js - Multi-touch gestures.

  • emittery - Simple and modern async event emitter.

  • Xstate - State machines and statecharts for the modern web.

  • xstate-component-tree - Build a tree of UI components based on your state chart.

  • virtual-scroller - Maps a provided set of JavaScript objects onto DOM nodes, and renders only the DOM nodes that are currently visible, leaving the rest "virtualized".

  • jSPDF - Client-side JavaScript PDF generation for everyone.

  • ForgJS - JavaScript lightweight object validator.

  • faker.js - Generate massive amounts of realistic fake data in Node.js and the browser.

  • arg - Simple argument parsing.

  • fbt - JavaScript Internationalization Framework.

  • fuzzysearch - Tiny and blazing-fast fuzzy search in JavaScript.

  • normalizr - Normalizes nested JSON according to a schema.

  • FBJS - Collection of utility libraries used by other Facebook JS projects.

  • Uppy - Next open source file uploader for web browsers.

  • ScrollReveal - Animate elements as they scroll into view.

  • Shiny - Add shiny reflections to text, backgrounds, and borders on devices that support the DeviceMotion event.

  • Hotkey Behavior - Trigger a action on element when keyboard hotkey is pressed.

  • Bili - Makes it easier to bundle JavaScript libraries.

  • Memoizee - Complete memoize/cache solution for JavaScript.

  • Immer - Create the next immutable state by mutating the current one.

  • FlexSearch - Web's fastest and most memory-flexible full-text search library with zero dependencies.

  • cofx - Node and javascript library that helps developers describe side-effects as data in a declarative, flexible API.

  • Mercury Parser - Extracts the bits that humans care about from any URL you give it.

  • Refract - Harness the power of reactive programming to supercharge your components.

  • MemJS - Memcache client for node using the binary protocol and SASL authentication.

  • memfs - In-memory filesystem with Node's API.

  • Accounts - Fullstack authentication and accounts-management for GraphQL and REST.

  • Cleave.js - Format input text content when you are typing...

  • Unistore - Tiny 350b centralized state container with component bindings for Preact & React.

  • Ramda - Practical functional library for JavaScript programmers.

  • fromfrom - JS library written in TS to transform sequences of data from format to another.

  • Editor.js - Block-styled editor with clean JSON output.

  • ijk - Transforms arrays into virtual DOM trees.

  • Cleave.js - Format input text content when you are typing.

  • Oboe.js - Streaming approach to JSON. Oboe.js speeds up web applications by providing parsed objects before the response completes.

  • Choices.js - Vanilla JS customisable select box/text input plugin.

  • Shepherd - Guide your users through a tour of your app.

  • object-cull - Create a copy of an object with just the bits you actually need.

  • Sigma - JavaScript library dedicated to graph drawing.

  • interact.js - JavaScript drag and drop, resizing and multi-touch gestures with inertia and snapping for modern browsers.

  • flru - Tiny (215B) and fast Least Recently Used (LRU) cache.

  • Yup - Dead simple Object schema validation.

  • Lerna - Tool for managing JavaScript projects with multiple packages.

  • WikiJs - Wikipedia Interface for Node.js.

  • virtual-audio-graph - Library for declaratively manipulating the Web Audio API.

  • deep-object-diff - Deep diffs two objects, including nested structures of arrays and objects, and returns the difference.

  • Snarkdown - Snarky 1kb Markdown parser written in JavaScript.

  • Terser - JavaScript parser, mangler, optimizer and beautifier toolkit for ES6+.

  • AppAuthJS - JavaScript client SDK for communicating with OAuth 2.0 and OpenID Connect providers.

  • expr-eval - Mathematical expression evaluator in JavaScript.

  • robust-predicates - Fast robust predicates for computational geometry in JavaScript.

  • Sanctuary - JavaScript functional programming library inspired by Haskell and PureScript.

  • modali - Delightful modal dialog component for React, built from the ground up to support React Hooks.

  • Tweakpane - Compact GUI for fine-tuning parameters and monitoring value changes.

  • crocks - Collection of well known Algebraic Data Types for your utter enjoyment.

  • Just - Library of zero-dependency npm modules that do just do one thing.

  • nanoid - Tiny (139 bytes), secure, URL-friendly, unique string ID generator for JavaScript.

  • debug - Tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers.

  • roughViz.js - Reusable JavaScript library for creating sketchy/hand-drawn styled charts in the browser.

  • Mitt - Tiny 200 byte functional event emitter / pubsub.

  • RequireJS - File and module loader for JavaScript.

  • Zero - 3D graphics rendering pipeline. Implemented in JavaScript. Run in a terminal.

  • xstate-viz - Visualize state charts.

  • htmr - Simple and lightweight (< 2kB) HTML string to React element conversion library.

  • react-jsx-parser - React component which can parse JSX and output rendered React Components.

  • Static Land - Specification for common algebraic structures in JavaScript based on Fantasy Land.

  • sorted-queue - Sorted queue, based on an array-backed binary heap.

  • polendina - Non-UI browser testing for JavaScript libraries from the command-line.

  • agadoo - Check whether a package is tree-shakeable.

  • Fielder - React form library which adapts to change.

  • lemonad - Functional programming library for JavaScript. An experiment in elegant JS.

  • Mockttp - Lets you quickly & reliably test HTTP requests & responses in JavaScript, in both Node and browsers.

  • Flowy - Minimal javascript library to create flowcharts.

  • d3-dag - Layout algorithms for visualizing directed acyclic graphs.

  • renature - Physics-based animation library for React focused on modeling natural world forces.

  • Morphism - Do not repeat anymore your objects transformations.

  • Tonic - Stable, Minimal, Auditable, Build-Tool-Free, Low Profile Component Framework.

  • Quiet.js - Transmit data with sound using Web Audio -- Javascript binding for libquiet.

  • Bindery - Library for designing printable books with HTML and CSS.

  • Wretch - Tiny wrapper built around fetch with an intuitive syntax.

  • Virt.js - Free collection of useful standard devices, that can be used to power various engine that makes use of the exposed interfaces.

  • Path-to-RegExp - Turn a path string such as /user/:name into a regular expression.

  • Bacon.js - Functional reactive programming library for TypeScript and JavaScript.

  • GGEditor - Visual graph editor based on G6 and React.

  • fsm-as-promised - Finite state machine library using ES6 promises.

  • x-spreadsheet - Web-based JavaScript(canvas)spreadsheet.

  • IsoCity - Isometric city builder in JavaScript.

  • car - Simple 2d car physics with JavaScript. (HN)

  • Picomatch - Blazing fast and accurate glob matcher written in JavaScript.

  • react-isomorphic-data - Easily fetch data in your React components, with similar APIs to react-apollo.

  • klona - Tiny (228B) and fast utility to "deep clone" Objects, Arrays, Dates, RegExps, and more.

  • ScrollMagic - JavaScript library for magical scroll interactions.

  • GoJS - JavaScript and TypeScript library for building interactive diagrams and graphs.

  • Rete - JavaScript framework for visual programming and creating node editor. (HN)

  • Pre3d - JavaScript 3d rendering engine.

  • dancer.js - High-level audio API, designed to make sweet visualizations.

  • model-viewer - Easily display interactive 3D models on the web and in AR.

  • Spars - General toolkit for creating interactive web experiences.

  • NeuroJS - JavaScript deep learning and reinforcement learning library.

  • Hareactive - Purely functional reactive programming library.

  • Mirage JS - Client-side server to develop, test and prototype your JavaScript app.

  • dfa - State machine compiler with regular expression style syntax.

  • Jtree - Tree Notation TypeScript/Javascript library.

  • Hydra - Livecoding networked visuals in the browser.

  • p-queue - Promise queue with concurrency control.

  • gsheets - Get public Google Sheets as plain JavaScript/JSON.

  • alga-ts - Algebraic graphs implementation in TypeScript.

  • Chart.js - Simple HTML5 Charts using the tag. (Awesome)

  • on-change - Watch an object or array for changes.

  • clean-set - Deep assignment alternative to the object spread operator and Object.assign.

  • Uppload - Better JavaScript image uploader with 30+ plugins.

  • pino - Super fast, all natural JSON logger.

  • Orbit - Composable data framework for ambitious web applications.

  • panzoom - Universal pan and zoom library (DOM, SVG, Custom).

  • intl-tel-input - JavaScript plugin for entering and validating international telephone numbers.

  • three.js - JavaScript 3D library.

  • shortid - Short id generator. Url-friendly. Non-predictable. Cluster-compatible.

  • styx - Derives a control flow graph from a JavaScript AST.

  • Crossfilter - JavaScript library for exploring large multivariate datasets in the browser.

  • SiriWave - Apple Siri wave-form replicated in a JS library.

  • Shades - Lodash-inspired lens-like library for Javascript.

  • mxGraph - Fully client side JavaScript diagramming library.

  • cacache - Node.js library for managing local key and content address caches.

  • enhanced-resolve - Offers an async require.resolve function. It's highly configurable.

  • notevil - Evalulate javascript like the built-in javascript eval() method but safely.

  • react-digraph - Library for creating directed graph editors.

  • bent - Functional JS HTTP client (Node.js & Fetch) w/ async await.

  • CLUI - Collection of JavaScript libraries for building command-line interfaces with context-aware autocomplete.

  • cosha - Colorful shadows for your images.

  • Rambda - Faster and smaller alternative to Ramda.

  • MathJax - Open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all modern browsers.

  • Litepicker - Date range picker - lightweight, no dependencies.

  • core-js - Modular standard library for JavaScript.

  • timeago.js - Nano library (less than 2 kb) used to format datetime with *** time ago statement. eg: '3 hours ago'.

  • Serialize JavaScript - Serialize JavaScript to a superset of JSON that includes regular expressions, dates and functions.

  • Tippy.js - Tooltip, popover, dropdown, and menu library.

  • howler.js - JavaScript audio library for the modern web.

  • date-fns - Modern JavaScript date utility library.

  • Midi - Convert MIDI into Tone.js-friendly JSON.

  • face-api.js - JavaScript API for face detection and face recognition in the browser and nodejs with tensorflow.js.

  • Spotlight - Search widget for your web API.

  • Fuse - Lightweight fuzzy-search, in JavaScript.

  • Xterm.js - Terminal for the web.

  • Change Case - Convert strings between camelCase, PascalCase, Capital Case, snake_case and more.

  • ChronoGraph - Reactive, graph-based, computation engine.

  • Sprotty - Diagramming framework for the web.

  • prerender.js - Loads pages quickly on any browser.

  • on-finished - Execute a callback when a request closes, finishes, or errors.

  • ColorFns - Modern JavaScript color utilities library.

  • grapheme-splitter - JavaScript library that breaks strings into their individual user-perceived characters.

  • Web Animations - JavaScript implementation of the Web Animations API.

  • p-limit - Run multiple promise-returning & async functions with limited concurrency.

  • Highcharts JS - JavaScript charting library based on SVG.

  • μPlot - Small, fast chart for time series, lines, areas, ohlc & bars.

  • Baobab - JavaScript & TypeScript persistent and optionally immutable data tree with cursors.

  • emoji-regex - Regular expression to match all Emoji-only symbols as per the Unicode Standard.

  • MerkleTree.js - Construct Merkle Trees and verify proofs in JavaScript.

  • Snabbdom - Virtual DOM library with focus on simplicity, modularity, powerful features and performance.

  • Thwack - Tiny modern data fetching solution.

  • Regenerate - Generate JavaScript-compatible regular expressions based on a given set of Unicode symbols or code points.

  • Crank.js - Write JSX-driven components with functions, promises and generators. (Article) (Reddit) (HN)

  • redaxios - Axios API, as an 800 byte Fetch wrapper.

  • Math.js - Extensive math library for JavaScript and Node.js.

  • pixelmatch - Smallest, simplest and fastest JavaScript pixel-level image comparison library.

  • quilt - Loosely related set of packages for JavaScript / TypeScript projects at Shopify.

  • jsondiffpatch - Diff & patch JavaScript objects.

  • RVal - Minimalistic transparent reactive programming library.

  • orbit-controls - Generic controls for orbiting a target in 3D.

  • estree-walker - Traverse an ESTree-compliant AST.

  • Jitsi Meet API library - Can use Jitsi Meet API to create Jitsi Meet video conferences with a custom GUI.

  • isomer - Simple isometric graphics library for HTML5 canvas.

Last updated