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.

  • 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
  • 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
  • 1
    Image Map Resize

    Image Map Resize

    Responsive HTML Image Maps

    This is a simple library that makes HTML Image Maps responsive so that they automatically stay scaled to the size of the image they are attached to. It detects the window being resized and updates the coordinates of the image map accordingly. This library can be used with or without jQuery.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    Image Select

    Image Select

    Image Select is an extension of Chosen, a jQuery plugin

    We designed this plugin extension as a humanized UI element for social networking sites that need to facilitate relations between people. Research shows that people are extremely sensitive to photos of others, so we needed to revamp the traditional UI elements to make them more intuitive and human. You can use these plugin extensions for modeling multiple (one-to-many) or single (one-to-one) relations between people. We couldn't find any scripts that had this full functionality, so we developed it ourselves on top of Chosen. Hope you find it helpful, and get back if you have any feedback/improvements.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    Immutable.js

    Immutable.js

    Immutable collections for JavaScript

    Immutable.js offers a collection of Persistent Immutable data structures for JavaScript. Immutable data is unchangeable once created, which makes application development so much simpler. There’s no defensive copying, and you get advanced memoization and change detection techniques with simple logic. Persistent data gives you a mutative API, one that doesn’t update data in-place but always produces new and updated data. The data structures that Immutable.js provides include List, Stack, Map, OrderedMap, Set and more. These structures are highly efficient on modern JavaScript VMs, and minimize the need to cache or copy data.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    Inferno

    Inferno

    React-like JavaScript library for building modern user interfaces

    Inferno is an insanely fast, React-like library for building high-performance user interfaces on both the client and server. React-like API, concepts and component lifecycle events. Switch over easily with inferno-compat. One of the fastest front-end frameworks for rendering UI in the DOM, making 60 FPS on mobile possible. Isomorphic rendering on both client and server, along with fast-booting from server-side renders. Inferno doesn't have a fully synthetic event system like React does. Inferno has a partially synthetic event system, instead opting to only delegate certain events (such as `onClick`). Inferno doesn't support React Native. Inferno was only designed for the browser/server with the DOM in mind. Inferno doesn't support legacy string refs, use `createRef` or callback `ref` API. Inferno provides lifecycle events on functional components. This is a major win for people who prefer lightweight components rather than ES2015 classes.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Go from Code to Production URL in Seconds Icon
    Go from Code to Production URL in Seconds

    Cloud Run deploys apps in any language instantly. Scales to zero. Pay only when code runs.

    Skip the Kubernetes configs. Cloud Run handles HTTPS, scaling, and infrastructure automatically. Two million requests free per month.
    Try it free
  • 5
    Intense Images

    Intense Images

    A simple library to view large images up close

    Intense Images is a standalone JavaScript library for viewing images in a full-screen, immersive style. It lets users open images into a focused viewer and pan around them using mouse or touch position. The library does not require jQuery or another framework, which makes it easier to add to lightweight web projects. It handles the creation, styling, and management of the viewer and captions while leaving normal image styling up to the developer. Intense Images is useful for portfolios, galleries, product pages, photography sites, and visual storytelling experiences. Its main value is giving websites a simple way to make image viewing feel larger, smoother, and more interactive.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    Intro.js

    Intro.js

    Lightweight library for creating step-by-step customer onboarding

    Intro.js is a lightweight library for creating step-by-step customer onboarding. You can install Intro.js in a few simple steps. Intro.js consists of two main files, the JavaScript part and the CSS part which renders the elements nicely. The simplicity of Intro.js API will help you to develop an advanced onboarding for your products. Intro.js is lightweight, 10kB and has no external dependencies! Intro.js provides various ways to configure your product onboarding and customize every single step of your tour. Intro.js is Free and open-source, published under AGPL license. We also provide commercial license, supporting your team to successfully integrate Intro.js! Intro.js is AGPL-licensed and open-source. However, if you want to use Intro.js in your commercial app, website or plugin, you would need to obtain a commercial license.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    Introduction to Vue.js 3 Course

    Introduction to Vue.js 3 Course

    Workshop Materials for my Introduction to Vue.js Workshop

    Introduction to Vue.js 3 Course houses the workshop materials for an “Introduction to Vue.js” course created by Sarah Drasner, originally delivered on Frontend Masters. The content covers essential Vue.js concepts such as directives, data rendering, methods, watchers, computed properties, components, slots, and the Composition API (for Vue 3), complemented with example code and exercises. Since the course was updated for Vue 3, the repo includes directories for both Vue 2 and Vue 3 resources, enabling learners to explore both versions depending on their work context. Also included are build setups (Vue CLI, Nuxt) and additional sections on animation and advanced topics like custom directives, making it a full learning path rather than just a quick tutorial. The README lists slide sets, exercise folders, solution folders and recommended tooling so that learners can clone the repo and follow along in their own time.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    Involt

    Involt

    Inject hardware interactions directly into HTML layout

    An easy way to think outside the box. Simplicity of HTML and CSS combined with hardware interactions. Create your app using only basic knowledge of HTML, CSS, and Arduino. Instead of learning advanced coding focus on overall experience and quickly develop results. Using CSS allows you to work on the layout and interfacing with the device at once. Involt comes with a UI kit to help you get started. The foundation of Involt is overcoming obstacles that block many concepts from making it to the real world. There are many prototyping tools for software and hardware but none covers both. With its fresh approach, inject tangible interactions into your app like never before.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9

    Ionflux Computer Graphics Toolkit

    Toolkit for 2D and 3D computer graphics

    NOTICE: This repository of IFCG will no longer be maintained. You can find the current version at https://github.com/TehFlux/ifcg The Ionflux Computer Graphics Toolkit is a collection of libraries for 2D and 3D graphics processing. The toolkit is written primarily in C++ and has full Python bindings for all components.
    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
    J-Focus

    J-Focus

    一个Javascript脚本实现的动画应用框架

    J-Focus是一个Javascript脚本实现的动画应用框架,用于快速地开发基于动画效果的Web应用。 J-Focus is a Javascript script to achieve the animation application framework for rapid development of Web applications based on the animated.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    JAgile (or "Java Agile") is a simple but practical framework in Java. It implements some JEE Patterns as Transfer Object, Session Facade, Business Object, DAO Factory and DAO. Its unique persistence implementation is the Hibernate Framework.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12

    JMG

    JavaScript GUI library.

    JMG is a JavaScript GUI library. The goal of the project is to allow developers, the creation of responsive web applications using the same code for desktop and mobile devices.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    JS Bits

    JS Bits

    JavaScript concepts with code

    JS Bits is an open-source collection of JavaScript concepts explained through concise code examples and clear explanations that serve as a practical learning resource for both beginners and experienced developers. It breaks down essential parts of the language — such as core syntax, quirky behaviors, functions, scope, closures, asynchronous patterns, and commonly misunderstood features — into digestible pieces that make it easier to internalize how JavaScript really works in modern development. The repository is organized by topic so that learners can jump directly into areas they want to reinforce or explore, and community contributions are welcomed to expand coverage or add alternative explanations. Rather than being a formal textbook, js-bits acts like a developer’s code-centric cheat sheet that helps bridge the gap between abstract language specifications and real usage patterns in the browser or Node.js.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    JSDo5an is simple JavaScript library for validating user input. All you have to do is to specify the validation rules.Documentation, tutorials on how to use the API can be found at http://www.khaledinho.com/main/?page_id=43
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    A JavaScript library for graphics.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    JSNAV - a library that allows to specify and save some javascript calls in the page's URI. This library helps to standardize the coding javascript URI handler in the anchors. Also it helps to keep the classic navigation anchors.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    JSVerbalExpressions

    JSVerbalExpressions

    JavaScript Regular expressions made easy

    VerbalExpressions is a JavaScript library that helps to construct difficult regular expressions. Methods have a return type of VerbalExpression except where mentioned otherwise. If there is no mention of a method’s parameters, it is to be assumed that it has none. VerEx is the function that is exported from within VerbalExpressions.js and is to be the first method in chains that describe verbal expressions. Construct and return a new instance of VerbalExpression. Used to support the new VerbalExpression() syntax in ES6 classes as mandated by the spec. You usually wouldn’t need to call VerEx().constructor(). This method will not be accessible from outside the source file since VerEx() returns an instance of the class rather than the class itself. sanitize is a static method on the VerbalExpression class. However, it is also exposed as VerEx().sanitize. Enabling control multi-line matching would cause the expression to not look for matches beyond the first line.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    JScriptTouch is an SDK which allows developers quickly create full featured applications for iPhone platform using javascript.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    You want to develop a javascript game or make your webpages dynamic. This project creates freely available javascript interfaces such as one to help you create board games, one that contains several animations for images, ... Programmers, enjoy!
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    JavaScript & Node.js Testing

    JavaScript & Node.js Testing

    Comprehensive and exhaustive JavaScript & Node.js testing

    This project compiles practical advice for testing JavaScript applications across the stack, emphasizing clarity, speed, and reliability over dogma. It distinguishes between different kinds of tests—unit, integration, end-to-end—and shows when each is appropriate given time and risk constraints. The guide focuses on removing flakiness by isolating side effects, controlling randomness, and stabilizing async code paths. It also demonstrates test design techniques like arranging test data, using expressive assertions, and structuring test suites for readability and discoverability. Tooling agnosticism is a theme: patterns are illustrated with popular tools but written to survive framework churn. The end goal is a test suite that acts as living documentation while catching regressions quickly and deterministically.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    JavaScript Algo and Data Structures

    JavaScript Algo and Data Structures

    Algorithms and data structures implemented in JavaScript

    javascript-algorithms is an open source repository by Oleksii Trekhleb that provides implementations of algorithms and data structures in JavaScript. Each algorithm includes explanations, complexity analysis, and references for further reading, making it both a coding resource and a study guide. The repository covers topics such as sorting, searching, graph algorithms, cryptography, and data structures like linked lists, stacks, and queues. It is designed to help developers understand algorithm fundamentals and practice problem-solving with JavaScript. Multilingual README files make the resource accessible to a global audience. With strong community engagement, it is one of the most popular algorithm repositories on GitHub.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    JavaScript Array Explorer

    JavaScript Array Explorer

    A resource to figure out what JavaScript array method would be best

    Array Explorer is an educational web-based resource created by Sarah Drasner to help developers understand and select the appropriate JavaScript array method (like map, filter, reduce, find, etc.) when they’re stuck wondering “which one should I use?” Instead of diving into endless docs, you can use the interactive tool to specify what you’re trying to accomplish—e.g., “remove items,” “transform items,” “find something,” “aggregate results”—then see which methods match and get live code examples. The tool provides visual examples, explanations of method semantics, and code snippets you can copy into your own project. Because many JavaScript learners struggle with which array method to choose or misuse them, this resource offers an approachable way to learn by doing and exploring rather than memorizing. The front-end is friendly and responsive, with filtering UI that lets you narrow based on the kind of task you’re performing.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    JavaScript Load Image

    JavaScript Load Image

    Load images provided as File or Blob objects or via URL

    JavaScript-Load-Image is a client-side image loading and processing library that focuses on turning File/Blob objects or remote URLs into HTML <img> or <canvas> elements, optionally transformed in the process. It is often used in upload flows where images need to be previewed, resized, rotated, or cropped before being sent to a server, reducing bandwidth and improving user experience. The library can interpret image metadata, including Exif and IPTC tags, and can extract embedded thumbnails when present, which is handy for building fast image pickers or galleries. One of its key capabilities is correcting Exif Orientation, so photos taken on mobile devices appear upright without additional server-side processing. It also offers the option to preserve or restore image headers when resizing, which helps retain metadata or orientation information in the re-encoded image.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    JavaScript Object Graph for Java is a library designed to simplify working with JSON objects in Java code.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    Javascript CRT

    Javascript CRT

    Cross browser Javascript library that provides old style text mode

    Cross browser Javascript library that provides old style text mode
    Downloads: 0 This Week
    Last Update:
    See Project