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.

  • Build Agents and Models on One Platform Icon
    Build Agents and Models on One Platform

    Everything you need to build production-ready agents and models. Access 200+ Google and third-party AI models and tools.

    Gemini Enterprise Agent Platform is Google Cloud's comprehensive platform for developers to build, scale, govern, and optimize agents and models. Choose from Google's most advanced models and third-party models like Anthropic's Claude Model Family.
    Try It Free
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New to Google Cloud? Get $300 in credits to explore Compute Engine, BigQuery, Cloud Run, Gemini Enterprise Agent Platform, and more.

    Start your next project with $300 in free Google Cloud credit. Spin up VMs, run containers, query petabytes in BigQuery, or build agents with Gemini Enterprise Agent Platform. Once your credits are used, keep building with 20+ always-free tier products including Compute Engine, Cloud Storage, GKE, and Cloud Run functions. No commitment required—just sign up and start building.
    Claim $300 Free
  • 1
    howler.js

    howler.js

    Javascript audio library for the modern web

    howler.js is an audio library for the modern web. It defaults to Web Audio API and falls back to HTML5 Audio. This makes working with audio in JavaScript easy and reliable across all platforms. Additional information, live demos and a user showcase are available at howlerjs.com. Single API for all audio needs, defaults to Web Audio API and falls back to HTML5 Audio, handles edge cases and bugs across environments, supports all codecs for full cross-browser support, automatic caching for improved performance, control sounds individually, in groups or globally, playback of multiple sounds at once. Easy sound sprite definition and playback, full control for fading, rate, seek, volume, etc. Easily add 3D spatial sound or stereo panning, modular - use what you want and easy to extend. No outside dependencies, just pure JavaScript. As light as 7kb gzipped.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 2
    p5.js

    p5.js

    Client-side JS platform for artists, designers and students to express

    p5.js is a JavaScript library for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else! p5.js is free and open-source because we believe software, and the tools to learn it, should be accessible to everyone. Using the metaphor of a sketch, p5.js has a full set of drawing functionality. However, you’re not limited to your drawing canvas. You can think of your whole browser page as your sketch, including HTML5 objects for text, input, video, webcam, and sound. p5.js is an interpretation of Processing for today’s web. We hold events and operate with support from the Processing Foundation. For self-learners and animators, artists, game makers, creative-technologists, curriculum planners, designers, graphic designers, graphics editors, learning experience designers, project managers, software engineer, student, teachers, university faculty members, visualization researchers, etc.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 3
    tabler icons

    tabler icons

    1950 free MIT-licensed high-quality SVG icons

    A set of over 1950 free MIT-licensed high-quality SVG icons for you to use in your web projects. Over 1950 pixel-perfect icons for web design. Free and open-source icons designed to make your website or app attractive, visually consistent, and simply beautiful. Each icon is designed on a 24x24 grid and a 2px stroke. All icons are built with SVG, so you can place them as <img>, background-image and inline in HTML code. If you load an icon as an image, you can modify its size using CSS. You can paste the content of the icon file into your HTML code to display it on the page. Import the icon and render it in your component. You can adjust SVG properties through React props. Angular components are available through the angular-tabler-icons package. Vue components are available through the vue-tabler-icons package. Install the package, import the icon component and render it in your component. You can adjust SVG properties by passing regular HTML attributes.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 4
    web3.js

    web3.js

    Ethereum JavaScript API

    web3.js is the Ethereum JavaScript API that connects to the Generic JSON-RPC spec. It is composed of a selection of libraries that make it possible to interact with a local or remote ethereum node, using a HTTP or IPC connection. The node may be local, hosted by the DApp provider, or a public gateway such as Infura, which operates free Ethereum access points. It is necessary to run a local or remote Ethereum node to be able to use this library. web3.js is directly usable on web technology and is also commonly used on the server side in Node.js applications and in Electron-based desktop applications.
    Downloads: 5 This Week
    Last Update:
    See Project
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Try Free
  • 5
    ChineseBQB

    ChineseBQB

    Chinese sticker pack, more joy/museum of emoticon

    ChineseBQB is an openly shared repository of Chinese-style stickers and memes, essentially a “meme pack / sticker museum” — curated and maintained to collect, categorize, and make accessible a large collection of expressive GIFs and images often used in chats. The repository organizes stickers contributed by many people, and uses a Node.js build script to automatically generate an index of all images, so that users can browse the entire gallery online. The goal is cultural and social: making it easy for “sticker warriors” to find, contribute, and reuse Chinese-style memes for chat, social media, or projects. Because all assets are stored in the repo (or can be downloaded via Git), the collection is transparent, free to use (subject to any licensing / reuse norms), and publicly visible — so contributors get credit for their submissions.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 6
    ChromeAppHeroes

    ChromeAppHeroes

    Chinese manual for excellent Chrome plug-ins

    ChromeAppHeroes appears to be a repository with sample or template Chrome apps/extensions — perhaps intended to help developers learn how to build Chrome applications, quick prototypes, or small utilities. As such, it likely includes boilerplate code, manifest definitions, example UI components, and sample functionality (e.g. browser-action buttons, content scripts, background scripts) to illustrate how to structure a Chrome app. For learners or developers new to Chrome extension/app development, ChromeAppHeroes could serve as a starting kit: instead of starting from scratch, they can clone or fork the repo and immediately begin building features, thereby speeding up development. The repository’s open-source nature means users are free to adapt, extend, or repurpose the sample apps to their own needs — for example, privacy tools, quick productivity extensions, or custom browser tooling.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 7
    Complete JavaScript Course

    Complete JavaScript Course

    Starter files, final projects, and FAQ for Complete JavaScript course

    Complete JavaScript Course is the official code repository for Jonas Schmedtmann’s Complete JavaScript Course. It contains starter files, final project files, and frequently asked questions that support the video-based Udemy course. The material is organized by course sections, covering fundamentals, developer skills, DOM projects, JavaScript internals, data structures, functions, arrays, OOP, asynchronous JavaScript, modules, tooling, and larger final applications. Learners can start with the starter code and compare their work with the final versions when debugging. The repository also links to deployed examples of major projects such as Pig Game, Bankist, Mapty, and forkify. It is primarily an educational companion resource rather than a standalone software product.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 8
    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: 4 This Week
    Last Update:
    See Project
  • 9
    ECharts

    ECharts

    A powerful, interactive charting and visualization library for browser

    ECharts is a free and open source charting and visualization library that gives you an easy way to add interactive, intuitive, custom charts to your commercial products, projects, presentations and more. It offers a rich set of features that includes rendering ability for ten-million-level data, Wechart and Powerpoint support, multi-dimension data analysis, and more. It also has a number of extensions for various applications. ECharts is written in pure JavaScript, and is based on zrender, a new and lightweight canvas library.
    Downloads: 4 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
    GoJS

    GoJS

    JavaScript diagramming library for interactive flowcharts & org charts

    Build interactive flowcharts or flow diagrams. Let your users build, modify, and save diagrams with JSON model output. Visualize state charts and other behavior diagrams. Create diagrams with live updates to monitor state, or interactive diagrams for planning. GoJS allows considerable customization of links and nodes to build all kinds of diagrams. Visualize flow, or connect pipes. Create genogram and medical diagrams, or editable family trees with collapsible levels. Create classic org charts for viewing or editing. Automatic layouts make different visualization options easy. Dynamically add ports and custom link routing. Use data-bindings to save and load routes within the Model JSON. Use groups as containers and subgraphs, with group members bound by their own rules and layouts. Model industrial processes, workflows, SCADA diagrams and more.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 11
    LaTeX.CSS

    LaTeX.CSS

    LaTeX.css is a library that makes your website look like a LaTeX doc

    This almost class-less CSS library turns your HTML document into a website that looks like a LATEX document. Write semantic HTML, and you are good to go. The source code can be found on GitHub. LaTeX.css is a minimal, almost class-less CSS library that makes any website look like a LaTeX document. Add any optional classes to elements with special styles (author subtitle, abstract, lemmas, theorems, etc.). The labels of theorems, definitions, lemmas and proofs can be changed to other supported languages by including the snippet provided in addition to the main CSS file. Sidenotes can be used as an alternative to footnotes, where the user does not have to jump to the bottom of the page to read it. On mobile, click the superscript to reveal the note. Add a class of left to the span with the sidenote class to make the note appear on the left side of the page on instead of right.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 12
    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: 4 This Week
    Last Update:
    See Project
  • 13
    Workbox

    Workbox

    JavaScript libraries for Progressive Web Apps

    Workbox is a set of libraries that can power a production-ready service worker for your Progressive Web App. Stop waiting on the network! You can improve your web app's performance by caching and serving your files, powered by a service worker. Even on an unreliable connection, your web app can still work using the right runtime caching strategies. Looking to build a progressive web app? Workbox makes it easy to create an offline first experience. Workbox is a library that bakes in a set of best practices and removes the boilerplate every developer writes when working with service workers. Precaching, runtime caching, strategies, request routing, background sync, and helpful debugging. Wish you could rely on Google Fonts being available offline after the user has visited your site? Add a quick rule to serve them from the cache. Make your JS and CSS fast by returning the assets from the cache, while making sure they are updated in the background for the next use.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 14
    k-skill

    k-skill

    Skill collection for Koreans - SRT, KTX, KakaoTalk, Hangul

    The k-skill project is an AI skill management framework designed to organize, structure, and execute reusable capabilities within AI-driven development environments. It focuses on defining skills as modular, composable units that can be invoked by agents to perform specific tasks such as coding, reasoning, or automation. The system provides a standardized structure for skills, enabling consistency across different workflows and improving interoperability between tools. It is designed to integrate with modern AI agent ecosystems, allowing developers to extend functionality without rewriting core logic. The project emphasizes simplicity and modularity, making it easier to manage large collections of skills in complex environments. It also supports extensibility, enabling users to define custom skills tailored to their needs. Overall, k-skill serves as a foundational layer for building structured and scalable AI agent capabilities.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 15
    toastr

    toastr

    Simple javascript toast notifications

    toastr is a Javascript library for Gnome / Growl type non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended. Toastr will supply default animations, so you do not have to provide any of these settings. However you have the option to override the animations if you like. Optionally override the animation easing to show or hide the toasts. Default is swing. swing and linear are built into jQuery. Use the jQuery show/hide method of your choice. These default to fadeIn/fadeOut. The methods fadeIn/fadeOut, slideDown/slideUp, and show/hide are built into jQuery. Rather than having identical toasts stack, set the preventDuplicates property to true. Duplicates are matched to the previous toast based on their message content. Control how toastr interacts with users by setting timeouts appropriately. Visually indicate how long before a toast expires.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 16
    wxapp-mall

    wxapp-mall

    WeChat Mini Program Mall Demo

    wxapp-mall is an open-source demonstration storefront built for the WeChat Mini Program platform. It recreates the main customer flows of a mobile shopping application using native mini-program files and components. Users can browse a home page, search products, explore categories, view item lists, and open detailed product pages. The project also includes a shopping cart, order flow, account center, and delivery-address management. It is primarily intended as a learning reference for developers studying WeChat commerce interfaces and cart behavior. The repository can be opened directly in WeChat Developer Tools for previewing and modification. A separate uni-app branch extends the concept so it can be packaged for apps, mini programs, and H5 web environments.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 17
    Discord.js

    Discord.js

    A powerful JavaScript library for interacting with the Discord API

    discord.js is a powerful Node.js module that allows you to interact with the Discord API very easily. It takes a much more object-oriented approach than most other JS Discord libraries, making your bot's code significantly tidier and easier to comprehend. Usability, consistency, and performance are key focuses of discord.js, and it also has nearly 100% coverage of the Discord API. It receives new Discord features shortly after they arrive in the API.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 18
    Exifr

    Exifr

    The fastest and most versatile JS EXIF reading library

    Exifr is a fast and very versatile JavaScript EXIF reading library that works everywhere, parses everything and handles just about anything you throw at it. It can handle any input: buffers, url, <img> tag and more; .jpg, .tif, and .heic files; and TIFF (EXIF, GPS, etc.), XMP, ICC, IPTC, JFIF segments. It skips parsing tags you don’t need, and reads only the first few bytes. There’s no need to read the whole file to see if there’s an EXIF file in it, or extract all the data when you just need a few tags. Instead of reading byte by byte from start to finish, Exifr jumps through the file structure from pointer to pointer, making it extremely fast and efficient!
    Downloads: 3 This Week
    Last Update:
    See Project
  • 19
    Moment.js

    Moment.js

    Parse, validate, manipulate, and display dates in javascript

    Moment is a JavaScript date and time library that simplifies parsing, formatting, arithmetic, and humanizing of dates. It supports many formats in input and output, internationalization (i18n), locale-based month/day names, relative time (for example, “3 days ago”), and chaining of operations (adding, subtracting, diffing). Developers often use it for calendar displays, scheduling, and manipulating times across time zones or daylight saving transitions. While it makes working with date strings convenient, moment maintains internal mutability, which has trade-offs with safety and chainability. Over time, newer alternatives with immutable and modular designs have emerged, but moment remains widely known and integrated in many legacy projects. Its comprehensive feature set and ease of use made it a standard for date-time handling in JavaScript for many years.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 20
    Opensource

    Opensource

    Delivering delightful digital solutions

    This repository by tunnckoCore serves as a hub for various open-source projects and initiatives. It includes tools, libraries, and resources aimed at improving developer workflows and promoting open-source collaboration.​
    Downloads: 3 This Week
    Last Update:
    See Project
  • 21
    VvvebJs

    VvvebJs

    Drag and drop website builder javascript library

    Drag and drop website builder javascript library. Components and blocks/snippets drag and drop. Undo/Redo operations. One or two panels interface. File manager and component hierarchy navigation. Add a new page. Live code editor. Image upload with example PHP script included. Page download or export HTML or save the page on the server with example PHP script included. Components/Blocks list search. Bootstrap 4 components. Youtube, Google maps, Charts.js, etc widgets. By default, the editor comes with Bootstrap 4 and Widgets components and can be extended with any kind of components and inputs.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 22
    core-js

    core-js

    Modular standard library for JavaScript

    Modular standard library for JavaScript. Includes polyfills for ECMAScript up to 2021: promises, symbols, collections, iterators, typed arrays, many other features, ECMAScript proposals, some cross-platform WHATWG / W3C features and proposals like URL. You can load only required features or use it without global namespace pollution. The maintainers of core-js and the maintainers of thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. If you use core-js with the extension of native objects, recommended load all core-js modules at the top of the entry point of your application, otherwise, you can have conflicts.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 23
    fullPage.js

    fullPage.js

    Create beautiful fullscreen scrolling websites fast and easy

    fullPage.js is an easy-to-use library for creating beautiful, fullscreen scrolling websites/ onepage sites/ single page websites complete with all the features you need. With fullPage.js you can add landscape sliders and links to sections of your site, create smaller or bigger sections, use extensions and more! fullPage.js is compatible with all modern browsers and even some old ones like IE9 and Opera 12. It also provides touch support designed for mobile devices and touch screen computers. fullPage.js is fully supported by a great community, has good documentation and offers plenty of examples to get you started quickly. See these examples on the official website: http://alvarotrigo.com/fullPage/
    Downloads: 3 This Week
    Last Update:
    See Project
  • 24
    lodash

    lodash

    Modern JavaScript utility library delivering modularity & performance

    A modern JavaScript utility library delivering modularity, performance & extras. Lodash makes JavaScript easier by taking the hassle out of working with arrays, numbers, objects, strings, etc. Lodash’s modular methods are great for iterating arrays, objects, & strings, manipulating & testing values, and creating composite functions. Lodash is available in a variety of builds & module formats. Lodash is released under the MIT license & supports modern environments. Review the build differences & pick one that’s right for you. Lodash is available in a variety of builds & module formats. Tested in Chrome 74-75, Firefox 66-67, IE 11, Edge 18, Safari 11-12, & Node.js 8-12.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 25
    tmi.js

    tmi.js

    Javascript library for the Twitch Messaging Interface

    Connect to and interact with Twitch chat (IRC) from Node.js or a browser. Control the delay in milliseconds between JOIN requests when using the channels array option. Minimum of 300 milliseconds. If the identity has special permission from Twitch for a higher join rate then you should implement your own calls to the client.join method. Disable receiving JOIN/PART events for other users. Good for decreasing network traffic when joining lots of channels or you don't care about this data. After a threshold per channel Twitch stops sending this data so it may not be necessary for all cases. Channels to automatically join upon connecting. The rate of joins is controlled by the options.joinInterval option. Automatically reconnect the client if it gets disconnected for any reason. Sometimes Twitch will request the client to reconnect and tmi.js will disconnect and reconnect even if this option is set to false.
    Downloads: 3 This Week
    Last Update:
    See Project