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.

  • Arryved POS System Icon
    Arryved POS System

    Drive contagious loyalty with your guests and staff with a POS and Brewery Management system that helps run your craft brewery better.

    Arryved was built to help craft beverage makers thrive.
    Learn More
  • Streamline Hiring with Skill Assessments Icon
    Streamline Hiring with Skill Assessments

    Say goodbye to hiring guesswork. Use Canditech’s job simulation tests to assess real-world skills and make data-driven decisions.

    Canditech offers innovative, cheat-proof skill assessments and job simulations to transform your hiring process. From technical skills to soft skills, we help you assess candidates on actual job performance. With over 500 customizable tests and powerful video interview features, you can evaluate real-world capabilities, streamline your hiring, and reduce biases. Whether you’re hiring for remote roles, mass hiring, or looking to expand your diversity pool, Canditech’s data-driven platform ensures the right candidates are chosen for the job every time.
    Get a Free Demo
  • 1
    Retire.js

    Retire.js

    Scanner detecting the use of JavaScript libraries

    There is a plethora of JavaScript libraries for use on the web and in node.js apps out there. This greatly simplifies, but we need to stay updated on security fixes. "Using Components with Known Vulnerabilities" is now a part of the OWASP Top 10 and insecure libraries can pose a huge risk for your web app. The goal of Retire.js is to help you detect the use of versions with known vulnerabilities. Scan a web app or node app for use of vulnerable JavaScript libraries and/or node modules. grunt-retire scans your grunt-enabled app for use of vulnerable JavaScript libraries and/or node modules. Scans visited sites for references to insecure libraries and puts warnings in the developer console. An icon on the address bar displays will also indicate if vulnerable libraries were loaded. Retire.js has been adapted as a plugin for the penetration testing tools Burp and OWASP ZAP.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 2
    node-windows

    node-windows

    Windows support for Node.JS scripts (daemons, eventlog, UAC, etc).

    node-windows is a utility for Windows services that enables Node.js scripts to run as native Windows services, providing functionalities like event logging, service management, and process monitoring.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 3
    90s Cursor Effects

    90s Cursor Effects

    Old-school cursor effects for your browser built with modern JS

    "Knowing the codes" used to be all the rage, I want to bring a few back. A repo of the old effects that inspired creativity and the desire to learn at least a little code around the world. Modernized so they're a little more efficient, and just as annoying (and twice as fun) as they were before.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 4
    Article Extractor

    Article Extractor

    To extract main article from given URL with Node.js

    A Node.js library for extracting main content from web articles, removing unnecessary clutter like ads and navigation elements.
    Downloads: 5 This Week
    Last Update:
    See Project
  • Intelligent Automation Solutions Built for Modern Finance Teams Icon
    Intelligent Automation Solutions Built for Modern Finance Teams

    We do CFO stuff.

    Digitally transform your business with workflow automation and integrated payment solutions. Digitally store and secure your data with advanced search and accessibility features that keeps your documents at the tip of your team’s fingers.
    Learn More
  • 5
    Chat UI Kit React

    Chat UI Kit React

    Build your own chat UI with React components in few minutes

    Build your own chat UI with React components in a few minutes. The Chat UI Kit from Chatscope is an open-source UI toolkit for developing web chat applications. Tired of struggling with sticky scrollbars, content editable, responsiveness, and CSS hacks? This kit is for you. Headless chat library, React hook for state management in chat applications.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 6
    Day.js

    Day.js

    Fast, immutable 2kB alternative to Moment.js with the same modern API

    Day.js is a fast, immutable, minimalist JavaScript library for parsing, validating, manipulating, and displaying dates and times for modern browsers. Its API is largely compatible with that of Moment.js, so if you know how to use Moment.js you’ll know how to use Day.js. Why opt for Day.js? Because it’s at just 2kB it involves less JavaScript to download, parse and execute, and more time for your code. Day.js is also immutable, chainable and has great support for internationalization. It currently supports all browsers.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 7
    Form-Data

    Form-Data

    A module to create readable `"multipart/form-data"` streams

    A library to create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 8
    Highway

    Highway

    Highway - A Modern Javascript Transitions Manager

    Highway is a lightweight (2.5ko gzipped), easy-to-use, flexible, and modern library to create AJAX navigations with animations on websites. Don't bother about all the processes behind the scenes and focus on creative animations.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 9
    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: 5 This Week
    Last Update:
    See Project
  • Workable Hiring Software - Hire The Best People, Fast Icon
    Workable Hiring Software - Hire The Best People, Fast

    Find the best candidates with the best recruitment software

    Workable is the preferred software for today's recruiting industry and HR teams, trusted by over 6,000 companies to streamline their hiring processes. Finding the right person for the job has never been easier—users now possess the ability to manage multiple hiring pipelines at once, from posting a job to sourcing candidates. Workable is also seamlessly integrated between desktop and mobile, allowing admins full control and flexibility all in the ATS without needing additional software.
    Learn More
  • 10
    NoteDiscovery

    NoteDiscovery

    Your Self-Hosted Knowledge Base

    NoteDiscovery delivers a self-hosted knowledge base and note-taking platform that empowers individuals and teams to create, organize, and explore their notes locally, giving complete control over their data without relying on commercial services. It emphasizes lightweight performance and privacy, storing notes as plain markdown files that can be easily managed, synced, or version controlled while keeping everything on your own server. The interface is modern and responsive, offering themes, tags, interactive note browsing, and visualization tools like graph views for connected ideas, which makes it suitable for personal “second brain” systems or team wikis. Users benefit from features like fast search, outline navigation, favorites, and plugin extensibility, and the platform works well across devices thanks to its responsive design.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 11
    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: 5 This Week
    Last Update:
    See Project
  • 12
    Pusher Channels Javascript Client

    Pusher Channels Javascript Client

    Pusher Javascript library

    Bi-directional hosted APIs that are flexible, scalable and easy to use. We create and maintain complex messaging infrastructure so you can build the realtime features your users need, fast.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 13
    ScrollMagic

    ScrollMagic

    The javascript library for magical scroll interactions

    ScrollMagic helps you to easily react to the user's current scroll position. ScrollMagic is a complete rewrite of its predecessor Superscrollorama by John Polacek. A plugin-based architecture offers easy customizability and extendability. Animate based on scroll position, pin an element starting at a specific scroll position, toggle CSS classes of elements on and off based on scroll position, effortlessly add parallax effects to your website, create an infinitely scrolling page, add callbacks at specific scroll positions or while scrolling past a specific section. Either trigger an animation or synchronize it to the scrollbar movement (like a playback scrub control). Pin an element starting at a specific scroll position, either indefinitely or for a limited amount of scroll progress (sticky elements). You can add callbacks at specific scroll positions or while scrolling past a specific section, passing a progress parameter.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 14
    Size Limit

    Size Limit

    Calculate the real cost to run your JS app or lib

    Size Limit is a JavaScript performance budget tool that measures the real cost of your JavaScript bundle and prevents regressions by enforcing limits in CI. It calculates not just raw bundle size, but also download and execution time under configurable network conditions, giving a more realistic sense of what users experience. The tool is modular: it offers a CLI and multiple plugins (file, webpack, time) plus presets tailored to different use cases, from big single-page apps to small npm libraries. When integrated with GitHub Actions, CircleCI, or other CI systems, it runs on every commit or pull request, failing the pipeline if a change exceeds the configured budget. It can also annotate pull requests with comments that highlight how the bundle changed, making performance regressions visible to reviewers early. With the --why flag, size-limit can analyze what contributes most to bundle size and show a dependency breakdown (using Statoscope).
    Downloads: 5 This Week
    Last Update:
    See Project
  • 15
    Superfine

    Superfine

    Absolutely minimal view layer for building web interfaces

    Superfine is a minimal view layer for building web interfaces. Think Hyperapp without the framework—no state machines, effects, or subscriptions, just the absolute bare minimum (1 kB minified+gzipped). Mix it with your favorite state management library or use it standalone for maximum flexibility. When describing how a page looks in Superfine, we don't write markup. Instead, we use the h() and text() functions to create a lightweight representation of the DOM (or virtual DOM for short), and patch() to actually render the DOM. Superfine won't re-create the entire DOM every time we use patch(). By comparing the old and new virtual DOM we are able to change only the parts of the DOM that need to change instead of rendering everything from scratch.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 16
    Swing

    Swing

    A swipeable cards interface

    Swing is a JavaScript library designed to create realistic swipeable card interfaces similar to those popularized by dating applications. It provides physics-based animations that simulate natural movement when users drag and release cards, enhancing user interaction and engagement. The library allows developers to build interfaces where elements can be swiped left, right, or in other directions, triggering specific actions. It is highly customizable, enabling control over thresholds, directions, and animation behavior. Swing is lightweight and framework-agnostic, making it easy to integrate into different web projects without heavy dependencies. It is commonly used for building interactive UI components such as recommendation systems or decision-based interfaces. Overall, swing offers a simple yet powerful way to implement gesture-driven interactions in web applications.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 17
    TW Elements

    TW Elements

    Huge collection of Tailwind MIT licensed (free) components

    TW Elements is a large collection of UI components, templates, and plugins built specifically for Tailwind CSS, designed to extend its functionality with interactive and pre-designed elements. It provides hundreds of ready-to-use components, including forms, buttons, navigation elements, and layout blocks, enabling developers to build complete interfaces quickly. Unlike basic Tailwind utilities, TW Elements adds interactivity through JavaScript-powered components such as modals, dropdowns, and carousels, making it more feature-rich. The library includes a design system called Material Minimal, which combines elements of Material Design with a more refined and modern aesthetic. It supports easy theming and customization using Tailwind’s configuration system, allowing developers to adapt styles to their branding needs. TW Elements can be integrated into various frameworks and environments, including React, Vue, and standard HTML projects, with simple installation methods via npm or CDN.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 18
    currency.js

    currency.js

    A javascript library for handling currencies

    currency.js is a lightweight JavaScript library designed to handle currency values with precision by avoiding common floating point arithmetic issues inherent in JavaScript. It achieves this by internally representing values as integers, which allows for accurate calculations even when dealing with decimals. The library provides a simple and intuitive API for performing operations such as addition, subtraction, multiplication, and division on monetary values. It is optimized for performance and minimal footprint, making it ideal for applications where bundle size and speed are important considerations. currency.js also includes formatting capabilities, allowing developers to display currency values in user-friendly formats with customizable symbols and separators. Its simplicity makes it particularly appealing for smaller projects or cases where a full financial library is not required.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 19
    egjs

    egjs

    Javascript components group that brings easiest way to build web apps

    egjs is Javascript components group that brings easiest and fastest way to build a web application in your way.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 20
    mongoose-paginate-v2

    mongoose-paginate-v2

    A custom pagination library for Mongoose with customizable labels

    mongoose-paginate-v2 is a pagination library having a page wrapper. The main usage of the plugin is you can alter the return value keys directly in the query itself so that you don't need any extra code for transformation. The initial idea of this plugin is loosely based on the mongoose-paginate package by github.com/edwardhotchkiss/. So this can be considered as an upgraded version of mongoose-paginate with many more options.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 21
    react-window

    react-window

    React components for rendering large lists and tabular data

    React window works by only rendering part of a large data set (just enough to fill the viewport). This helps address some common performance bottlenecks. It reduces the amount of work (and time) required to render the initial view and to process updates. It reduces the memory footprint by avoiding over-allocation of DOM nodes. react-window is a complete rewrite of react-virtualized. If react-window provides the functionality your project needs, it is strongly recommend that you use it instead of react-virtualized. However if you need features that only react-virtualized provides, you have two options. Use react-virtualized. (It's still widely used by a lot of successful projects!). Or, create a component that decorates one of the react-window primitives and adds the functionality you need. You may even want to release this component to NPM (as its own, standalone package)!
    Downloads: 5 This Week
    Last Update:
    See Project
  • 22
    sensitive-fields

    sensitive-fields

    List of sensitive fields that should be purged for security purposes

    List of sensitive fields that should be masked, obfuscated, or purged for security purposes.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 23
    stdlib

    stdlib

    Standard library for JavaScript and Node.js

    A standard library for javascript and node.js. High performance, rigorous, and robust mathematical and statistical functions. Build advanced statistical models and machine learning libraries. Plotting and graphics functionality for data visualization and exploratory data analysis. Analyze and understand your data. Comprehensively tested utilities for application and library development. Functions to assert, group, filter, map, pluck, and transform your data both in browsers and on the server. Everything you would expect from a modern standard library. Consistent interfaces combined with extensive documentation, examples, tests, and benchmarks. High-quality implementations so you can focus less on finding the right package and more on getting work done.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 24
    100 proyectos de JavaScript

    100 proyectos de JavaScript

    100 JavaScript projects with code and videos for free

    100 proyectos de JavaScript is a large collection of 100 JavaScript projects, each with source code and an accompanying video tutorial, offered entirely for free. The repository is tied to the website javascript100.dev, which presents the projects as a structured learning path so learners can progressively build their skills through practice.Each project lives in its own numbered folder (for example, 01-tinder-swipe), and the README explains how to run them via the VS Code Live Preview extension, making it easy for beginners to get them running without complex tooling. The projects cover a variety of small apps and UI experiments, such as swipe interactions, classic games, typing tests, and more, focusing on vanilla JavaScript with HTML and CSS to reinforce core skills. The contribution section invites the community to fork the repo, implement or improve projects, and open pull requests, turning the collection into a collaborative learning space.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 25
    AboutLibraries

    AboutLibraries

    AboutLibraries automatically collects all dependencies and licenses

    .. collects all dependency details including licenses at compile time, and offers simple APIs to visualize these in the app. No runtime overhead. Strong caching. Any gradle dependency is supported.
    Downloads: 4 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB