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.

  • Cut Data Warehouse Costs by 54% Icon
    Cut Data Warehouse Costs by 54%

    Easily migrate from Snowflake, Redshift, or Databricks with free tools.

    BigQuery delivers 54% lower TCO with exabyte scale and flexible pricing. Free migration tools handle the SQL translation automatically.
    Try Free
  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Get Started Free
  • 1
    lax.js

    lax.js

    Library to create smooth & beautiful animations when you scroll

    Simple & lightweight (<4kb gzipped) vanilla JavaScript library to create smooth & beautiful animations when you scroll. Lax.js 2.0 has been completely re-written with a focus on modularity and flexibility giving you more tools to create awesome animations. To implement lax you need to create at least one driver, to provide values for animations, as well as the element animation bindings. The easiest way to get started is to use presets via html classes. Multiple presets can be chained together and they can be customised to suit your needs. Use the preset explorer to explore effects and see a simple example here. To increase performance, lax.js indexes the list of elements to animate when the page loads. If you're using a library like React, Vue or EmberJS, it is likely that you are adding elements after the initial window.onload. Because of this you will need to call lax.addElements when you add components to the DOM that you want to animate.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    libpku

    libpku

    Private compilation of curriculum materials in your school

    libpku is a community-driven repository that collects and organizes university course materials, lecture notes, past exams, problem sets, and student-compiled summaries—primarily for Peking University, but also including contributions from other institutions. Its mission is to make hard-to-find, experience-based educational content more openly accessible, so that students don’t have to reinvent what prior generations of learners already collected. The repository is organized into folders by course or subject, where contributors upload PDFs, slides, summaries, and guides (subject to copyright constraints). The project provides a web interface (via a GitHub Pages site) where users can browse and download specific materials conveniently. It maintains a contribution policy encouraging students and alumni to submit missing materials, error corrections, or course commentaries.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    lite-server

    lite-server

    Lightweight node server

    lite-server is a lightweight development server designed to simplify local web development by providing live reloading and static file serving with minimal configuration. It is commonly used for front-end projects, particularly those built with frameworks like Angular, where rapid feedback during development is essential. The server automatically reloads the browser when files change, reducing the need for manual refreshes and speeding up the development cycle. It is built on top of BrowserSync, which enables synchronized testing across multiple devices and browsers. Lite Server requires very little setup, often configured with a simple JSON file or default settings. It supports serving static files, proxying API requests, and customizing server behavior through configuration options. The tool is designed to be easy to integrate into existing workflows, especially when used alongside task runners or package scripts.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    Downloads: 0 This Week
    Last Update:
    See Project
  • 99.99% Uptime for MySQL and PostgreSQL Databases Icon
    99.99% Uptime for MySQL and PostgreSQL Databases

    Sub-second maintenance. 2x read/write performance. Built-in vector search for AI apps.

    Cloud SQL Enterprise Plus delivers near-zero downtime with 35 days of point-in-time recovery. Supports MySQL, PostgreSQL, and SQL Server.
    Try Free
  • 5
    loadable components

    loadable components

    The recommended code splitting library for React

    Loadable Components is an MIT-licensed open source project. It's an independent project with ongoing development. React code splitting made easy. Reduce your bundle size without stress. A React code splitting library, not an alternative to React.lazy. A solution recommended by React Team. Library splitting, prefetching, server side rendering, and full dynamic import features.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    lottery

    lottery

    Annual Meeting Lottery Procedure

    lottery is a browser-based lottery drawing program designed for company annual meetings and event prize draws. It gives organizers a visual way to select winners from a participant pool. The workflow lets users choose a draw size, start the lottery animation, and stop it to generate the final results. It supports draw sizes such as 30, 10, 5, 2, or 1 winner at a time. After a participant wins, the app marks that person so they are not selected again in later rounds. It also includes an interactive sphere-style display that can be zoomed in or out with the mouse wheel, making it feel more dynamic for live events.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    m2m-js

    m2m-js

    Vanilla js Libraries

    m2m-js is a set of various Vanilla js libraries. Vanilla js. Vanilla Javascript/ Sortable Grid / Repeater / List library. Form Validation. Easy Field Binding. Supports Template based development. Supports Component Based development. Custom Components like Calendar. Observer-Observable sample. 'Update UI On State Change' in a few lines of code. Fully re-written in ES8.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    mPagesJS JavaScript Library
    mPagesJS is a JavaScript Framework that provides a core interface into all client-side functionality within Cerner Millennium Pages - MPages. mPagesJS makes MPage development quicker and easier.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    magic-string

    magic-string

    Manipulate strings like a wizard

    magic-string is a small JavaScript utility for editing strings while preserving accurate source maps. It is designed for compilers, bundlers, preprocessors, and code transformation tools that need to rewrite source code safely. The library lets developers overwrite, append, prepend, remove, move, and slice sections of text without losing track of where transformed content came from. This makes it especially useful when generated output still needs to map back to the original source for debugging. Magic String works in both Node.js and browser environments. Its main value is making code manipulation precise, fast, and source-map-friendly for build tools and language tooling.
    Downloads: 0 This Week
    Last Update:
    See Project
  • $300 Free Credits for Your Google Cloud Projects Icon
    $300 Free Credits for Your Google Cloud Projects

    Start building on Google Cloud with $300 in free credits. No commitment, no credit card required until you're ready to scale.

    Launch your next project with $300 in free Google Cloud credits—no strings attached. Test, build, and deploy without risk. Use your credits across the entire Google Cloud platform to find what works best for your needs. After your credits are used, continue with always-free tier services. Only pay when you're ready to scale. Sign up in minutes and start exploring.
    Start Free Trial
  • 10
    Magix cjQuery est un framework PHP 5 permettant de manipuler jQuery dans le code PHP. Une abstraction de base de donnée rapide et simple, permet de mettre en place une communication dynamique avec vos bases de donnée.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    mathjs

    mathjs

    An extensive math library for JavaScript and Node.js

    mathjs is a comprehensive mathematics library for JavaScript and Node.js that provides advanced numerical, symbolic, and matrix computation capabilities through a flexible expression-based interface. The library supports a wide range of mathematical operations including algebra, statistics, complex numbers, fractions, units, matrices, and symbolic manipulation while maintaining compatibility across browsers and server environments. One of its defining features is its expression parser, which allows users to evaluate and manipulate mathematical expressions written in a natural math-like syntax. mathjs is highly modular, enabling developers to include only the functionality they need for optimized application size and performance. The project is widely used in scientific computing, educational software, calculators, engineering tools, and data analysis applications. Its architecture combines accessibility for beginners.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    Messi is a REST ajax framework for java and php. Database is manipulated transparently via SQL statements using javascript. Records are fetched to browser as scrollable dataset linked to data-aware JS widges such as editable grid and various fields.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    metismenu

    metismenu

    A collapsible jQuery menu plugin

    A collapsible jQuery menu plugin. This version does not support any version of IE browser. Setting aria-disabled="true" in the <a> element as shown will stop metisMenu from opening the menu for that particular list.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    minicle

    minicle

    A Node.js module for easily processing command line switches and args

    There are scads of CLI parsers out there, so why another one? Mostly because the others aim to do too much and can be a pain to use when you just need something quick and simple. All Minicle does is parse CLI options. It doesn't handle exotic edge cases, generate usage information, validate arguments, or anything else. It does handle all the usual basics plus git-style subcommands.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    minimatch

    minimatch

    A glob matcher in javascript

    minimatch is a lightweight JavaScript library that implements glob style pattern matching for file paths and strings. It is commonly used in Node.js tooling, build systems, and file walkers to determine whether paths match specified patterns. The library reproduces the behavior of Bash style glob expansion while adding Node specific handling for path separators. It is designed to be small, fast, and reliable, making it suitable for performance-sensitive workflows. Developers often use minimatch as a foundational dependency in larger tools such as package managers and bundlers. The project focuses on correctness in pattern parsing and cross-platform behavior. Overall, minimatch serves as a core utility for pattern-based file matching in the JavaScript ecosystem.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    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
  • 17
    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
  • 18
    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
  • 19
    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
  • 20
    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
  • 21
    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
  • 22
    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
  • 23
    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
  • 24
    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
  • 25
    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