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.

  • 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
  • $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
  • 1
    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
  • 2
    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
  • 3
    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
  • 4
    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
  • 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
    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
  • 6
    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
  • 7
    "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
  • 8
    DevExtreme

    DevExtreme

    HTML5 JavaScript Component Suite for Responsive Web Development

    DevExtreme is a comprehensive, enterprise-grade JavaScript UI component suite developed by DevExpress, designed to help developers build highly interactive, data-driven web applications across multiple frontend frameworks. It supports major ecosystems such as Angular, React, Vue, and jQuery, allowing teams to maintain consistency while working across different stacks. The library includes more than 80 components covering data grids, charts, schedulers, forms, editors, and navigation elements, making it suitable for complex business applications like dashboards, CRM systems, and SaaS platforms. A key strength of DevExtreme is its built-in data layer, which enables efficient handling of large datasets, real-time updates, and server-side operations such as filtering and sorting. The components are responsive and accessible, ensuring compatibility across devices, screen sizes, and assistive technologies.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9

    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
  • 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.
    Try Free
  • 10
    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
  • 11
    Ducks

    Ducks

    A starter boilerplate for a universal webapp

    Ducks Modular Redux is a proposal for organizing Redux logic into self-contained feature modules. Each duck keeps a reducer, action types, action creators, and optional side effects in one file instead of scattering them across folders. The convention requires a default reducer export and named action-creator exports. Action types use a namespaced format that includes the application or package, reducer name, and action name. This structure makes features easier to move, reuse, publish, and reason about independently. Ducks remain compatible with combineReducers, bindActionCreators, thunks, sagas, and other common Redux patterns. The repository documents the rules, provides examples, includes translations, and points to libraries and generators inspired by the proposal.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    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
  • 13
    ELADMIN-WEB

    ELADMIN-WEB

    front-end source code, project based on Spring Boot 2.7.18

    ELADMIN-WEB is the front-end source code for the ELADMIN JPA admin system. It is built around Vue and Element UI for a separated front-end and back-end management platform. The broader ELADMIN stack connects with Spring Boot, Spring Data JPA, Spring Security, Redis, and other back-end services. The web project provides the administrative interface that users interact with for system management tasks. It is useful for developers who want a ready-made Vue admin template tied to a Java enterprise back end. Overall, it serves as the UI layer for building permission-based dashboards, CRUD screens, operational tools, and internal management systems.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    ES6 Shim

    ES6 Shim

    ECMAScript 6 compatibility shims for legacy JS engines

    ES6 Shim is a JavaScript compatibility library that adds ECMAScript 6 behavior to older JavaScript engines where possible. It provides polyfills and shims so legacy environments can run code that expects newer standard features. The project covers many ES6 APIs and attempts to align older browsers with the final ECMAScript 2015 specification. It is useful for applications that need broader browser support while still using modern JavaScript patterns. The library is distributed through common JavaScript package workflows and can be included in projects that target older runtimes. Although modern browsers have reduced the need for it, es6-shim remains an important historical and practical tool for compatibility-focused web development.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    Earth Engine API

    Earth Engine API

    Python and JavaScript bindings for calling the Earth Engine API

    The Earth Engine API provides Python and JavaScript client libraries for Google Earth Engine, a planetary-scale geospatial analysis platform. With it, users compose lazy, server-side computations over massive catalogs of satellite imagery and vector datasets without handling raw files locally. The API exposes functional operators for map algebra, reducers, joins, and machine learning that scale transparently on Earth Engine’s backend. Developers authenticate once, work interactively in notebooks or the Code Editor, and export results to Cloud Storage, Drive, or asset collections. Visualization helpers render tiled layers and charts so analysts can iterate quickly on workflows like land-cover mapping, change detection, or time-series analysis. By combining petabyte-scale data with concise functional transforms, the API turns complex remote-sensing pipelines into reproducible scripts that are easy to share.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    EaselJS

    EaselJS

    Work with the HTML5 Canvas element easily

    The Easel Javascript library provides a full, hierarchical display list, a core interaction model, and helper classes to make working with the HTML5 Canvas element much easier. A JavaScript library that makes working with the HTML5 Canvas element easy. Useful for creating games, generative art, and other highly graphical experiences. EaselJS provides straight forward solutions for working with rich graphics and interactivity with HTML5 Canvas. It provides an API that is familiar to Adobe Animate developers, but embraces JavaScript sensibilities. It consists of a full, hierarchical display list, a core interaction model, and helper classes to make working with Canvas much easier. Added drawPolygon(), pg() and Polygon() Added commands for drawing a polygon from an array of point arrays [[x,y],[x,y],etc] with tiny API of pg as dp is already taken for polystar.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    EditorASP

    EditorASP

    Usercontrol ASP WYSIYG Editor

    Simple editor para crear documentos. Es un control de usuario para que pueda ser implementado fácilmente a cualquier proyecto ASP.NET. Mejoras necesarias * Insertar parrafos correctamente * Situar el cursor al final del parrafo recien insertado * Estandariacion del manejo de la base de datos Ademas se podrian mejorar muchas otras cosas. Espero que entre todos podamos mejorar esta utilidad. El archivo a dercargar contiene todas las carpetas necesarias, que en el repositorio si esta vacia no la pone. En el codigo faltan las carpetas /Dat /Images /Logs Puedes verlo funcionando en http://www.drualcman.somee.com/ Mas informacion en https://aprende-a-programar.com/b/Editor-WYSIWYG-para-ASP/
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18

    Elevate EXtreme Project

    Sistema para gerenciamento de projetos Elevate

    PT_BR: O objetivo do ELXP é dispor de uma ferramenta simples para controle de "pendência" de um projeto Extreme. EN: The goal is to have the ELXP a tool simple to control "pending" for a project Extreme. http://www.elevate.com.br
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    EmbeVi
    EmbeVi Project - Auto Embed Video From Link
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    Emoji Mart

    Emoji Mart

    One component to pick them all

    Data required for the picker to work has been completely decoupled from the library. That gives developers the flexibility to better control their app bundle size and let them choose how and when this data is loaded. Callback when the Add custom emoji button is clicked. The button will only be displayed if this callback is provided. It is displayed when search returns no results. You can use custom emojis by providing an array of categories and their emojis. Emojis also support multiple skin tones and can be GIFs or SVGs. You can use custom category icons by providing an object with the category name as key and the icon as value. Currently supported formats are svg string and src. First, you need to make sure data has been initialized. You need to call this only once per page load. Note that if you call init like this, you don’t necessarily need to include data in your Picker props. It doesn’t hurt either, it will noop.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    Emoji-Log

    Emoji-Log

    An Emoji Git commit log messages spec standard

    After building hundreds of open source software I've ended up inventing a git commit log standard called EMOJI-LOG that helps me understand a project's history with a less cognitive load just by looking at the git log. I like emoji. I like ’em a lot. Programming, code, geeks/nerds, open-source, all of that is inherently dull and sometimes boring. Emoji (which is, in fact, the plural of emoji) helps me add colors and emotions to the mix. Nothing wrong if you want to attach feelings to this 2D flat text-based world of code. I found out that instead of memorizing hundreds of emoji it's better to keep the categories small and general.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    End-To-End

    End-To-End

    End-To-End is a crypto library to encrypt, decrypt, digital sign

    End-to-End was a client-side encryption project that prototyped OpenPGP-compatible, end-to-end encrypted messaging in the browser. The idea was to move cryptographic operations entirely to the user’s machine—key generation, encryption, and signature—so messages remain unreadable to intermediaries. It packaged a JavaScript crypto library, UI elements, and a browser extension workflow that could integrate with webmail-style UIs without server changes. The codebase emphasized careful key handling, usability experiments around key discovery and verification, and mitigations against common web threats like XSS. While the project ultimately transitioned into successor efforts, it helped push discussions about practical E2EE in mainstream web apps and the ergonomics of PGP-style workflows. Security researchers and product teams used it as a design reference for client-side cryptography and the trade-offs of operating inside a hostile web page.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    Eris

    Eris

    A NodeJS Discord library

    A Node.js wrapper for interfacing with Discord. You will need NodeJS 10.4+. If you need voice support you will also need Python 2.7 and a C++ compiler. Create a directory for your bot, and change to that directory in your command line. If you want to be more updated (at the expense of stability), you can install the beta builds instead. Eris supports a few optional libraries that could potentially improve bot performance but may require additional dependencies. If you want Eris to use any of these packages, install them in the same directory as Eris, and Eris will automatically use them. You can find more examples on the GitHub repo. The rest of the docs will help you with using the various functions of the library. Have fun!
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    EventEmitter3

    EventEmitter3

    Because there's also a number 2. And we're faster

    EventEmitter3 is a high-performance event emitter for Node.js and the browser, providing a lightweight and efficient solution for managing events and event listeners in JavaScript applications.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    Downloads: 0 This Week
    Last Update:
    See Project