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.

  • Earn up to 16% annual interest with Nexo. Icon
    Earn up to 16% annual interest with Nexo.

    Access competitive interest rates on your digital assets.

    Generate interest, borrow against your crypto, and trade a range of cryptocurrencies — all in one platform. Geographic restrictions, eligibility, and terms apply.
    Get started with Nexo.
  • 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
  • 1
    minireset.css

    minireset.css

    A tiny modern CSS reset

    minireset.css is a very small CSS reset that removes the most inconsistent default styles across browsers without wiping out useful defaults. Unlike heavy resets or opinionated base styles, it aims to be non-intrusive and safe to drop into any project. It normalizes margins, box sizing, and some inline element behaviors so that components render predictably. The file is intentionally short and readable, making it easy to audit and tailor to your needs. Because the footprint is tiny, it’s friendly for performance-sensitive apps and component libraries. It’s well-suited for situations where you want consistent baseline behavior but prefer to supply your own design system styles on top.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    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: 0 This Week
    Last Update:
    See Project
  • 3
    multiScroll.js

    multiScroll.js

    multiscroll plugin by Alvaro Trigo. Create scrolling split websites

    A simple plugin to create multi-scrolling websites with two vertical scrolling panels. Customizations of the plugin are available upon request for a reasonable price. This plugin its in Beta version. Suggestions are more than welcome, not only for feature requests but also for coding style improvements. multiScroll.js is fully functional on all modern browsers, as well as some old ones such as Internet Explorer 8, 9, and Opera 12... It works with browsers with CSS3 support and with the ones that don't have it, making it ideal for old browser compatibility. It is designed to work as well on touch devices such as mobile phones or tablets.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    ng-demos

    ng-demos

    Variety of angular demos

    ng-demos is a collection of sample Angular applications and code examples designed to demonstrate best practices, patterns, and techniques for building modern web applications. The repository includes multiple demo projects that showcase different aspects of Angular development, such as component design, routing, data services, and state management. It is intended as a learning resource for developers who want to see practical implementations of concepts discussed in tutorials and style guides. The demos are structured to be easy to understand and experiment with, allowing developers to modify and extend the examples. The project also highlights real-world scenarios, helping users understand how Angular features are applied in production-like environments. It serves as a companion resource to educational materials and presentations by John Papa. By providing working examples, it bridges the gap between theory and practice.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 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, govern, and optimize agents and models with Gemini Enterprise Agent Platform.
    Start Free
  • 5
    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: 0 This Week
    Last Update:
    See Project
  • 6
    node-emoji

    node-emoji

    Simple emoji support for node.js projects

    A simple emoji support for node.js projects. To install node-emoji, you need node.js and npm. Once you have that set-up, just run npm install --save node-emoji in your project directory. You're now ready to use emoji in your node projects! There are some emojis that have "-" in their name, for example "t-rex" and refrencing them directly like this (emoji.t-rex) won't work. In such cases, use the emoji.get('t-rex') syntax instead. To update the list or add custom emoji, clone this repository and put them into lib/emojifile.js. Then run npm run-script emojiparse in the project directory or node emojiparse in the lib directory. This should generate the new emoji.json file and output Done.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    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: 0 This Week
    Last Update:
    See Project
  • 8
    node.js-clean-architecture

    node.js-clean-architecture

    A use case of Clean Architecture in Node.js comprising of Express.js

    node.js-clean-architecture is a reference implementation that demonstrates how to structure Node.js applications using Clean Architecture principles. It separates concerns into distinct layers such as domain, application, infrastructure, and presentation, ensuring that business logic remains independent of external frameworks and technologies. The project is designed to improve maintainability, scalability, and testability by enforcing clear boundaries between components. It provides practical examples of dependency injection, use cases, and repository patterns, helping developers understand how to apply theoretical concepts in real-world applications. The structure allows teams to adapt or replace technologies without affecting core logic, which is essential for long-term projects. It also includes testing strategies that align with the architecture, ensuring that each layer can be validated independently.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    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
  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • 10
    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
  • 11
    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
  • 12
    paroller.js

    paroller.js

    Parallax scrolling jQuery plugin

    paroller.js is a lightweight jQuery plugin that enables parallax scrolling effects on selected elements. To enable the parallax scrolling effect you can use data-patroller-* attributes on selected elements or set values via jQuery. 'factor' sets the speed and distance of the element's parallax effect on scroll.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    pidCrypt
    pidCrypt is no longer maintained! pidCrypt is a crypto library offering modular cryptographic functions in JavaScript. Supports: AES (CBC & CTR Mode), RSA, MD5, SHA-1, SHA-256, SHA-384, SHA-512, ASN.1, Base64, UTF-8. The AES-CBC mode is compatible to OpenSSL.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    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
  • 15
    plotly.js

    plotly.js

    JavaScript charting library behind Plotly and Dash

    Plotly JavaScript Open Source Graphing Library. Built on top of d3.js and stack.gl, Plotly.js is a high-level, declarative charting library. plotly.js ships with over 40 chart types, including 3D charts, statistical graphs, and SVG maps. plotly.js is free and open source and you can view the source, report issues or contribute on GitHub. For plotly.js to build with Webpack you will need to install ify-loader@v1.1.0+ and add it to your webpack.config.json. This adds Browserify transform compatibility to Webpack which is necessary for some plotly.js dependencies. When users hover over a figure generated with plotly.js, a modebar appears in the top-right of the figure. This presents users with several options for interacting with the figure. When users hover over a figure generated with plotly.js, a modebar appears in the top-right of the figure. This presents users with several options for interacting with the figure.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    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
  • 17
    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
  • 18
    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
  • 19
    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
  • 20
    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
  • 21
    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
  • 22
    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
  • 23
    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: 0 This Week
    Last Update:
    See Project
  • 24
    redocx

    redocx

    Create word documents with React

    redocx is a library that lets you create Word documents with React. It provides a set of components that renders your declarative views and components to Word documents.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    redux-router

    redux-router

    Redux bindings for React Router

    The redux-router project is a library that integrates React Router with Redux by storing routing state directly inside the Redux store. This approach allows developers to treat navigation as part of the global application state, enabling consistent state management across the entire app. By synchronizing route changes with Redux actions, it becomes easier to trigger navigation programmatically and respond to route updates using familiar Redux patterns. The library maintains compatibility with the existing React Router API, ensuring that standard components and navigation methods continue to work seamlessly. It also enables advanced capabilities such as time-travel debugging, where navigation history can be replayed using Redux DevTools. Additionally, it supports serialization and deserialization of routing state, making it useful for server-side rendering and debugging scenarios.
    Downloads: 0 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB