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 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
  • Host LLMs in Production With On-Demand GPUs Icon
    Host LLMs in Production With On-Demand GPUs

    NVIDIA L4 GPUs. 5-second cold starts. Scale to zero when idle.

    Deploy your model, get an endpoint, pay only for compute time. No GPU provisioning or infrastructure management required.
    Try Free
  • 1
    Node Argon2

    Node Argon2

    Node.js bindings for Argon2 hashing algorithm

    A Node.js library for hashing passwords securely using the Argon2 key derivation function, a modern cryptographic algorithm.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    Node Crawler

    Node Crawler

    Web Crawler/Spider for NodeJS + server-side jQuery

    Most powerful, popular and production crawling/scraping package for Node, happy hacking.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    Node RDKafka

    Node RDKafka

    Node.js bindings for librdkafka

    A high-performance Node.js client for Apache Kafka, built on top of librdkafka, providing bindings for efficient Kafka message processing.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    Node.js Testing Best Practices

    Node.js Testing Best Practices

    Beyond the basics of Node.js testing

    This repository narrows the testing lens to Node.js backends, focusing on the challenges of servers, microservices, and cloud-native deployments. It covers API testing, contract testing, and persistence-layer strategies that avoid coupling tests to fragile implementation details. The material explains how to structure tests around process boundaries—HTTP, queues, cron jobs—while keeping fast feedback cycles through selective integration tests and reliable test doubles. It dives into topics like test containers, ephemeral databases, and idempotent fixtures to ensure deterministic runs in CI. Observability is treated as part of testing: logs, metrics, and tracing make failures diagnosable instead of mysterious. By aligning tests with service responsibilities instead of internal modules, the guide helps teams produce suites that reflect real production behavior.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 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
  • 5
    NodeGoat

    NodeGoat

    The OWASP NodeGoat project

    A deliberately vulnerable Node.js application designed for security training, helping developers understand common web vulnerabilities and how to mitigate them.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    NomeJS

    NomeJS

    Nome is a JavaScript library for location driven sites

    Nome (pronounced know me) is a JavaScript library that leverages the power of HTML5 geolocation and location data. This type of data isn't normally exposed within a user session without signing up to multiple services and installing many large database files locally. Nome gives direct access to location and weather data from an exposed JavaScript API allowing you to create context driven websites that deliver information relevant to your audience. With clever thinking nome has the potential to change the way you deliver content to your audience. A bar could show offers for cool drinks if the temperature rose above 25°c; A shop could entice with targeted offers to customers right outside their door. With nome giving access to more information than is currently offered from a standard browser session, you or your clients could be engaging customers in a new way.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    Notifme SDK

    Notifme SDK

    A Node.js library to send all kinds of transactional notifications

    A unified messaging API that enables sending notifications via multiple channels such as email, SMS, push, and chat.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    Numeral.js

    Numeral.js

    A javascript library for formatting and manipulating numbers

    You can use Numerals in the browser and in Node.js. Create an instance of a numeral, Numeral takes numbers or strings that it trys to convert into a number. Numbers can be formatted to look like currency, percentages, times, or even plain old numbers with decimal places, thousands, and abbreviations. And you can always create a custom format. Set a default format so you can use .format() without a string. The default format to '0,0'. Set a custom output when formatting numerals with a value of 0 or null. Adding your own custom formats is as easy as adding a locale. Numeral.js, while less complex, was inspired by and heavily borrowed from Moment.js Formats now exist in their own files and act more or less as plugins. Check out the bytes format for an example of how to create one. When naming locale files use the ISO 639-1 language codes supplemented by ISO 3166-1 country codes when necessary.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    The Open Source Mobile Widget Platform is an Orange initiative to bring a complete software stack (client and server side) for distribution of mobile widgets on Java feature phones. http://www.orange.com/fr_FR/presse/communiques/cp101001fr2.jsp
    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
  • 10
    Oat UI

    Oat UI

    Ultra-lightweight, zero dependency, semantic HTML, CSS, JS UI library

    Oat is an ultra-lightweight front-end UI library designed to automatically style semantic HTML using minimal CSS and JavaScript with zero external dependencies. The project focuses on simplicity and performance, allowing developers to create clean, modern interfaces without relying on heavy frameworks or complex build systems. Oat works by applying sensible default styling directly to standard HTML elements, meaning developers can achieve polished layouts with little to no custom classes. Its small footprint makes it especially attractive for static sites, documentation, prototypes, and low-overhead web applications. The library can be installed via npm, CDN, or direct download, making it flexible across different development workflows. Overall, Oat prioritizes minimalism, speed, and developer ergonomics for teams that want attractive UI results with extremely low complexity.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    Oboe.js

    Oboe.js

    A streaming approach to JSON

    Oboe.js is a streaming approach to JSON. Oboe.js speeds up web applications by providing parsed objects before the response completes. Oboe.js is an open source Javascript library for loading JSON using streaming, combining the convenience of DOM with the speed and fluidity of SAX. It can parse any JSON as a stream, is small enough to be a micro-library, doesn't have dependencies, and doesn't care which other libraries you need it to speak to. We can load trees larger than the available memory. Or we can instantiate classical OOP models from JSON, or completely transform your JSON while it is being read. Oboe makes it really easy to start using json from a response before the ajax request completes. Or even if it never completes.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    Ohm

    Ohm

    A library and language for building parsers, interpreters, compilers

    Ohm is a parsing toolkit consisting of a library and a domain-specific language. It allows developers to define grammars and build parsers, interpreters, and compilers with ease, facilitating language design and processing tasks.​
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    OnlineToolsBook

    OnlineToolsBook

    Online tool cheats, write a high-quality manual for online tools

    OnlineToolsBook positions itself as a “manual/handbook” for useful online tools — collating, documenting, and explaining many web-based utilities to help users discover, understand, and effectively use them. Rather than building a single web-tool, this repository serves as a knowledge base: descriptions, guidance, and possibly examples or usage notes about a variety of online tools, organized in a way that’s meant to help “make online tools benefit humanity.” For someone who frequently resorts to ad-hoc web tools to solve tasks (text manipulation, image processing, conversion, utilities), OnlineToolsBook acts as an aggregator of “cheat sheets” or curated pointer collection rather than a specific application. The intention appears to be long-term: the repository can be updated to reflect new tools, remove broken ones, organize categories, or provide usage hints — so it becomes a living, crowd-maintained reference.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    Open Airline Revenue Accounting
    That project aims at delivering a reference implementation of a library, estimating and serving average prices paid for air travel products. It is not intended for use by an actual airline, but rather by simulators or other airline-related modules of
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    OrgChart

    OrgChart

    It's a simple and direct organization chart plugin

    It's a simple and direct organization chart plugin. Anytime you want a tree-like chart, you can turn to OrgChart.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    PHP4sack
    A PHP encapsulation of the AJAX sack library so that developers need only code in PHP to implement AJAX, Feedback will be good to improve this component set. Now supporting cross browser drag and drop events, no other library dependencies.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    Pac-Man

    Pac-Man

    Pac-Man game written in HTML5 + CSS3 + jQuery with Canvas

    Pac-Man game written in HTML5 + CSS3 + jQuery with Canvas. This WebApp is a Responsive Web Design (RWD) website.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    Page Monitor

    Page Monitor

    capture webpage and diff the dom change with phantomjs

    Page Monitor is a JavaScript webpage monitoring tool that captures a page and compares its DOM changes over time. It uses PhantomJS to render webpages and generate screenshots, which makes it useful for visual and structural change tracking. The tool can detect when elements are added, removed, edited, or restyled. It saves captures and compares them against previous versions, giving developers a way to inspect how a page changed between snapshots. It exposes a Monitor API with methods for capturing pages and manually comparing two saved states. Overall, it is a practical utility for developers who need automated webpage change detection, regression checks, or historical DOM comparison.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    ParkerIgniter
    This is a component to create dinamic database queries from a check list view. You can set a db object (views/tables/etc) to select columns to be shown in the main checklist to build a query based in the check selection. Add dinamic (sql) or static HTML selects to filter results through wheres with few lines. Create dinamic XLSX reports easily (XLSXWritter)
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    Parsley

    Parsley

    Validate your forms, frontend, without writing a line of javascript

    Parsley, the ultimate JavaScript form validation library. Validating forms frontend have never been so powerful and easy. Like no other form validation library, simply write in English your requirements inside your form HTML tags, Parsley will do the rest! No need to write even a single JavaScript line for simple form validation. Parsley is now smarter, it automatically detects your forms' modifications and adapts its validation accordingly. Simply add, remove or edit fields, Parsley validation will follow! Parsley is shipped with more than a dozen useful validators. If not enough, use the awesome Parsley extra Ajax validator or tons of other extended validators provided by the community. Parsley strongly focuses on #UI and #UX. Override almost every Parsley default behavior to fit your exact needs. Still ships almost bug free. Parsley is strongly tested, and aims to work on every browser (including IE8).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21

    PassJS

    Giving a Cross-Browser JavaScript

    This library tries to hide differences between JavaScript implementations across browsers. This library is Licenced under the GNU GPLv3 Licence.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    PathFinding.js

    PathFinding.js

    A comprehensive path-finding library for grid based games

    The aim of this project is to provide a path-finding library that can be easily incorporated into web games. It may run on Node.js or the browser. It comes along with an online demo to show how the algorithms execute. (The pathfinding speed is slowed down in the demo). Note that this project only provides path-finding algorithms for 2D space. If you need to work in a 3D environment, then you may use @schteppe's fork. When instantiating path-finders, you may pass in additional parameters to indicate which specific strategies to use. For all path-finders, you may indicate whether diagonal movement is allowed. The default value is false, which means that the path can only go orthogonally. When diagonal movement is enabled, you might want to prevent the path from touching the corners of the occupied grid blocks. This is usually desirable if the objects using the path have physical width and can also move between the grid cells.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    Pattern Lab Node

    Pattern Lab Node

    The Node version of Pattern Lab

    This monorepo contains the core of Pattern Lab / Node and all related engines, UI kits, plugins, and utilities. Pattern Lab helps you and your team build thoughtful, pattern-driven user interfaces using atomic design principles.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    Permit

    Permit

    An unopinionated authentication library for building Node.js APIs

    This project is an unopinionated authentication library for Node.js APIs that focuses on adding an auth layer without forcing a specific framework or application style. It’s built to slot into popular server stacks like Express, Koa, Hapi, or Fastify, and it stays compatible with different API styles including REST and GraphQL. The library concentrates on the core authentication schemes many APIs need, including bearer token authentication and basic username/password credentials. It also supports pulling credentials from common request locations, prioritizing standards-based headers while allowing practical alternatives when needed. The design aims to keep authentication logic centralized and consistent, so you avoid copy-pasting auth checks across handlers and middleware. In short, it provides a small, reusable abstraction for authenticating requests that you can adapt to your project’s policies and user model.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    Phaser 3 Webpack Loader

    Phaser 3 Webpack Loader

    Asset loader for Phaser + Webpack.

    Phaser Webpack Loader is a plugin that streamlines the process of loading game assets in Phaser projects using Webpack. It facilitates parallel asset loading and integrates with Webpack's module system for efficient game development.
    Downloads: 0 This Week
    Last Update:
    See Project