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.

  • 1
    WWWBasic

    WWWBasic

    wwwBASIC is an implementation of BASIC that runs on Node.js & the Web

    wwwBASIC is a JavaScript-based implementation of the classic BASIC programming language designed to run seamlessly in web browsers and Node.js environments. Created by Google, it allows developers and enthusiasts to write and execute BASIC programs directly within HTML pages or via command-line tools. The interpreter compiles BASIC source code into JavaScript at load time, enabling efficient execution within modern web environments without requiring external emulators or plugins. It supports traditional BASIC constructs such as loops, conditionals, and I/O operations, along with 24-bit color graphics functions (PSET, LINE, CIRCLE) and input handling (INKEY$, GETMOUSE). wwwBASIC brings retro programming into the modern web era, making it ideal for educational purposes, historical software preservation, and interactive demonstrations
    Downloads: 3 This Week
    Last Update:
    See Project
  • 2
    Zebra Dialog

    Zebra Dialog

    A small, compact, and highly configurable jQuery plugin

    A small, compact, and highly configurable jQuery plugin for creating modal dialog boxes. Zebra Dialog is a small, compact (one JavaScript file, no dependencies other than jQuery 1.7.0+) and highly configurable jQuery plugin for creating responsive modal dialog boxes, meant to replace native JavaScript alert, confirmation, and prompt dialogs. Can also be used as a notification widget (when configured to show no buttons and to close automatically) for updates or errors, without distracting users from their browser experience by displaying obtrusive alerts. Works in pretty much any browser, Firefox, Chrome, Safari, Edge, Opera, and Internet Explorer 6+
    Downloads: 3 This Week
    Last Update:
    See Project
  • 3
    anime.js

    anime.js

    JavaScript animation engine

    anime.js is a lightweight JavaScript animation library that allows you to create complex animations with a single, powerful API. It works with just about anything web-based: CSS properties, SVG, DOM attributes and JavaScript Objects. anime.js makes it easy to create layered and complex animations, and gives you full control of timing and triggering events so they move exactly how and when you want them. It supports some of the latest browsers, and offers plenty of examples and demonstrations to get you animating in no time. Animate everything you want simply and easily with anime.js.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 4
    chatgpt.js

    chatgpt.js

    A powerful, open source client-side JavaScript library for ChatGPT

    A powerful client-side JavaScript library for ChatGPT. chatgpt.js is a powerful JavaScript library that allows for super easy interaction w/ the ChatGPT DOM. chatgpt.js was written w/ ultra flexibility in mind.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 5
    checkboxes.js

    checkboxes.js

    jQuery plugin that gives you nice powers over your checkboxes

    A jQuery plugin that gives you nice powers over your checkboxes. Check all checkboxes in context. Uncheck all checkboxes in context. Toggle states of all checkboxes in context. Enable range selection. Limit the number of checked checkboxes per context. Data API like Twitter Bootstrap.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 6
    date-fns

    date-fns

    Modern JavaScript date utility library

    date-fns is a modern JavaScript date utility library that offers the most comprehensive toolset for manipulating JavaScript dates in a browser and Node.js. It’s complete and yet simple, because the API is unambiguous, with just one approach to a problem. It’s highly reliable and consistent, always respecting timezones and DST. And it’s also modular, so you don’t have to bloat your project with unnecessary functionality. date-fns supports TypeScript and Flow, and is supported by an amazing community with dozens of locales.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 7
    frontend-mentor-challenges

    frontend-mentor-challenges

    My submissions for the Frontend Mentor Challenges

    The frontend-mentor-challenges repository contains the author’s submissions to the platform Frontend Mentor — which offers structured UI/UX layout challenges (landing pages, components, form designs) for front-end developers. The codebase shows solutions in HTML, CSS, Javascript, with each challenge typically including an original design file plus the author’s implementation. It’s a great way to practice responsive layouts, CSS grid/flexbox mastery, UI refinement, and build portfolio-worthy front-end snapshots. The README shows that the author has live demos and even a YouTube playlist of walkthroughs. This sort of repository is useful for demonstrating front-end craftsmanship, CSS/HTML mastery, and attention to design detail. It also helps reinforce iteration on design challenges and small reusable components.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 8
    history

    history

    Manage session history with JavaScript

    The history library lets you easily manage session history anywhere JavaScript runs. A history object abstracts away the differences in various environments and provides a minimal API that lets you manage the history stack, navigate, and persist state between sessions. Development of the current stable release, version 5, happens on the master branch. Please keep in mind that this branch may include some work that has not yet been published as part of an official release. However, since master is always stable, you should feel free to build your own working release straight from master at any time. history is developed and maintained by React Training. If you're interested in learning more about what React can do for your company, please get in touch!
    Downloads: 3 This Week
    Last Update:
    See Project
  • 9
    jQuery Terminal

    jQuery Terminal

    JavaScript library for creating web-based terminals

    jQuery Terminal is a JavaScript library for creating command-line interpreters in your applications. You can use this JavaScript Terminal library to create interactive web-based terminal applications on your website. Where commands are defined by you. You can define them on the server or in the browser's JavaScript. It can automatically call JSON-RPC service when the user types a command. Alternatively, you can provide an object with methods; each method will be invoked on the user's command (the python command can create python interpreter). An object can have nested objects which will create a nested interpreter (you can create an interactive menu of adventure games with this). You can also use a function in which you can parse user commands by yourself (you have full control of what users type into the terminal). It's ideal if you want to provide additional functionality for power users.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 10
    nivo

    nivo

    A rich set of dataviz components

    nivo provides a rich set of dataviz components, built on top of the awesome d3 and Reactjs libraries. Several libraries already exist for React d3 integration, but just a few provide server side rendering ability and fully declarative charts. In order to use nivo, you have to install the @nivo/core package and then choose some of the scoped @nivo packages according to the charts you wish to use. Given an array of data series having an id and a nested array of points (with x, y properties), it will compute the line for each data series. All datum having null x or y will be treated as holes, thus portions of the corresponding line will be skipped. You can fully customize it using the circleComponent property to define your own, if you wish to do so you should have a look at the default SVG component to get started. Bar chart which can display multiple data series, stacked or side by side. Also supports both vertical and horizontal layout, with negative values descending below the x axis.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    simpleParallax.js

    simpleParallax.js

    Simple and tiny JavaScript library that adds parallax animations

    simpleParallax.js is a very simple and tiny Vanilla JS library that adds parallax animations on any image. Where it may be laborious to get results through other plugins, simpleParallax.js stands out for its ease and its visual rendering. The parallax effect is directly applied to image tags, there is no need to use background images.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12
    ui-neumorphism

    ui-neumorphism

    React component library designed on the "new skeuomorphism"

    UI-metamorphism is a react component library designed on the "new skeuomorphism" UI/UX trend.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13
    multiOTP open source

    multiOTP open source

    PHP strong authentication library, web interface & CLI, OATH certified

    multiOTP is a PHP class, a powerful command line utility and a web interface developed by SysCo systèmes de communication sa in order to provide a completely free and easy operating system independent server side implementation for strong two factors authentication solution. multiOTP supports hardware and software tokens with different One-Time Password algorithms like OATH/HOTP, OATH/TOTP and mOTP (Mobile-OTP). QRcode generation is also embedded in order to support provisioning of Google Authenticator software tokens. SMS code sending is currently implemented for several providers (ASPSMS, Clickatell and IntelliSMS). The data storage of the command line utility is by default flat files based in order to simplify deployment in a few minutes, but MySQL backend is supported too. multiOTP can be easily integrated in RADIUS servers like FreeRADIUS under Linux/Windows or TekRADIUS LT under Windows. multiOTP is also the engine of the credential provider multiOTP Credential Provider.
    Downloads: 54 This Week
    Last Update:
    See Project
  • 14
    AmplitudeJS

    AmplitudeJS

    Open Source HTML5 Web Audio Library

    Open Source HTML5 Web Audio Library. Design your web audio player, the way you want. No dependencies are required. AmplitudeJS is a lightweight JavaScript library that allows you to control the design of your media controls in your webpage, not the browser. No dependencies (jQuery not required). AmplitudeJS is available under the MIT License. Open-source software is not sustainable without proper financial support. Maintaining an open-source project takes a lot of effort and resources. If you are very thankful for what you can do with AmplitudeJS or if you are using AmplitudeJS to make any sort of revenue, we kindly ask that you contribute any resources available to keep the community growing. Autogenerate waveforms and visualizations using the Web Audio API. Public functions for unlimited control! All of our example players have the code available on our "AmplitudeJS Example Players" repository.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 15
    AutoNumeric

    AutoNumeric

    Standalone library that provides live as-you-type formatting

    AutoNumeric is a standalone library that provides live-as-you-type formatting for international numbers and currencies. All in all, AutoNumeric supports most international numeric formats and currencies including those used in Europe, Asia, and North and South America. AutoNumeric focuses on efficiency and speed making all your input interactions blazing fast. No dependencies are needed to use AutoNumeric. Written in ES6, AutoNumeric uses the latest technologies and is prepared for the future. While the Android platform makes input management hard to play with, AutoNumeric supports it. AutoNumeric strives to be framework-agnostic, which means you can easily integrate it with third-party frameworks. Checkout the official Vue-AutoNumeric component.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16
    Bcoin

    Bcoin

    Javascript bitcoin library for node.js and browsers

    Bcoin is an advanced fullnode implementation built with JavaScript/C/C++/Node.js. It is easier to use, faster to learn, and more well-documented than competing implementations. Engineered from the ground up to create scalable, flexible, and efficient production-ready systems with unparalleled code readability. Bcoin is consensus-conforming and adheres to the strict security standards of the original implementation maintained by Bitcoin Core. Bcoin can be integrated into almost any desktop or browser application to enable native payments, on both Bitcoin and Bitcoin Cash networks. Bcoin is the first full node implementation built specifically for production systems at scale. Originally created to be used as backend infrastructure for Purse.io, Bcoin enables companies to spin up consumer-grade bitcoin applications/wallet systems without the long-term concern of scalability, and security.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17
    CF Workers Status Page

    CF Workers Status Page

    Monitor your websites, showcase status including daily history

    Monitor your websites, showcase status including daily history, and get Slack notifications whenever your website status changes. Using Cloudflare Workers, CRON Triggers, and KV storage.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18
    DataTables

    DataTables

    Tables plug-in for jQuery

    DataTables is a jQuery plugin that enhances HTML tables with powerful dynamic features such as searching, sorting, and pagination. It transforms plain static tables into interactive data explorers with minimal code changes. Developers can customize its behavior through an extensive API, adding export buttons, column visibility toggles, custom filters, and integration with remote data sources via Ajax. The plugin is modular, with a core that provides essentials and a wide range of extensions that cover advanced functionality like fixed headers, responsive layouts, and inline editing. Styling can be adapted to frameworks like Bootstrap or Foundation, making it blend seamlessly into modern UIs. Because it handles large datasets efficiently, DataTables has become a go-to component for dashboards, reporting tools, and admin interfaces.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    Dexie.js

    Dexie.js

    A Minimalistic Wrapper for IndexedDB

    Dexie was written to be straightforward and easy to learn. If you've ever had to work with native IndexedDB then you'll certainly appreciate Dexie's concise API. What good is any development tool without great documentation? Dexie is thoroughly explained, and examples are available to help you on your way. Dexie has near-native performance. Its bulk operations utilize an often-overlooked feature in IndexedDB, ignoring success callbacks when possible. Offline databases are groovy! But without keeping the database in sync with a server, you're missing a great deal. Dexie.js solves these limitations and provides a neat database API. Dexie.js aims to be the first-hand choice of a IDB Wrapper Library due to its well thought-through API design, robust error handling, extendability, change tracking awareness and its extended KeyRange support (case insensitive search, set matches and or operations).
    Downloads: 2 This Week
    Last Update:
    See Project
  • 20
    Flow Typed

    Flow Typed

    A central repository for Flow library definitions

    High-quality library definitions for Flow. flow-typed is a repository of third-party library interface definitions for use with Flow. When you start a project with Flow, you likely want to use some third-party libraries that were not written with Flow. By default, Flow will just ignore these libraries leaving them untyped. As a result, Flow can't give errors if you accidentally misuse the library (nor will it be able to auto-complete the library). To address this, Flow supports library definitions which allow you to describe the interface of a module or library separate from the implementation of that module/library. The flow-typed repo is a collection of high-quality library definitions, tests to ensure that definitions remain high quality, and tools to make it as easy as possible to import them into your project. All you have to do when you add one or more new dependencies to your project is run flow-typed install.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    HyperUI

    HyperUI

    Free Tailwind CSS v4 components for your next project

    HyperUI is a large, copy-and-paste library of Tailwind CSS components aimed at speeding up interface building without adding heavy JavaScript. It groups components by common product needs—navigation, hero sections, pricing, forms, cards, tables, and full e-commerce flows—so teams can assemble pages quickly from consistent building blocks. Each snippet is written as semantic HTML with Tailwind utility classes, making it easy to customize spacing, color, and typography through a project’s Tailwind config. The components are responsive by default, using grid and flex patterns that adapt cleanly from mobile to widescreen layouts. Accessibility is treated pragmatically: markup favors proper roles and focus states, and most interactive behaviors can be wired with lightweight libraries or framework code if desired. Because everything is plain markup, adoption is frictionless in any stack (React, Vue, Svelte, Rails, Laravel), and designers can tweak styling without refactoring component logic.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 22
    Immutable.js

    Immutable.js

    Immutable collections for JavaScript

    Immutable.js offers a collection of Persistent Immutable data structures for JavaScript. Immutable data is unchangeable once created, which makes application development so much simpler. There’s no defensive copying, and you get advanced memoization and change detection techniques with simple logic. Persistent data gives you a mutative API, one that doesn’t update data in-place but always produces new and updated data. The data structures that Immutable.js provides include List, Stack, Map, OrderedMap, Set and more. These structures are highly efficient on modern JavaScript VMs, and minimize the need to cache or copy data.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 23
    JsAction

    JsAction

    JsAction is a small event delegation library

    JSAction is a JavaScript framework developed by Google that provides a structured, event-driven architecture for managing user interactions in large-scale web applications. It simplifies event handling by declaratively binding actions to DOM elements through HTML attributes, enabling clean separation between markup and behavior. JSAction helps improve performance, maintainability, and reliability by minimizing the use of inline scripts and global event listeners. It is especially useful in complex front-end environments where efficient event delegation and well-defined interaction flows are crucial.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24
    Jspreadsheet CE

    Jspreadsheet CE

    Javascript plugin to create web-based tables & spreadsheets

    Jspreadsheet CE is a lightweight Vanilla JavaScript data grid plugin to create amazing web-based interactive HTML tables, and spreadsheets compatible data grid with other spreadsheet software. You can create an online spreadsheet table from a JS array, JSON, CSV or XSLX files. You can copy from excel and paste straight to your Jspreadsheet CE spreadsheet and vice versa. It is very easy to integrate any third party JavaScript plugins to create your own custom columns, custom editors, and customize any feature into your application. Jspreadsheet CE has plenty of different input options through its native column types to cover the most common web-based application requirements. It is a complete solution for web data management. Create amazing applications with Jspreadsheet CE JavaScript spreadsheet.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 25
    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: 2 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB