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.

  • $300 Free Credits for Your Google Cloud Projects Icon
    $300 Free Credits for Your Google Cloud Projects

    Start building on Google Cloud with $300 in free credits. No commitment, no credit card required until you're ready to scale.

    Launch your next project with $300 in free Google Cloud credits—no strings attached. Test, build, and deploy without risk. Use your credits across the entire Google Cloud platform to find what works best for your needs. After your credits are used, continue with always-free tier services. Only pay when you're ready to scale. Sign up in minutes and start exploring.
    Start Free Trial
  • Train ML Models With SQL You Already Know Icon
    Train ML Models With SQL You Already Know

    BigQuery automates data prep, analysis, and predictions with built-in AI assistance.

    Build and deploy ML models using familiar SQL. Automate data prep with built-in Gemini. Query 1 TB and store 10 GB free monthly.
    Try Free
  • 1
    SelectPage

    SelectPage

    A simple style and powerful selector, including ajax remote data

    A simple style and powerful selection jQuery plugin, including ajax remote data, autocomplete, pagination, tags, i18n and keyboard navigation features.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    SendGrid Node.js Library

    SendGrid Node.js Library

    The Official Twilio SendGrid Led, Community Driven Node.js API Library

    The SendGrid Node.js Library provides a simple interface for sending emails through SendGrid's API, enabling developers to integrate email functionalities into Node.js applications.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    The Shim jQuery plug-in extends jQuery with methods for dynamically adding and removing an iframe behind an element in order that it my appear in front of browser plug-ins such as Adobe Reader.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    Shoestring

    Shoestring

    A lightweight, simple DOM utility made to run on a tight budget.

    Shoestring is a lightweight, modular DOM framework intended for developers who need their code to download and run as fast as possible. It is intended to be "just enough" of a tool to efficently write maintainable cross-browser JavaScript. The API is modeled after jQuery but we intentionally implement a tiny subset of the API to cover only the methods we commonly need in our projects. Each feature is built as an optional extension to a minimal core so each can be removed from the production build (dependencies between extensions are rare). The selector engine delegates to modern browsers' native document.querySelectorAll (IE8) and addEventListener (IE9), which means it requires browsers that support those features. For projects that require deeper compatibility or a richer set of features, it is simple to swap in jQuery instead. As a rule, anything that works with Shoestring should work with jQuery, but not the converse.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 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
  • 5
    Signale Library

    Signale Library

    Highly configurable logging library

    Signale is a highly configurable logging library for Node.js applications and packages. It is designed for logging, status reporting, and output rendering in command-line tools and developer workflows. The library provides many default logger types so teams can express states like success, warning, pending, debug, fatal, and completion without building their own formatters. It is also deeply customizable, allowing custom logger types, scopes, streams, labels, badges, colors, and log levels. Signale includes practical features such as timers, sensitive information filtering, string interpolation, TypeScript support, and package-level configuration. Its main value is making terminal output cleaner, more structured, and easier to adapt to different projects.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    Simple Remoting
    This project is retired and moved into the Corn Gate project. Please switch to https://sourceforge.net/projects/corn-gate.corn.p/ link for the project. Simple Remoting is an alternative SOA library which uses JSON instead of XML as its messaging format. Converting popular java object types like POJO, Spring and EJB to services can be done within minutes without any code change on existing classes.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    Simple-Jekyll-Search

    Simple-Jekyll-Search

    A JavaScript library to add search functionality to any Jekyll blog

    A JavaScript library to add search functionality to any Jekyll blog. You have a blog, built with Jekyll, and want a lightweight search functionality on your blog, purely client-side? No server configurations or databases to maintain. Just 5 minutes to have a fully working searchable blog.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    SiriWave

    SiriWave

    The Apple® Siri wave-form replicated in a JS library

    The "Apple Siri" wave is replicated in pure Javascript using the Canvas API. To learn more about the project, read the blog post, and check the demo or code pen. Import the UMD package via the unpkg CDN and it's ready to use. Create a div container and instantiate a new SiriWave object. Stop the animation and destroy the canvas, by removing it from the DOM. Subsequent start() calls on this SiriWave instance will fail with an exception.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    Slinky

    Slinky

    A light-weight, responsive, mobile-like navigation menu plugin

    A light-weight, responsive, mobile-like navigation menu plugin
    Downloads: 0 This Week
    Last Update:
    See Project
  • Build Agents and Models on One Platform Icon
    Build Agents and Models on One Platform

    Everything you need to build production-ready agents and models. Access 200+ Google and third-party AI models and tools.

    Gemini Enterprise Agent Platform is Google Cloud's comprehensive platform for developers to build, scale, govern, and optimize agents and models. Choose from Google's most advanced models and third-party models like Anthropic's Claude Model Family.
    Try It Free
  • 10
    Smoothie Charts

    Smoothie Charts

    Smooth JavaScript charts for realtime streaming data

    Smoothie Charts is a small JavaScript charting library built for real-time streaming data. It focuses on smooth live updates instead of charts that visibly jump every time new data arrives. Developers can create a TimeSeries object, attach it to a SmoothieChart, and stream the chart into an HTML canvas element. Data points can be appended continuously, making it useful for dashboards, monitoring tools, server metrics, sensors, and other live feeds. The project includes examples, documentation, an interactive builder, and installation options through npm, Yarn, Bower, or direct JavaScript usage. Overall, it is a lightweight option for adding fluid, browser-based streaming charts.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    Snap.js

    Snap.js

    A Library for creating beautiful mobile shelfs in Javascript

    A Library for creating beautiful mobile shelfs in Javascript. As standalone just include the file in a script tag. The slide intent is an int between 0 and 90, and represents the degrees in the first quadrant of a circle that you would like to have mirrored on the X and Y axis. For example, if you have 40 set as your slideIntent value, the user would only be able to slide the pane by dragging in the blue area in the diagram below. Once intent has been defined, it will not change until the user releases. CSS3 Powered Animations with IE fallbacks, drag support, drag handle support. Programatic API, "No-Drag" elements, and definable easing mode. Enable/disable events, disabled sides (left or right). It supports Ratchet (with templates!). Because of the nature of this code, drawers are just kind of stacked behind the content. To bring the proper drawer to the front, you can hook into Snaps.js' CSS classes.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    Solved by Flexbox

    Solved by Flexbox

    A showcase of problems once hard or impossible to solve with CSS

    Solved by Flexbox is a collection of layout patterns that demonstrates how CSS Flexbox elegantly resolves classic web design problems. It tackles everyday challenges—vertical centering, equal-height columns, sticky footers, fluid media, and responsive grids—showing concise, production-ready CSS instead of elaborate hacks. Each pattern is presented with plain HTML, clear commentary, and minimal styling, making the underlying technique easy to adapt and extend. The project emphasizes progressive enhancement and calls out where fallbacks or browser caveats may apply, reflecting the realities of shipping layouts on the web. Even as CSS Grid gained traction, the patterns remain a practical reference for component-level alignment and one-dimensional layouts where Flexbox excels. As a teaching resource, it has helped countless developers internalize Flexbox mental models and replace brittle layout tricks with robust, modern CSS.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    Source Map Support

    Source Map Support

    Adds source map support to node.js (for stack traces)

    Source Map Support is a Node.js module that enhances stack traces for transpiled or bundled JavaScript by resolving them back to the original source files using source maps. When code is compiled from TypeScript, CoffeeScript, Babel, or bundlers like Webpack, errors normally point to the generated code; this module intercepts V8’s stack trace API and remaps paths and line numbers to their original locations. The output closely mimics Node’s native stack format, so it feels like standard stack traces—but with your original source filenames and line numbers instead of opaque build artifacts. It’s designed to be easy to enable: you can require it programmatically or load it via a register hook so that all subsequent errors benefit. Because it relies on the source-map library, it works across a wide range of build systems that emit standard source maps.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14

    Speedy Composer

    Speedy Composer – Artificial Neural Network Melody Composer.

    Thank you for your interest in Speedy Composer. Speedy Composer is an automated application for composing melodies for Speedy Net members. We recently made changes to the source code of Speedy Net, and converted it into the Python language and Django framework. Since Speedy Composer was originally written in PHP, it is not adapted to work with Speedy Net in its current form. So unfortunately we were forced to temporarily close the app Speedy Composer. But don't worry, we kept backups of all the tunes composed by Speedy Composer, and when the website is reopened we will upload them to the new site. Speedy Composer and Speedy Net are open source applications, free software. We are currently looking for volunteers to help us convert Speedy Composer to Python. If you are interested in volunteering, please contact me by email. Thank you and good luck, Uri Rodberg Founder and Director of Speedy Net and Speedy Composer, Speedy Paz Technologies Ltd. uri@speedy.net
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    State Transition Plugin for Phaser

    State Transition Plugin for Phaser

    State transition plugin for Phaser.js

    Phaser State Transition is a plugin that facilitates smooth transitions between game states in Phaser. It allows developers to define custom animations and easing functions when switching scenes, enhancing the visual flow of games.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    StatechartJS

    StatechartJS

    Statechart implementation in JavaScript.

    Hierarchical state machines implementation in JavaScript heavily inspired by the QP active object framework, see http://www.state-machine.com/. See the README file for details. The implementation is JavaScript engine agnostic and works both in browsers and in NodeJS.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    Sticky Sidebar

    Sticky Sidebar

    Pure JavaScript tool for making smart and high performance bar

    Sticky Sidebar ⬆⬇ is a pure JavaScript plugin for making smart and high-performance sticky sidebar, works with the sidebar if it’s taller or shorter than the viewport, is integrated with a resize sensor to re-calculate the dimensions automatically when the size of the sidebar or its container is changed, supports jQuery/Zepto and compatible with Firefox, Chrome, Safari, and IE9+. The source can be found on GitHub.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    Subspace

    Subspace

    Library for Reactive Dapp Development with auto syncing

    Subspace is a framework agnostic JS library that embraces reactive programming with RxJS, by observing asynchronous changes in Smart Contracts, and providing methods to track and subscribe to events, changes to the state of contracts and address balances, and react to these changes and events via observables. Subspace also takes care of syncing under the hood, saving & loading the state in a local database. Methods are provided to track and subscribe to events, contract & state balances, and react to changes via observables. No matter your favorite JS framework, you can use Subspace to simplify your development process. It works with React or Angular in the browser, and of course plays well with nodejs. Subspace saves state to a local database ensuring your dApp always syncs from the last known point, even after reload.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    Substance.js

    Substance.js

    A JavaScript library for web-based content editing

    A JavaScript library for web-based content editing. Substance is a JavaScript library for web-based content editing. It provides building blocks for realizing custom text editors and a web-based publishing systems. It is developed to power our online editing platform Substance. The test suite is rebuilt as you make changes to the source files.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    Sugar

    Sugar

    A Javascript library for working with native objects

    A straightforward API makes Sugar very easy to pick up and start using. Custom builds and modularized npm packages let you use only what you need. Users can define methods or use plugins to handle specialized use cases. The date module parses, formats, and manipulates dates and supports many locales. Sugar blends in with native methods, and defers to their implementations when possible. A comprehensive polyfill suite patches browser support when it is broken or missing. As of v2.0, native extension has become opt-in while supporting two new ways of interacting with the library. Sugar still believes in the safe extension of natives, however there are times when this is not appropriate, and this choice is now put in the hands of the user. Custom browser builds can be created on the site download page. In addition, tools like Browserify can also be used to create custom builds, as npm packages are now fully modular.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    Sulla

    Sulla

    Javascript Whatsapp API library for chatbots

    Sulla is a javascript library that provides a high-level API control to Whatsapp so it can be configured to automatize responses or any data that goes through Whatsapp effortlessly. As of version 2.3.5 it seems that sulla has reached a very rich and stable functionality and architecture. As much as I would love to, I cannot dedicate a lot of time to this project so please consider checking out forked versions of sulla where other developers can dedicate more time and support to it. After executing create() function, sulla will create an instance of WhatsApp web. If you are not logged in, it will print a QR code in the terminal. Scan it with your phone and you are ready to go! Sulla will remember the session so there is no need to authenticate every time. By default QR code will appear on the terminal. The decryption is being done as fast as possible (outruns native methods). Supports big files!
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    SuperAgent

    SuperAgent

    Ajax for Node.js and browsers (JS HTTP client)

    SuperAgent is light-weight progressive ajax API crafted for flexibility, readability, and a low learning curve after being frustrated with many of the existing request APIs. It also works with Node.js! Small progressive client-side HTTP request library, and Node.js module with the same API, supporting many high-level HTTP client features. Browser-ready versions of this module are available via jsdelivr, unpkg, and also in the node_modules/superagent/dist folder in downloads of the superagent package. If you are using browserify, webpack, rollup, or another bundler, then you can follow the same usage as Node. SuperAgent is easily extended via plugins. The Node client supports making requests to Unix Domain Sockets. DELETE, HEAD, PATCH, POST, and PUT requests can also be used, simply change the method name. Absolute URLs can be used. In web browsers absolute URLs work only if the server implements CORS.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    Superfine

    Superfine

    Absolutely minimal view layer for building web interfaces

    Superfine is a minimal view layer for building web interfaces. Think Hyperapp without the framework—no state machines, effects, or subscriptions, just the absolute bare minimum (1 kB minified+gzipped). Mix it with your favorite state management library or use it standalone for maximum flexibility. When describing how a page looks in Superfine, we don't write markup. Instead, we use the h() and text() functions to create a lightweight representation of the DOM (or virtual DOM for short), and patch() to actually render the DOM. Superfine won't re-create the entire DOM every time we use patch(). By comparing the old and new virtual DOM we are able to change only the parts of the DOM that need to change instead of rendering everything from scratch.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    SurveyJS

    SurveyJS

    JavaScript Survey and Form Library

    SurveyJS Form Library is distributed as npm packages and as scripts and style sheets that you can reference on your page. You can use it in any React, Angular, Vue, Knockout, or jQuery application. React, Angular, Knockout, and Vue3 are supported natively. To communicate with the server, the libraries use JSON objects that represent form schemas (content and layout of a form) and form results (answers). You have the option to build dynamic JSON-driven forms using our free full-featured form builder demo available on the website. Alternatively, you can integrate the form builder library and create forms using a drag-and-drop UI directly within your own application. With years of development and support behind us, we've assisted hundreds of companies across various industries. With Survey, you can create nearly anything that popular cloud services offer. Furthermore, our library is fully extensible, allowing you to modify its behavior to suit your specific needs.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    Svelte forms lib

    Svelte forms lib

    A lightweight library for managing forms in Svelte

    Svelte Forms lib is a Formik-inspired library for building forms easily in a Svelte project. When building modern web applications forms often play a big part in it. We use forms to log in, place orders, book flights and perform other data-entry tasks. In developing a form, it's important to create a flow that guides the user efficiently and effectively through the workflow. This library helps you build forms by exposing an easy API for form creation, validation and submission.
    Downloads: 0 This Week
    Last Update:
    See Project