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.

  • AI-powered service management for IT and enterprise teams Icon
    AI-powered service management for IT and enterprise teams

    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity. Maximize operational efficiency with refreshingly simple, AI-powered Freshservice.
    Try it Free
  • Earn up to 16% annual interest with Nexo. Icon
    Earn up to 16% annual interest with Nexo.

    More flexibility. More control.

    Generate interest, access liquidity without selling, and execute trades seamlessly. All in one platform. Geographic restrictions, eligibility, and terms apply.
    Get started with Nexo.
  • 1
    A JavaScript library for graphics.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    JSNAV - a library that allows to specify and save some javascript calls in the page's URI. This library helps to standardize the coding javascript URI handler in the anchors. Also it helps to keep the classic navigation anchors.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    JSVerbalExpressions

    JSVerbalExpressions

    JavaScript Regular expressions made easy

    VerbalExpressions is a JavaScript library that helps to construct difficult regular expressions. Methods have a return type of VerbalExpression except where mentioned otherwise. If there is no mention of a method’s parameters, it is to be assumed that it has none. VerEx is the function that is exported from within VerbalExpressions.js and is to be the first method in chains that describe verbal expressions. Construct and return a new instance of VerbalExpression. Used to support the new VerbalExpression() syntax in ES6 classes as mandated by the spec. You usually wouldn’t need to call VerEx().constructor(). This method will not be accessible from outside the source file since VerEx() returns an instance of the class rather than the class itself. sanitize is a static method on the VerbalExpression class. However, it is also exposed as VerEx().sanitize. Enabling control multi-line matching would cause the expression to not look for matches beyond the first line.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    JScriptTouch is an SDK which allows developers quickly create full featured applications for iPhone platform using javascript.
    Downloads: 0 This Week
    Last Update:
    See Project
  • $300 in Free Credit Towards Top Cloud Services Icon
    $300 in Free Credit Towards Top Cloud Services

    Build VMs, containers, AI, databases, storage—all in one place.

    Start your project in minutes. After credits run out, 20+ products include free monthly usage. Only pay when you're ready to scale.
    Get Started
  • 5
    You want to develop a javascript game or make your webpages dynamic. This project creates freely available javascript interfaces such as one to help you create board games, one that contains several animations for images, ... Programmers, enjoy!
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    JavaScript & Node.js Testing

    JavaScript & Node.js Testing

    Comprehensive and exhaustive JavaScript & Node.js testing

    This project compiles practical advice for testing JavaScript applications across the stack, emphasizing clarity, speed, and reliability over dogma. It distinguishes between different kinds of tests—unit, integration, end-to-end—and shows when each is appropriate given time and risk constraints. The guide focuses on removing flakiness by isolating side effects, controlling randomness, and stabilizing async code paths. It also demonstrates test design techniques like arranging test data, using expressive assertions, and structuring test suites for readability and discoverability. Tooling agnosticism is a theme: patterns are illustrated with popular tools but written to survive framework churn. The end goal is a test suite that acts as living documentation while catching regressions quickly and deterministically.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    JavaScript Array Explorer

    JavaScript Array Explorer

    A resource to figure out what JavaScript array method would be best

    Array Explorer is an educational web-based resource created by Sarah Drasner to help developers understand and select the appropriate JavaScript array method (like map, filter, reduce, find, etc.) when they’re stuck wondering “which one should I use?” Instead of diving into endless docs, you can use the interactive tool to specify what you’re trying to accomplish—e.g., “remove items,” “transform items,” “find something,” “aggregate results”—then see which methods match and get live code examples. The tool provides visual examples, explanations of method semantics, and code snippets you can copy into your own project. Because many JavaScript learners struggle with which array method to choose or misuse them, this resource offers an approachable way to learn by doing and exploring rather than memorizing. The front-end is friendly and responsive, with filtering UI that lets you narrow based on the kind of task you’re performing.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    JavaScript Load Image

    JavaScript Load Image

    Load images provided as File or Blob objects or via URL

    JavaScript-Load-Image is a client-side image loading and processing library that focuses on turning File/Blob objects or remote URLs into HTML <img> or <canvas> elements, optionally transformed in the process. It is often used in upload flows where images need to be previewed, resized, rotated, or cropped before being sent to a server, reducing bandwidth and improving user experience. The library can interpret image metadata, including Exif and IPTC tags, and can extract embedded thumbnails when present, which is handy for building fast image pickers or galleries. One of its key capabilities is correcting Exif Orientation, so photos taken on mobile devices appear upright without additional server-side processing. It also offers the option to preserve or restore image headers when resizing, which helps retain metadata or orientation information in the re-encoded image.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    JavaScript Object Graph for Java is a library designed to simplify working with JSON objects in Java code.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 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
  • 10
    Javascript CRT

    Javascript CRT

    Cross browser Javascript library that provides old style text mode

    Cross browser Javascript library that provides old style text mode
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11

    Javascript Moony Parser

    library: parsing text by given grammar in javascript

    This is a javascript library for parsing texts. The library accepts minimalistic moony grammar language and parses given text by the grammar. It is an implementation of "Earley" parser which makes it context free grammar complete. Instructions are bundled in download.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    Jimp

    Jimp

    An image processing library written entirely in JavaScript for Node

    An image processing library for Node written entirely in JavaScript, with zero native dependencies. If you're using this library with TypeScript the method of importing slightly differs from JavaScript. Instead of using require, you must import it with ES6 default import scheme. If you're using a web bundles (webpack, rollup, parcel) you can benefit from using the module build of jimp. Using the module build will allow your bundler to understand your code better and exclude things you aren't using. If you're using webpack you can set process.browser to true and your build of jimp will exclude certain parts, making it load faster. The static Jimp.read method takes the path to a file, URL, dimensions, a Jimp instance or a buffer and returns a Promise. In some cases, you need to pass additional parameters with an image's URL.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    Jupyter Nbextensions Configurator

    Jupyter Nbextensions Configurator

    A jupyter notebook serverextension providing config interfaces

    A server extension for jupyter notebook which provides configuration interfaces for notebook extensions (nbextensions). The jupyter_nbextensions_configurator jupyter server extension provides graphical user interfaces for configuring which nbextensions are enabled (load automatically for every notebook). In addition, for nbextensions which include an appropriate yaml descriptor file (see below), the interface also renders their markdown readme files, and provides controls to configure the nbextensions' options.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    A simple java library for JSON serialization.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    Keen UI

    Keen UI

    A lightweight Vue.js UI library with a simple API

    Keen UI is a Vue.js UI library with a simple API, inspired by Google's Material Design. Keen UI is not a CSS framework. Therefore, it doesn't include styles for a grid system, typography, etc. Instead, the focus is on interactive components that require Javascript. You should be able to use Keen UI with any page layout, structure, or CSS framework.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    Play line by line with audio on page, demo: http://q3world.sourceforge.net
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    Knwl.js

    Knwl.js

    A .js library for parsing text for specific information

    Knwl.js is a Javascript library that parses through text for dates, times, phone numbers, emails, places, and more. Parser plugins are what make Knwl.js tick and give it new parsing abilities. There are many already available under ./default_plugins for a number of tasks. If you're interested in developing plugins for Knwl.js, ./plugin_development.md is a great place to start. You can optionally specify a language in the first parameter. This helps plugins identify and better suit particular languages. A packaged version of Knwl.js for the browser with default plugins is available in the ./dist directory. What's awesome about the new version of Knwl.js is that it makes it much easier for anyone with a little knowledge of JS to build plugins. These plugins offer new parsing abilities for Knwl.js that otherwise wouldn't exist.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    Krajee bootstrap-star-rating

    Krajee bootstrap-star-rating

    A simple yet powerful JQuery star rating plugin with fractional rating

    A simple yet powerful JQuery star rating plugin for Bootstrap that supports advanced features like fractional star fill and RTL input support. Developed with a focus on utilizing pure CSS-3 styling to render the control. The plugin uses Bootstrap markup and styling by default, but it can be overridden with any other CSS markup. Ability to size the rating control to any size including the stars, caption, and clear button. Five prebuilt size templates are available xl, lg, md, sm, and xs. However one can have their own size configured through a simple CSS manipulation. You can use the HTML 5 number input for polyfill and the plugin will automatically use the number attributes like min, max, and step. However, number inputs have a problem with decimal values on the Chrome Browser. Specifically uses Bootstrap 3.x styles & glyphs. Can be combined to work better for Bootstrap-styled projects (or input group addons).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    LABjs

    LABjs

    Loading And Blocking JavaScript

    LABjs is a lightweight JavaScript loader focused on speeding up page performance by controlling how and when scripts download and execute. It provides an expressive API to load multiple files in parallel while guaranteeing execution order, so dependent scripts don’t break. By decoupling fetch from execute, it avoids the blocking behavior of traditional tags and helps reduce perceived load time. LABjs embraces a “load groups, then wait” model that makes dependency management clear without a separate build step. It’s designed to work across a wide range of browsers, including older ones, which is why it relies on robust feature detection and time-tested loading techniques. The library is intentionally small and framework-agnostic, so it can be dropped into almost any stack to orchestrate client-side assets more predictably.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    LBRY App

    LBRY App

    Browser and wallet for LBRY, the decentralized, user-controlled

    LBRY is a free, open, and community-run digital marketplace. Build the future of content freedom. What if anyone in the world could publish a piece of digital content, anyone else in the world could access it, for free or for payment, and that entire system worked end-to-end without any centralized authority or point of control? Looking for API documentation, formal specifications, how-tos, resources, or the meaning of life? Find at least some of these things in the resources area. No matter your experience or skill level, you can progress content freedom. This repo contains the UI code that powers the official LBRY desktop app. The LBRY app is a graphical browser for the decentralized content marketplace provided by the LBRY protocol. It is essentially the lbry daemon bundled with a UI using Electron.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    LINQ to Javascript...
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    Laravel QuestionAnswer

    Laravel QuestionAnswer

    Vote based Question & Answer site built using Laravel 5.4

    Vote-based Question and answer site built using Laravel 5.4, material design, x-editable, jQuery Upvote, and email/database notifications. Registered users can submit questions, answer questions, vote on questions & answers, and when an answer is posted to a question the author is notified via email. Users will also be notified about votes, but only viewable in their profile.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    Layui UI

    Layui UI

    An open source Web UI component library

    layui is a set of open-source Web UI component library, which adopts its own classic modularization specifications and follows the development method of native HTML/CSS/JS. It is very easy to use and ready to use. Its style is simple and light, while its components are elegant and rich. Every detail from source code to usage method has been carefully crafted, which is very suitable for the rapid development of web interface. Layui is different from those front-end frameworks based on the bottom layer of MVVM, but it does not go against the road, but believes in returning to the basics. To be precise, it is more for back-end developers. You don’t need to get involved in various front-end tools. You only need to face the browser itself, and let all the elements and interactions you need come from here at your fingertips.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    Learning Prompt

    Learning Prompt

    Free prompt engineering online course

    Learning-Prompt is a curated repository of prompts, techniques, and instructional patterns designed to help people construct better prompts for AI systems, including generation, reasoning, and debugging tasks. It collects examples of effective prompt formats, chains of thought, strategy scaffolds, and comparative methods that help yield consistent, high-quality results. The project also includes meta-guidance: reflections on prompt failures, tips for prompt tuning, ways to mitigate model bias or misinterpretation, and how to adapt prompts for different AI capabilities. Because prompt design is a skill under continuous iteration, the repo encourages contributions of new prompt recipes, evaluations, and domain-specific adaptations. It’s intended for educators, developers, and prompt engineers who want a living toolkit rather than static advice. Over time it serves as both a reference and playground for emergent prompt techniques.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    LemonadeJS

    LemonadeJS

    LemonadeJS is a 7KB reactive JavaScript micro-library

    LemonadeJS is an ultra-lightweight, reactive JavaScript micro-library that makes building dynamic user interfaces simple and intuitive by providing two-way data binding and component reactivity without any external dependencies or build steps. At roughly 5–7 KB, it works directly in the browser or with bundlers like webpack, enabling developers to create reusable, reactive UI components using pure JavaScript, JSX, or TypeScript while avoiding heavy frameworks. Its core reactivity system tracks changes to component state and efficiently updates only the affected parts of the DOM, which improves performance for both small widgets and larger applications. The library also offers powerful template syntax and lifecycle hooks so you can manage state, effects, loops, and events in a clear and expressive way while keeping your code close to native JavaScript.
    Downloads: 0 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB