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.

  • Fully Managed MySQL, PostgreSQL, and SQL Server Icon
    Fully Managed MySQL, PostgreSQL, and SQL Server

    Automatic backups, patching, replication, and failover. Focus on your app, not your database.

    Cloud SQL handles your database ops end to end, so you can focus on your app.
    Start Free
  • Veeam Data Platform v13.1 Icon
    Veeam Data Platform v13.1

    Move workloads across hypervisors and clouds with no vendor lock-in. Try VDP free today.

    Try Veeam Data Platform today. Experience the unified platform that's secure by design, portable by default, and proven to recover clean, fast, and anywhere.
    Try Now
  • 1
    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
  • 2
    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
  • 3
    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
  • 4
    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
  • 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.
    Start Free
  • 5
    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
  • 6
    Simplify.js

    Simplify.js

    High-performance JavaScript polyline simplification library

    Simplify.js is a compact high-performance JavaScript library for reducing the number of points in polylines while preserving their overall shape. It was extracted from Leaflet and is designed for geometry-heavy mapping and visualization workloads. The implementation first uses a fast radial-distance pass unless highest-quality mode is requested. It then applies the Ramer-Douglas-Peucker algorithm for more accurate simplification. A configurable tolerance controls how aggressively points are removed. The library works in browsers, workers, AMD environments, and Node.js with a very small codebase. Ports also exist in several other programming languages.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    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
  • 8
    Sizzle

    Sizzle

    A sizzlin' hot selector engine

    A pure-JavaScript CSS selector engine designed to be easily dropped in to a host library. Browser support may differ between standalone Sizzle and libraries that include Sizzle. Please report issues on Sizzle's issue tracker, rather than the trackers for disparate libraries. In order to build Sizzle, you should have Node.js/npm latest and git 1.7 or later (earlier versions might work OK, but are not tested). For Windows you have to download and install git and Node.js. Mac OS users should install Homebrew. Once Homebrew is installed, run brew install git to install git, and brew install node to install Node.js. Linux/BSD users should use their appropriate package managers to install git and Node.js, or build from source if you swing that way. Workarounds for Internet Explorer 6 are still in the code but the browser is no longer actively tested. Sizzle supports virtually all CSS 3 Selectors, including escaped selectors (.foo\+bar), Unicode selectors, and more.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    SlimMVC.js

    SlimMVC.js

    Your Slim MVC JavaScript

    A simple JavaScript framework to implement MVC pattern and safe against XSS attacks using nodeValue property rather innerHTML.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Cut Data Warehouse Costs by 54% Icon
    Cut Data Warehouse Costs by 54%

    Easily migrate from Snowflake, Redshift, or Databricks with free tools.

    BigQuery delivers 54% lower TCO with exabyte scale and flexible pricing. Free migration tools handle the SQL translation automatically.
    Start 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
    Spectacle

    Spectacle

    A ReactJS based Presentation Library

    Spectacle is an open source presentation library based on React.js. It lets you create sleek presentations using JSX syntax, giving you the ability to live demo your code. Spectacle’s presentations are lively and interactive, with clickable elements, themes, custom backgrounds, animations, and many other fun and unique elements you can add to make your presentations pop. With Spectacle you can also live demo your code in real time without having to leave the presentation deck. Code blocks conveniently auto-size and scroll when there is an overflow of content. See the live demo deck at: https://raw.githack.com/FormidableLabs/spectacle/main/examples/one-page.html
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15

    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
  • 16
    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
  • 17
    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
  • 18
    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
  • 19
    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
  • 20
    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
  • 21
    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
  • 22
    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
  • 23
    SunCalc

    SunCalc

    A tiny JavaScript library for calculating sun/moon positions

    SunCalc is a tiny dependency-free JavaScript library for calculating solar and lunar information for any location and time. It provides sun altitude and azimuth together with sunrise, sunset, twilight, and other sunlight phases. Moon calculations include position, rise and set times, distance, and illuminated phase. Version 2 rebuilt the astronomy around higher-order models from Jean Meeus and validates results against authoritative astronomical references. Typical rise and set errors are around 15 seconds, with substantially improved positional accuracy over the earlier release. It ships as a modern ES module while retaining bundled support for CommonJS and direct browser use.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    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
  • 25
    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