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.

  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Try Free
  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Get Started Free
  • 1
    Bootstrap Table

    Bootstrap Table

    Extended table to integration with some of the most widely used CSS

    Include Bootstrap Table source CSS and JavaScript files via npm or yarn. When you only need to include Bootstrap Table’s compiled CSS or JS, use UNPKG. Download Bootstrap Table to get the compiled CSS and JavaScript, source code, or include it with your favorite package managers like npm, bowser, and more. Install and manage Bootstrap table’s CSS, JavaScript, locales, and extensions using npm. Install and manage Bootstrap table’s CSS, JavaScript, locales, and extensions using bower. Be sure to have your pages set up with the latest design and development standards. That means using an HTML5 doctype and including a viewport meta tag for proper responsive behaviors. Bootstrap Table requires the use of the HTML5 doctype. Without it, you’ll see some funky incomplete styling, but including it shouldn’t cause any considerable hiccups.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    BottomSheetPickers

    BottomSheetPickers

    Third-party date and time pickers for Android

    BottomSheetPickers is an Android UI library that provides alternative date and time picker components designed to replace the default system pickers with a more modern bottom sheet interface. It supports Android API level 14 and above, making it compatible with a wide range of devices, including older versions of Android. The library includes multiple picker styles such as number pad time pickers and grid-based pickers, offering different interaction models depending on the use case. These pickers are implemented as dialog fragments, allowing them to integrate smoothly into existing Android applications while maintaining lifecycle awareness. The library is built on top of Android support libraries and can be customized through various configuration options such as themes, callbacks, and builder patterns. Developers can easily handle user input through listener interfaces, enabling flexible integration with application logic.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    Britecharts

    Britecharts

    Composable Charting Library based on reusable D3.js components

    Britecharts is a client-side reusable Charting Library based on D3.js v5 that offers easy and intuitive use of charts and components that can be composed together to create amazing visualizations. Britecharts components have been written in ES2016 with a Test Driven methodology, so they are fully tested, and we are committed to keeping them that way. The typical use of Britecharts involves creating a chart using its simple API, then rendering it on a container that has previously had data applied to it. All the components expose some common API methods like width, height, and margin. Additionally, each chart or component can expose specific methods you can find in the documentation. Britecharts components are distributed in UMD modules, each one exposing a D3.js component written with the Reusable API pattern. To use any of the Britecharts modules, you will need to require the chart in your JS file using AMD/CommonJS modules or adding a script tag with the src pointing to the file.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    Buckets

    Buckets

    A complete, fully tested and documented data structure library

    A complete fully tested and documented data structure library written in pure JavaScript. Buckets also includes several functions for manipulating arrays. A bag is a special kind of set in which members are allowed to appear more than once. Binary search trees keep their elements in sorted order, so that lookup and other operations can use the principle of binary search. Dictionaries map keys to values, each key can map to at most one value. A heap is a binary tree that maintains the heap property. Every node is less than or equal to each of its children. A linked list is a sequence of items arranged one after another. A multi dictionary is a special kind of dictionary that holds multiple values against each key. In a priority queue, each element is associated with a "priority", and elements are dequeued in the highest-priority-first order (the elements with the highest priority are dequeued first).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 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
  • 5
    Buttons 2.0

    Buttons 2.0

    A CSS button library built using Sass and Compass

    Buttons is a highly customizable production ready mobile web and desktop css button library. Buttons is a free open source project created using Sass. View the showcase demo to see the buttons in action. The showcase provides a full list of examples along with code snippets to speed up development. If you're using Bower you can run bower install Buttons. Buttons styles are now independent (ex. button-flat, button-3d, etc.). You can apply these styles and they will automatically pick up the color attached to the button (ex. button-primary button-3d). Button colors are now completely independent (ex. button-primary). We no longer have classes like button-flat-primary, so to achieve this you now simply add button-flat button-primary. To edit Buttons simply change values within the _options.scss file. After you make your edits recompile your sass file and your changes will get processed.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    C++ Airline Inventory Management Library
    That project aims at providing a clean API and a simple implementation, as a C++ library, of an Airline-related Inventory Management system. That library uses the Standard Airline IT C++ object model (http://sf.net/projects/stdair).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    C++ Standard Airline IT Object Library
    That project aims at providing a clean API, and the corresponding C++ implementation, for the basis of Airline IT Business Object Model (BOM), ie, to be used by several other Open Source projects, such as RMOL, Air-Sched, Travel-CCM, OpenTREP, etc.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    C3.js

    C3.js

    A D3-based reusable chart library

    C3 makes it easy to generate D3-based charts by wrapping the code required to construct the entire chart. We don't need to write D3 code any more. C3 gives some classes to each element when generating, so you can define a custom style by the class and it's possible to extend the structure directly by D3. C3 provides a variety of APIs and callbacks to access the state of the chart. By using them, you can update the chart even after it's rendered. C3 enables deeper integration of charts into your application. Because of the dependence on D3, C3 supports only modern browsers D3 supports. For IE9 and IE10, polyfill is required because c3 uses MutationObserver, which is not supported in those versions. However, it's not required if charts always will be binded to the DOM specified by bindto because MutationObserver is not called in that case.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    CF Workers Status Page

    CF Workers Status Page

    Monitor your websites, showcase status including daily history

    Monitor your websites, showcase status including daily history, and get Slack notifications whenever your website status changes. Using Cloudflare Workers, CRON Triggers, and KV storage.
    Downloads: 0 This Week
    Last Update:
    See Project
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New to Google Cloud? Get $300 in credits to explore Compute Engine, BigQuery, Cloud Run, Gemini Enterprise Agent Platform, and more.

    Start your next project with $300 in free Google Cloud credit. Spin up VMs, run containers, query petabytes in BigQuery, or build agents with Gemini Enterprise Agent Platform. Once your credits are used, keep building with 20+ always-free tier products including Compute Engine, Cloud Storage, GKE, and Cloud Run functions. No commitment required—just sign up and start building.
    Claim $300 Free
  • 10
    CHAP Links Library is a web based visualization library for displaying graphs, networks, and timelines. The tools are developed as Google Visualization Charts for Javascript and GWT. Links Library is part of CHAP, the Common Hybrid Agent Platform. This project has been moved to Github. Please visit http://almende.github.com/chap-links-library/
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    CSSgram

    CSSgram

    CSS library for Instagram filters

    Simply put, CSSgram is a library for editing your images with Instagram-like filters directly using CSS. What we're doing is adding filters to the images, as well as applying color and/or gradient overlays via various blending techniques to mimic filter effects. This means less manual image processing and more fun filter effects on the web! We are using pseudo-elements (i.e. :before and :after) to create the filter effects, so you must apply these filters on a containing element (i.e. not a content-block like <img>. The recommendation is to wrap your images in a <figure> tag. If you use custom naming in your CSS architecture, you can add the .scss files for the provided styles within your project and then @extend the filter effects within your style definitions. Mixins allow for multiple filter arguments to be passed into your classes. This is useful for if you want to add filters in addition to the ones provided (i.e. add a blur).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    A lightweight JavaScript calendar widget for the Prototype framework with an emphasis on standards-compliance and current best practices.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    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
  • 14
    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
  • 15
    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
  • 16
    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
  • 17
    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
  • 18
    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
  • 19
    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
  • 20
    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
  • 21
    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
  • 22
    Complete Node Bootcamp

    Complete Node Bootcamp

    Starter files, final projects and FAQ for my Complete Node.js Bootcamp

    Complete Node Bootcamp is the official course-material repository for Jonas Schmedtmann’s Complete Node.js, Express, and MongoDB Bootcamp. It contains starter files, finished project files, and course support material for building backend applications with JavaScript. The repository is centered on practical server-side development, including Node.js fundamentals, Express APIs, MongoDB data modeling, authentication, security, payments, deployment, and real-world backend architecture. Learners can use the starter files to follow the lessons and compare their code with the final versions when something breaks. It also includes slides and FAQ-style guidance to make the course easier to navigate. The project is best understood as a hands-on educational workspace for learning production-minded Node.js development.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    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
  • 24
    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
  • 25
    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