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.

  • $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
  • 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
    This is a JavaScript library which can be used across platforms for developing desktop and web widgets. The purpose is that the common functionalities like setting/getting preferences etc can be wrapped in a function that can be used across platforms
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    csg.js

    csg.js

    Constructive solid geometry on meshes using BSP trees in JavaScript

    csg.js is a JavaScript library implementing constructive solid geometry (CSG) operations on polygonal meshes using BSP trees. With CSG, you build complex 3D shapes by combining primitives using Boolean operations like union, subtract, and intersect. The library focuses on clarity and correctness: its implementation is intentionally concise and readable so developers can understand the algorithm, while still correctly handling tricky edge cases such as overlapping coplanar polygons. A WebGL-based demo shows how two solids can be combined interactively in the browser, making it a great educational tool for learning CSG concepts. The API allows you to create primitives (cubes, spheres, etc.) and then combine or transform them programmatically, producing new mesh geometry for rendering or export. Because it is dependency-light and pure JavaScript, csg.js can be integrated into custom modeling tools, CAD-like apps, games, or procedural modeling pipelines running in the browser or Node.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    cube-ui

    cube-ui

    Mobile UI library implement by Vue

    cube-ui is an elegant mobile component library based on Vue.js. From DiDi interior component library and has been put to business test for more than one year. Every component has full unit tests to provide assurance for continuous integration. Make quick response, fluent animation and close to native components as the goal, and pursue the perfection of the interactive experience. Follow a uniform design interaction standard and highly restore the design; Standardize the interface and unify the way of use, making development more simple and efficient. Lightweight and flexible, support post-compile and importing on demand; High scalability, it is easy to implement secondary development based on existing components. By API invoking, the popup layer is attached to body element whose advantage is that it wouldn't be affected by outer styles. If using component invoking, it's fairly easy to be affected by outer styles like transform, overflow, etc.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    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: 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
    dat.GUI

    dat.GUI

    dat.gui is a lightweight controller library for JavaScript

    A lightweight graphical user interface for changing variables in JavaScript. The easiest way to use dat.GUI in your code is by using the built source at build/dat.gui.min.js. These built JavaScript files bundle all the necessary dependencies to run dat.GUI. If you're using a server with a Content Security Policy in place that blocks 'unsafe-inline', you will have problems when dat.gui.js tries to inject style information. To get around this, load 'build/dat.gui.css' as an external style sheet. With the npm run build script you can build development and production version of scripts. And with the npm run dev script you can build development version of script and watch for changes.
    Downloads: 0 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: 0 This Week
    Last Update:
    See Project
  • 7
    dc.js

    dc.js

    Multi-Dimensional charting built to work natively with crossfilter

    dc.js is a javascript charting library with native crossfilter support, allowing highly efficient exploration on large multi-dimensional datasets (inspired by crossfilter's demo). It leverages d3 to render charts in CSS-friendly SVG format. Charts rendered using dc.js are data driven and reactive and therefore provide instant feedback to user interaction. Dimensional charting built to work natively with crossfilter rendered using d3.js. In dc.js, each chart displays an aggregation of some attributes through the position, size, and color of its elements, and also presents a dimension which can be filtered. When the filter or brush changes, all other charts are updated dynamically, using animated transitions. dc.js is an easy yet powerful javascript library for data visualization and analysis in the browser and on mobile devices.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    deb.js

    deb.js

    Minimalistic JavaScript library for debugging in the browser

    deb.js is a minimal JavaScript debugging library for browser-based development. It works at the function level by letting developers add a debugging wrapper to existing functions. When those functions run, deb.js groups console output and places logs in clearer execution context. It can show stack traces, passed arguments, and execution time, which helps developers understand how functions behave at runtime. The library is very small and can be added near the top of a page before other scripts. It also had a Chrome extension workflow, making it easier to inject debugging behavior into pages during development.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    Downloads: 0 This Week
    Last Update:
    See Project
  • 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
  • 10
    discord.io

    discord.io

    A small, single-file library for creating DiscordApp clients

    A small, single-file, fully featured Discordapp library for Node.js and browsers.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    Application to create PDF document on the fly from any source file format(PRN,HTML,TEXT,CSV) with complete mailing system and reports module. It's made over following library Pdf - IText Web Server- Simple Frame work Database- H2
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    document-register-element

    document-register-element

    A stand-alone working lightweight version of the W3C

    document-register-element is a lightweight polyfill that brought Custom Elements APIs to browsers without complete native support. It supports both the older V0 model and much of the V1 specification, including autonomous elements and customized built-in elements. Developers can define components with lifecycle callbacks that respond to creation, connection, removal, and observed attribute changes. The package uses feature detection so modern browsers can retain native behavior instead of receiving unnecessary patches. It can be loaded through npm, CommonJS, AMD, bundlers, a script tag, or a CDN. The repository is archived and deprecated, and its maintainer recommends newer custom-elements packages for current projects.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    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: 0 This Week
    Last Update:
    See Project
  • 14
    electron-vue-admin

    electron-vue-admin

    Vue electron admin template web

    Electron-vue-admin is an admin dashboard scaffold that bundles Vue.js with Electron to deliver a desktop admin experience. It is based on the well-known vue-admin-template and generated with electron-vue tooling via Vue CLI. The project aims to let teams reuse familiar Vue components, routing, and permission models while packaging the app as a cross-platform desktop application. Because it inherits from the template ecosystem, you can incorporate patterns like Element UI components, axios-based API calls, and role-based navigation. It’s useful for internal tools that benefit from native-like desktop packaging, offline capabilities, or OS-level integrations. The repository provides a recognizable structure so Vue developers can get productive quickly without learning a new desktop-specific framework from scratch.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    embed-js

    embed-js

    A lightweight plugin to embed emojis, media, maps, tweets, code, etc.

    A lightweight JavaScript plugin to embed emojis, media, maps, tweets, code and services. embed.js was developed with a modern JavaScript workflow in mind. To use it, it's recommended you have a build system in place that can transpile ES6, and bundle modules. But at the same time, you get an already transpiled version to make your development easier. If you’re using npm package manager with a module bundler like Webpack or Browserify to consume CommonJS modules, you can use the default UMD build of the plugin by simply requiring it. The render() method renders the resulting string in the block. The .render() method also returns a promise. Optionally you can also pass a string which will be processed by the plugin.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    ember-intl

    ember-intl

    Localization library for any Ember Application or Addon

    Internationalize your Ember apps. Ember-intl is an internationalization addon that unlocks translating simple to complex messages using built-in pluralization rules, number and datetime formatting, with support for over 150 languages. Ember-intl is now entirely built on native ECMAScript Internationalization APIs that are now supported by all modern browsers. Locale-aware numbers. Formatting of currencies, decimals, and percentages. Locale-aware dates and times formatting. Locale-aware display of relative time. i.e, "in 1 day", "2 years ago", etc. Support for 150+ languages. Built largely on standards. ICU message syntax & Native Intl API. Extensive Ember Service API and template helpers for formatting and translating. Advanced addon support to provide translations to the host app.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    emojipacks

    emojipacks

    CLI to bulk upload emojis to your Slack

    CLI to bulk upload emojis to your Slack! Note you must have node and npm installed. If you don't, go to nodejs.org and follow the install instructions there. A file named batchUploadExample.sh is provided for your reference. Edit this file change the subdomain, email, and password parameters to your own and save it as batchUpload.sh or something similar. It optionally takes an argument for the directory path that contains your yaml files. If this is not provided './packs' will be used by default.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    epic-spinners

    epic-spinners

    Easy to use CSS spinners collection with Vue.js integration

    Easy to use CSS spinners collection with Vue.js integration. Developed by Epicmax. Subscribe to our newsletter to get Epic Spinners updates, our team's stories, and Vue.js materials hand-picked by Epicmax. We've collected and crafted a rich collection of spinners animated with CSS which are available both as HTML/CSS code snippets and easily customizable vue.js components. View demo to see vue.js components usage examples and HTML/CSS source code. To use pure HTML/CSS version, visit our gallery and click any spinner to see its HTML/CSS source code. You can easily configure spinners' size, color, and animation speed.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    ezUser is a simple framework for adding user authentication and registration to your PHP website. Simply include ezUser.php in your project and a single line of code will enable your site to accept user registrations and logins. That's it!
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    fe-advanced-interview

    fe-advanced-interview

    A Guide to Advanced Front-End Interviews

    fe-advanced-interview is a comprehensive front-end engineering interview preparation repository focused on advanced web development concepts, system design, and real-world technical problem solving. The project compiles high-level interview questions and explanations covering JavaScript internals, browser rendering, networking, performance optimization, frameworks, architecture, and engineering best practices. Unlike beginner-focused interview guides, it emphasizes deeper understanding of how front-end technologies work internally and how large-scale applications are designed and maintained. The repository is structured as a learning resource for experienced developers preparing for senior engineering interviews at major technology companies. It combines theoretical explanations with practical examples, helping users strengthen both conceptual understanding and applied engineering skills.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    gChartToolPHP

    gChartToolPHP

    A PHP Wrapper for the Google Chart Tool Class

    gChartToolPHP provides a simple, comprehensive wrapper to easily produce Google client-side charts. graphs and tables using only PHP code, and embed them in your own pages. It provides support for all the current Google chart formats including the more complex charts such as bubbles, gauges and scatter charts. In addition, a Google Toolbar can be added to the chart to allow easy export of the data Data can be supplied to the chart in the following ways: 1. Static data sets embedded in the page 2. Dynamically created PHP array data 3. An AJAX call to a Server program 4. A Google Spreadsheet
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    gitmoji

    gitmoji

    An emoji guide for your commit messages

    Gitmoji is an initiative to standardize and explain the use of emojis on GitHub commit messages. Gitmoji is an emoji guide for GitHub commit messages. Aims to be a standarization cheatsheet, guide for using emojis on GitHub's commit messages. Using emojis on commit messages provides an easy way of identifying the purpose or intention of a commit with only looking at the emojis used. As there are a lot of different emojis I found the need of creating a guide that can help to use emojis easier. This project is Open Source, that means everyone can participate, suggesting, discussing and adding new emojis. Take a look at the contributing section and guidelines for contributing. An easy solution for using gitmoji from your command line, is to install gitmoji-cli. A gitmoji interactive client for using emojis on commit messages. This project is a static website built with Next.js. All the gitmojis displayed are rendered from a JSON file.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    glMatrix

    glMatrix

    Javascript Matrix and Vector library for High Performance WebGL apps

    Javascript has evolved into a language capable of handling realtime 3D graphics, via WebGL, and computationally intensive tasks such as physics simulations. These types of applications demand high performance vector and matrix math, which is something that Javascript doesn't provide by default. glMatrix to the rescue! glMatrix is designed to perform vector and matrix operations stupidly fast! By hand-tuning each function for maximum performance and encouraging efficient usage patterns through API conventions, glMatrix will help you get the most out of your browsers Javascript engine.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    glfx.js

    glfx.js

    An image effects library for JavaScript using WebGL

    glfx.js is a JavaScript image-effects library that uses WebGL to apply real-time filters and transformations directly in the browser. It exposes a simple API where images are uploaded into GPU textures, processed with shader-based filters, and rendered to a WebGL canvas. Because the work is done on the GPU, many effects that would be too slow in pure JavaScript (like complex blurs, lens effects, or tilt-shift) can run interactively, even on large images. The library is structured around three components: textures (image sources), filters (shader pipelines), and canvases (render targets), making it easy to compose multiple effects. A demo page showcases a variety of filters, from basic brightness/contrast adjustments to more advanced distortions and color manipulations. glfx.js remains a handy reference and solution for anyone needing client-side photo editing, visual effects, or generative graphics powered by WebGL.
    Downloads: 0 This Week
    Last Update:
    See Project