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.

  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • 1
    nwb

    nwb

    A toolkit for React, Preact, Inferno & vanilla JS apps for the web

    A toolkit for React, Preact, Inferno & vanilla JS apps, React libraries and other npm modules for the web, with no configuration (until you need it). A zero-config development setup is provided, but nwb also supports configuration and plugin modules that add extra functionality (e.g. Sass support), should you need them. Installing globally provides an nwb command for quick development and working with projects. For quick development with React, Inferno, Preact or vanilla JavaScript, use the nwb react, nwb inferno, nwb preact or nwb webcommands. Get started quickly. Start developing from a single .js file or generate a project skeleton. Covers the whole development cycle. Development tools, testing and production builds for projects work out of the box, no configuration required. While everything works out of the box, you can also use an optional configuration file to tweak things to your liking.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    An Open Source JavaScript Library for interacting with oBIX Watches. This is a useful tool for developing 'live' Web 2.0 pages for Building Management Systems.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    A simple jQuery plug-in that adds a selector to determine if an element is visible, but partially or completely hidden by an ancestor element.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    pixelmatch

    pixelmatch

    The smallest, simplest JavaScript pixel-level image comparison library

    The smallest, simplest and fastest JavaScript pixel-level image comparison library, originally created to compare screenshots in tests. Features accurate anti-aliased pixels detection and perceptual color difference metrics. Inspired by Resemble.js and Blink-diff. Unlike these libraries, pixelmatch is around 150 lines of code, has no dependencies, and works on raw typed arrays of image data, so it's blazing fast and can be used in any environment (Node or browsers). Compares two images, writes the output diff and returns the number of mismatched pixels.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 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
  • 5
    pretty-checkbox.css

    pretty-checkbox.css

    A pure CSS library to beautify checkbox and radio buttons

    A pure CSS library to beautify checkbox and radio buttons. Download from yarn or npm. These are simple checkboxes with three shapes. Add class p-switch. For shapes add class, p-outline or p-fill or p-slim. There are five colors. Can be used as Solid ( p-primary ) or Outline ( p-primary-o ). You can add any font icons to replace basic checkbox styles. There are two classes to be added. First, p-icon to .pretty. Then add icon class along with font icon classes inside .state. This library doesnt come with any font icons. You need to add an appropriate font icon library in your application. Adding svg icon is very similar to adding font icons. Add class p-svg to .pretty and svg to <svg> tag or <img> tag ( if svg file url is used as img source ). To animate, add class p-smooth or p-jelly or p-tada or p-rotate or p-pulse to .pretty.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    printThis

    printThis

    jQuery printing plugin; print specific elements on a page

    jQuery printing plugin; print specific elements on a page. Filter which inline style attributes to remove. Requires removeInline to be true. Accepts custom CSS/jQuery selectors. The amount of time to wait before calling print() in the printThis iframe. Defaults to 1000 milliseconds. Appropriate values depend heavily on the content and network performance. Graphics heavy, slow, or uncached content may need extra time to load. Use a custom page title on the iframe. This may be reflected on the printed page, depending on the settings. Blank by default. Copies style attributes from the body and html tags into the printThis iframe. Added to provide support for CSS Variables. Accepts true, "b", "h", or "bh" to test for "b" and "h" for body and html tags, respectively.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    Librairie javascript de manipulation de planning au format ".csv" et ".ics". Cette librairie s'inscrit dans la cadre d'un projet d'ingénierie logicielle dans l'uv GL02 à L'Université de technologies de Troyes (France).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    puresql

    puresql

    ES6/7 ready SQL library for node.js inspired by Clojure's yesql

    puresql is a SQL library for node.js, heavily inspired by Clojure's yesql. It supports MySQL, MariaDB, PostgreSQL, MS SQL Server, and SQLite from the box. puresql takes a path to a .sql file containing query definitions and turns them into promisified functions. You can then call them and either pass one of the provided adapters (mySQL), or your own adapter (see one of the existing ones on the structure).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    rangeslider.js

    rangeslider.js

    HTML5 input range slider element polyfill

    Simple, small and fast jQuery polyfill for the HTML5 <input type="range" slider element.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • 10
    react-native-responsive-screen

    react-native-responsive-screen

    Make React Native views responsive for all devices

    react-native-responsive-screen is a small library that provides 2 simple methods so that React Native developers can code their UI elements fully responsive. No media queries are needed. It also provides an optional third method for screen orientation detection and automatic rerendering according to new dimensions. After the package has been installed, when the application loads (in real device and/or emulator), it detects the screen's width and height. I.e. for Samsung A5 2017 model, it detects width: 360DP and height: 640DP (these are the values without taking into account the device's scale factor).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    react-pxq

    react-pxq

    Implement modern front-end architecture with idiomatic React patterns

    react-pxq is a React-based single-page application that demonstrates how to implement modern front-end architecture with idiomatic React patterns. It shows how to break a product into cohesive components, manage global and local state, and coordinate data-fetching with UI updates. Routing is used to separate feature areas, while shared UI primitives keep styling and behavior consistent across screens. The code emphasizes ES6+ conventions, async flows, and clean separation of concerns to keep maintenance approachable. It also spotlights responsive layout techniques and interaction states that make the app feel polished on mobile and desktop. For learners transitioning from tutorials to full apps, this repo offers a practical, readable example of a React project that’s structured for growth.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    rot.js

    rot.js

    ROguelike Toolkit in JavaScript

    ROguelike Toolkit in JavaScript. Cool dungeon-related stuff, interactive manual, documentation, tests.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    rowGrid.js

    rowGrid.js

    A small, lightweight JavaScript plugin for placing items

    rowGrid.js is a small, lightweight (~1000 bytes gzipped) jQuery plugin for placing images (or other items) in straight rows. The grid is similar to grids on Google Image Search, Flickr, Shutterstock and Google+ images. All items must have the same height but the width can be variable. RowGrid.js justifies the items in straight rows so that the width of the rows equals the width of the container/parent element. At first, rowGrid.js adjusts the margin between the items. If this is not enough rowGrid.js scales down the items.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    seamless-immutable

    seamless-immutable

    Immutable data structures for JavaScript

    Immutable JS data structures which are backwards-compatible with normal Arrays and Objects. Use them in for loops, pass them to functions expecting vanilla JavaScript data structures, etc. Whenever you deeply clone large nested objects, it should typically go much faster with Immutable data structures. This is because the library reuses the existing nested objects rather than instantiating new ones. In the development build, objects are frozen. The development build also overrides unsupported methods (methods that ordinarily mutate the underlying data structure) to throw helpful exceptions. We generally recommend to use the "development" build that enforces immutability (and this is the default in Node.js). Only switch to the production build when you encounter performance problems. By popular demand, functions, errors, dates, and React components are treated as immutable even though technically they can be mutated.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    the simpleHtmlDatagrid can be help ajax programmer to build datagrid in web browser more easily.it can not only fill datagrid with array or json array but also add only a row once a time.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    simplebox.js

    simplebox.js

    A simple, responsive lightbox plugin

    simplebox.js is a lightweight lightbox plugin (~936 bytes) that is easy to modify or extend to fit your needs. This plugin is intended to be quick, responsive, and efficient. The idea behind this plugin was to make the process of setting up a lightbox painless. My experience with finding and setting up lightbox plugins has been pretty bad. The plugins I've come across almost always have too many features. simplebox.js is designed to have just one feature: lightboxing. It's responsive out of the box and allows only a few crucial settings.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    simplelightbox

    simplelightbox

    Touch-friendly image lightbox for mobile and desktop

    Touch-friendly image lightbox for mobile and desktop. You can customize Simplelightbox by changing the style in simplelightbox.css. You can have multiple lightboxes on one page if you give them different selectors. Only some CSS is included. You can change the style if you want. Lots of options. Preloading next and previous images. Android, iOs, and Windows phone support.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    sing-box-yg

    sing-box-yg

    Sing-box Hardcover Bucket 5-in-1 Agreement VPS Dedicated Script

    sing-box-yg is a comprehensive automation script built around the sing-box core, designed to simplify the deployment and management of modern proxy protocols in a unified environment. It integrates multiple advanced networking technologies such as Hysteria2, TUIC, VLESS with Reality, and VMess configurations, enabling users to deploy diverse proxy solutions through a single streamlined workflow. The script supports multiple system environments including VPS, Docker, and containerized setups, making it adaptable to various infrastructure scenarios. It includes automated certificate management, allowing users to switch between self-signed and ACME certificates for secure connections. Additionally, it incorporates advanced routing capabilities such as traffic splitting and multi-country proxy integration, enhancing performance and flexibility.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    sjcl

    sjcl

    Stanford Javascript Crypto Library

    The Stanford Javascript Crypto Library is a project by the Stanford Computer Security Lab to build a secure, powerful, fast, small, easy-to-use, cross-browser library for cryptography in Javascript. SJCL is small but powerful. The minified version of the library is under 6.4KB compressed, and yet it posts impressive speed results. SJCL is secure. It uses the industry-standard AES algorithm at 128, 192 or 256 bits; the SHA256 hash function; the HMAC authentication code; the PBKDF2 password strengthener; and the CCM and OCB authenticated-encryption modes. Just as importantly, the default parameters are sensible: SJCL strengthens your passwords by a factor of 1000 and salts them to protect against rainbow tables, and it authenticates every message it sends to prevent it from being modified. We believe that SJCL provides the best security which is practically available in Javascript.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    stroll.js

    stroll.js

    CSS3 scroll effects list

    stroll.js is a micro-library for creating subtle, scroll-based list and grid animations in modern browsers. It listens to scroll events and applies CSS transitions to elements as they come into or out of view, producing a lively, tactile feel for long lists. The idea is to make scroll-heavy UIs (like feeds, galleries, or item pickers) feel less flat without having to code complex intersection logic. Because it leans on CSS and simple JavaScript hooks, it stays small and easy to integrate into existing markup. It is well suited for landing pages or portfolio sites where you want a touch of motion without importing a full animation framework. The library’s approach is declarative: you style your list, add stroll, and it handles the in-view choreography.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    sxPHP - Smart extended PHP is a (RAF) Rapid Development Framework for >= PHP 5.2.2.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    t.js

    t.js

    Lightweight $.Hypertext.Typewriter

    Lightweight $.Hypertext.Typewriter.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    tableExport.jquery.plugin

    tableExport.jquery.plugin

    jQuery plugin to export a html table to JSON, XML, CSV, TSV, TXT, SQL

    jQuery plugin to export an html table to JSON, XML, CSV, TSV, TXT, SQL, Word, Excel, PNG, and PDF.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24

    tarte

    Tarte project provides common API libraries among multi-languages.

    Tarte is a project which provides common API libraries among multiple programming languages.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25

    tedo

    dom oriented javascript template for dynamic pages

    Tedo is a template engine in javascript for pages with a lot of dynamically updated content. It works in the DOM-tree to make a clean distinktion between layout and script. WIth tedo it is easy to update layout or dynamic behaviour without breakage. Templates are created in the normal html-file. To special elements the class tedo is added and data-tedo-tags describing the type of template. To modify elements through templates the tedo object is used. Example of usage is tedo.my_list.addLast() The goal is that it should be compatible with the newer versions of all big browsers both mobile and stationary, but it requires some newer features like classlist, dataset and elementNode references.
    Downloads: 0 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB