Browse free open source JavaScript Libraries and projects below. Use the toggles on the left to filter open source JavaScript Libraries by OS, license, language, programming language, and project status.

  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • Stop Cyber Threats with VM-Series Next-Gen Firewall on Azure Icon
    Stop Cyber Threats with VM-Series Next-Gen Firewall on Azure

    Native application identity and user-based security for your Azure cloud

    Gain integrated visibility across all traffic in a single pass. Deploy Palo Alto Networks VM-Series to determine application identity and content while automating security policy updates via rich APIs.
    Get a free trial
  • 1
    Cancelable Async Flows

    Cancelable Async Flows

    Cancelable Async Flows (CAF)

    CAF (Cancelable Async Flows) is a small utility that brings cooperative cancellation to JavaScript async workflows. It wraps async generators or promise-returning functions so they can respond to a cancel signal and halt work early, preventing wasted CPU and stray side effects. The library encourages a disciplined pattern: pass a token into your task, periodically check it, and unwind gracefully when cancellation is requested. This approach avoids brittle timeouts and “fire-and-forget” leaks by making cancellation a first-class concern. CAF is framework-agnostic and pairs well with fetch, timers, or custom async primitives, giving you a consistent contract for stopping in-flight operations. The result is safer UI interactions and services that don’t keep doing work the user no longer needs.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    Chakra UI Vue

    Chakra UI Vue

    Build scalable and accessible Vue.js applications with ease.

    Build scalable and accessible Vue.js applications with ease. Chakra UI Vue gives you a set of accessible and composable Vue components that you can use to build your favorite applications and sites. Chakra UI strictly follows WAI-ARIA standards. All components come with proper attributes and keyboard interactions out of the box. Quickly and easily reference values from your theme throughout your entire application, on any component. Components were built with composition in mind. You can leverage any component to create new things.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    Chart.xkcd

    Chart.xkcd

    xkcd styled chart lib

    Chart.xkcd is a chart library plots “sketchy”, “cartoony” or “hand-drawn” styled charts. It’s easy to get started with chart.xkcd. All that’s required is the script included in your page along with a single <svg> node to render the chart. You can install chart.xkcd via script tag in HTML or via npm. Line chart displays series of data points in the form of lines. It can be used to show trend data, or comparison of different data sets. XY chart is used to plot points by specifying their XY coordinates. A bar chart provides a way of showing data values represented as vertical bars. A stacked bar chart provides a way of showing data values represented as vertical bars. Display labels near every line (default false). Customize tick numbers you want to see on the main line. You can change size of the dots if you want.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    Chartist.js

    Chartist.js

    Simple responsive charts

    You may think that this is just yet an other charting library. But Chartist.js is the product of a community that was disappointed about the abilities provided by other charting libraries. Of course there are hundreds of other great charting libraries but after using them there were always tweaks you would have wished for that were not included. Are you planning to use Chartist to create a nice Dashboard or Admin UI? Don't loose any time and kickstart your development using the awesome templates by Creative Tim. They include Chartist and come with awesome chart styles! Specifying the style of your chart in CSS is not only cleaner but also enables you to use awesome CSS animations and transitions to be applied to your SVG elements! Note that CSS3 animations on SVG CSS attributes are not supported on all browsers and the appearance may vary.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Go From AI Idea to AI App Fast Icon
    Go From AI Idea to AI App Fast

    One platform to build, fine-tune, and deploy ML models. No MLOps team required.

    Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
    Try Free
  • 5
    Chat UI Kit React

    Chat UI Kit React

    Build your own chat UI with React components in few minutes

    Build your own chat UI with React components in a few minutes. The Chat UI Kit from Chatscope is an open-source UI toolkit for developing web chat applications. Tired of struggling with sticky scrollbars, content editable, responsiveness, and CSS hacks? This kit is for you. Headless chat library, React hook for state management in chat applications.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    Chinese Poetry

    Chinese Poetry

    The most comprehensive database of Chinese poetry

    This repository is a curated collection of Chinese poems and poets organized into catalogs, metadata, and text representations suitable for research, creative and cultural use. It includes major dynastic corpora, such as Tang and Song poems, as well as biographical and categorization data. Each poem entry is structured with fields like author, dynasty, title, content, and sometimes annotations or alternate versions. Developers and scholars can build tools that query by author, era, keyword, or poetic form using the standardized data structure. Because the project is open, contributors improve metadata, correct text variants, and maintain consistency across classical collections. The corpus enables digital humanities, poetry apps, styling tools, and creative projects that intermix poems with translation, visualization, or musical settings.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    Chokidar

    Chokidar

    Minimal and efficient cross-platform file watching library

    Chokidar is a solution for all the users of Node.js fs.watch who are tired of it not reporting filenames on MacOS and events at all when using editors like Sublime on MacOS. Node.js fs.watch often reports events twice, emits most changes as rename, and it does not provide an easy way to recursively watch file trees nor supports recursive watching on Linux. Same as with Node.js fs.watchFile. Therefore, Chokidar resolves these problems. Initially made for Brunch (an ultra-swift web app build tool), it is now used in Microsoft's Visual Studio Code, gulp, karma, PM2, browserify, webpack, BrowserSync, and many others. It has proven itself in production environments. Chokidar does still rely on the Node.js core fs module, but when using fs.watch and fs.watchFile for watching, it normalizes the events it receives, often checking for truth by getting file stats and/or dir contents.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    ChromeAppHeroes

    ChromeAppHeroes

    Chinese manual for excellent Chrome plug-ins

    ChromeAppHeroes appears to be a repository with sample or template Chrome apps/extensions — perhaps intended to help developers learn how to build Chrome applications, quick prototypes, or small utilities. As such, it likely includes boilerplate code, manifest definitions, example UI components, and sample functionality (e.g. browser-action buttons, content scripts, background scripts) to illustrate how to structure a Chrome app. For learners or developers new to Chrome extension/app development, ChromeAppHeroes could serve as a starting kit: instead of starting from scratch, they can clone or fork the repo and immediately begin building features, thereby speeding up development. The repository’s open-source nature means users are free to adapt, extend, or repurpose the sample apps to their own needs — for example, privacy tools, quick productivity extensions, or custom browser tooling.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    Classnames

    Classnames

    A simple javascript utility for conditionally joining classNames

    Classnames is a minimal JavaScript utility that helps you construct CSS class strings based on conditional logic. Instead of manually concatenating strings, developers can pass any combination of strings, arrays, or objects, and the library will output a clean, space-separated class list. When you provide an object, the keys represent class names and the boolean values determine whether each class should be included in the final string. This reduces boilerplate and the risk of typos or stray spaces, especially in React, Vue, or other component-based UIs where dynamic styling is common. The utility is small and framework-agnostic, so it can be used in Node, browser code, or any bundler setup including Browserify and Webpack. It maintains backwards compatibility while evolving (for example, introducing polyfill requirements for older browsers in newer versions), and it ships with TypeScript bindings for better type safety.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Earn up to 16% annual interest with Nexo. Icon
    Earn up to 16% annual interest with Nexo.

    More flexibility. More control.

    Generate interest, access liquidity without selling, and execute trades seamlessly. All in one platform. Geographic restrictions, eligibility, and terms apply.
    Get started with Nexo.
  • 10
    Closure Library

    Closure Library

    Google's common JavaScript library

    The Closure Library is a broad, well-tested, modular, and cross-browser JavaScript library. You can pull just what you need from a large set of reusable UI widgets and controls, and from lower-level utilities for DOM manipulation, server communication, animation, data structures, unit testing, rich-text editing, and more. The Closure Library is server-agnostic and is intended for use with the Closure Compiler. The Closure Library serves as the base JavaScript library for many Google products. Now that the Closure Library is open source, more and more developers outside Google are integrating the library in their own projects. If you are developing a large or growing application, you may benefit from the Closure Library's breadth. A well-tested library can insulate you from cross-browser compatibility issues and the minutiae of client-side programming, letting you focus on the fun stuff.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    Common Litt

    Common Litt

    Simple java script library for auto literation, input tool.

    This project focuses of auto conversion in between language alphabets. Using this 'lit.js' library currently you can done conversion in between English - Tamil - Sinhala scrpits vise-versa. This is use full when you need to know how write something in an other given language. This is still at development stage but works purfectly and easy to customize as well. Live demo available at: http://commonlitt.42web.io/ For UI creations I had used Bootstrap and Jquery. For easy array creation using the text based dictionaries, I had used a c sharp program 'LangSeperator' . That is also available here.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    Complete JavaScript Course

    Complete JavaScript Course

    Starter files, final projects, and FAQ for Complete JavaScript course

    Complete JavaScript Course is the official code repository for Jonas Schmedtmann’s Complete JavaScript Course. It contains starter files, final project files, and frequently asked questions that support the video-based Udemy course. The material is organized by course sections, covering fundamentals, developer skills, DOM projects, JavaScript internals, data structures, functions, arrays, OOP, asynchronous JavaScript, modules, tooling, and larger final applications. Learners can start with the starter code and compare their work with the final versions when debugging. The repository also links to deployed examples of major projects such as Pig Game, Bankist, Mapty, and forkify. It is primarily an educational companion resource rather than a standalone software product.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    ConvNetJS

    ConvNetJS

    Deep learning in Javascript to train convolutional neural networks

    ConvNetJS is a Javascript library for training Deep Learning models (Neural Networks) entirely in your browser. Open a tab and you're training. No software requirements, no compilers, no installations, no GPUs, no sweat. ConvNetJS is an implementation of Neural networks, together with nice browser-based demos. It currently supports common Neural Network modules (fully connected layers, non-linearities), classification (SVM/Softmax) and Regression (L2) cost functions, ability to specify and train Convolutional Networks that process images, and experimental Reinforcement Learning modules, based on Deep Q Learning. The library allows you to formulate and solve Neural Networks in Javascript. If you would like to add features to the library, you will have to change the code in src/ and then compile the library into the build/ directory. The compilation script simply concatenates files in src/ and then minifies the result.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    Countable

    Countable

    Add live paragraph-, word- and character-counting to an HTML element

    Countable is a JavaScript function to add live paragraph-, word- and character-counting to an HTML element. Countable is a zero-dependency library and comes in at 1KB when minified and gzipped. Countable is available as a Node / CommonJS module, an AMD module and as a global. All methods are accessed on the Countable object directly. The on and count methods both accept a callback. The given callback is then called whenever needed with a single parameter that carries all the relevant data. this is bound to the current element.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    Crossfilter

    Crossfilter

    Fast n-dimensional filtering and grouping of records

    Crossfilter is a JavaScript library for exploring large multivariate datasets in the browser. Crossfilter supports extremely fast (<30ms) interaction with coordinated views, even with datasets containing a million or more records; we built it to power analytics for Square Register, allowing merchants to slice and dice their payment history fluidly. Since most interactions only involve a single dimension, and then only small adjustments are made to the filter values, incremental filtering and reducing is significantly faster than starting from scratch. Crossfilter uses sorted indexes (and a few bit-twiddling hacks) to make this possible, dramatically increasing the performance of live histograms and top-K lists. Crossfilter is available under the Apache License.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    This is a JavaScript library which gives the ability to use cryptographic functionality abstracted of available technologies on the browser side. It executes a cryptographic function with the fastest technology including Java, JavaScript and Flash.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    CubeScribe

    CubeScribe

    Render Rubiks Cube OLL and PLL Algorithm Diagrams with HTML5 & JS

    A simple JavaScript class that utilizes the HTML 5 canvas element to render the face diagrams often used to document Rubik's Cube algorithms.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    CyC2018.github.io

    CyC2018.github.io

    Personal knowledge site built with GitHub Pages

    This is a personal knowledge site built with GitHub Pages, organizing computer science notes and study materials in a browsable format. It aggregates content across algorithms, data structures, networking, operating systems, databases, and interview preparation into a coherent index. The presentation emphasizes succinct explanations paired with diagrams, tables, or code snippets to speed recall. Because the site is generated from a repository, it benefits from issue tracking, pull requests, and version history, making it easy to update and maintain. The structure encourages incremental learning: you can dip into a topic, follow internal links, and return later with a clear sense of progress. It doubles as both a study guide for learners and a quick reference for practitioners revisiting fundamentals.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    D-Parts Web Application Framework
    D-Parts es un framework para Aplicaciones Web, netamente en lenguaje PHP, con acceso a bases de datos MySQL.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    DOMtastic

    DOMtastic

    Small, fast, and modular DOM and event library for modern browsers

    Small, fast, and modular DOM and event library for modern browsers. Same familiar API as jQuery (but without the extra "weight" of modules like $.ajax, $.animate, and $.Deferred). Dependency-free. Weighs in at only 1KB to 12KB (minified), depending on the included modules. The full bundle is about 4KB gzipped. DOMtastic also serves as a starting point for your own application-specific DOM API (read more). Rollup and babel are used to create a UMD bundle (supporting AMD, CommonJS, and fallback to browser global).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    Darkmode.js

    Darkmode.js

    Add a dark-mode / night-mode to your website in a few seconds

    Darkmode.js is a lightweight JavaScript library that enables websites to easily implement a dark mode toggle. It provides a floating switch for users to switch between light and dark themes without requiring major modifications to the website’s codebase.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    "Datizo" stands for "DAte TIme ZOne". It is a Unix command-line utility which reads a date in ISO 8601 format and computes various data from it. The program is written in two languages the "D programming language" [NOT AVAILABLE YET] and Javasc
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23

    Device Motion Gesture for JavaScript

    JavaScript library for recording and recognising device gestures.

    A JavaScript library for detecting gestures made by the user whilst holding their mobile device. The software converts the continual stream of motion readings into distinct gesture events. All you need to do is attach event-handlers to the gestures. Your functions get called when the user makes the gesture with the device. The library comes with some pre-recorded gestures. You can also record your own custom gestures using the recorder application. NOTE: This library recognises gestures made by moving the hand-held device in your hand. It does not recognise gestures from video or images.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    Dragula

    Dragula

    Drag and drop so simple it hurts

    Dragula is a lightweight JavaScript library that makes drag-and-drop between containers in the browser extremely simple. You provide one or more container elements and it handles all the DOM event wiring so users can drag items within and between containers with natural behavior. By default, any element in those containers can be picked up and dropped in any other container in the group, with sensible rules for what happens if the item is dropped elsewhere. The library includes configuration hooks for customizing what counts as a valid container, whether items are movable, where they can be dropped, and how they behave when “spilled” outside of containers. It works across modern browsers and even older ones, focusing on minimal dependencies and a straightforward API. The included CSS gives you a basic visual style for dragged items and placeholder states, while still being easy to override with your own styles.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    Dumper.js

    Dumper.js

    A better and pretty variable inspector for your Node.js applications

    Dumper.js is a small JavaScript utility for pretty-printing or serializing JavaScript objects and data structures in a human-readable, tree-like format — useful for debugging, logging, or inspecting complex nested data. When you pass an object (or array, or nested structure) through dumper.js, it outputs a representation that shows keys, nested depth, and structure clearly, making it easier to understand what’s inside compared to default JSON dumps or console.log clutter. This can be especially helpful when dealing with large objects, deeply nested responses, or when you need to inspect something quickly without building custom serializers. The utility is minimal and straightforward: you import it, pass your data, and get the result. Because it doesn’t rely on heavy dependencies, it can be easily included in small scripts or bigger projects alike.
    Downloads: 0 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB