Compare the Top Free JavaScript Libraries as of April 2025

What are Free JavaScript Libraries?

JavaScript libraries are sets of code, components, and code snippets that enable developers to build JavaScript (JS) applications in a simpler and more efficient way. Compare and read user reviews of the best Free JavaScript Libraries currently available using the table below. This list is updated regularly.

  • 1
    DHTMLX

    DHTMLX

    DHTMLX

    DHTMLX is a JavaScript UI library that provides a set of highly customizable and flexible components for building modern and responsive web applications. The library includes more than 30 UI components, such as Gantt, Scheduler, Kanban, diagrams, charts, grids, spreadsheets, calendars, trees, forms, and more. DHTMLX helps to advance web development and build feature-rich data-intensive applications of any complexity. One of the key advantages of DHTMLX is its compatibility with different web frameworks, including React, Angular, and Vue.js, which makes it a great choice for developers who are already working with these frameworks. DHTMLX is also designed with performance in mind. Its components are optimized for fast rendering. A comprehensive and rich API provides a straightforward way to manipulate JavaScript/HTML5 UI widgets. The library has detailed API documentation, tutorials, and examples that help developers quickly get up to speed and start building their apps.
    Starting Price: $79
  • 2
    React

    React

    React

    React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable and easier to debug. Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep state out of the DOM. We don’t make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code. React components implement a render() method that takes input data and returns what to display. This example uses an XML-like syntax called JSX. Input data that is passed into the component can be accessed by render() via this.props.
    Starting Price: Free
  • 3
    jQuery

    jQuery

    jQuery

    jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. If you're new to jQuery. Return a collection of matched elements either found in the DOM based on passed argument(s) or created by passing an HTML string. All the aspects of the API that were deprecated in the corresponding version of jQuery. These methods get and set DOM attributes of elements.
    Starting Price: Free
  • 4
    JointJS

    JointJS

    client IO s.r.o.

    JointJS is a powerful JavaScript diagramming library that helps developers and companies of any size build advanced visual and No-Code applications. It comes in two versions: open-source (JointJS) with limited features and professional (JointJS+), which extends the features of JointJS and offers a wide range of customizable features, ready-to-implement demo applications and white-glove support.
    Starting Price: $2990 per developer
  • 5
    jsPlumb Toolkit
    jsPlumb Toolkit is a Javascript diagramming library that allows you to rapidly create complex applications featuring visual connectivity without having to build any of the boring stuff: the Toolkit provides pan/zoom, a minimap widget, automatic layouts, data binding, path finding, and much, much more. The Toolkit offers deep integration with major frameworks/libraries such as Angular, React, Vue and Svelte. Clients love the incredible flexibility of the Toolkit. As one of our clients said recently: The customization for nodes and groups makes it easy to re-skin jsPlumb to look any way you want. UI/UX designers can let their imagination run wild because jsPlumb visual configuration is quite simple to manage.
    Starting Price: $990
  • 6
    Underscore.js

    Underscore.js

    Underscore.js

    Underscore is a JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects. Underscore provides over 100 functions that support both your favorite workaday functional helpers like map, filter, and invoke, as well as more specialized goodies like function binding, javascript templating, creating quick indexes, deep equality testing, and so on. You may choose between monolithic and modular imports. The project is hosted on GitHub. You can report bugs and discuss features on the issues page or chat in the Gitter channel. Underscore 1.x is backward compatible with any engine that fully supports ES3, while also utilizing newer features when available. Collection functions work on arrays, objects, and array-like objects. We have recent confirmation that the library is compatible with Adobe ExtendScript. There is support code present for IE 8, which we will retain in future Underscore updates.
    Starting Price: Free
  • 7
    Lodash

    Lodash

    Lodash

    A modern JavaScript utility library delivering modularity, performance, and extras. Lodash is released under the MIT license and supports modern environments. 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, and strings, manipulating and testing values, as well as creating composite functions. Lodash is available in a variety of builds and module formats. futil-js is a set of functional utilities designed to complement Lodash. Tested in Chrome 74-75, Firefox 66-67, IE 11, Edge 18, Safari 11-12, and Node.js 8-12. Determine the lowest index at which value should be inserted into an array in order to maintain its sort order. Methods that operate on and return arrays, collections, and functions can be chained together. Methods that retrieve a single value or may return a primitive value will automatically end the chain sequence.
    Starting Price: Free
  • 8
    Glimmer

    Glimmer

    Glimmer

    Fast and lightweight UI components for the web. Available for use within Ember.js and standalone apps. Glimmer is one of the fastest DOM rendering engines, delivering exceptional performance for initial renders as well as updates. Architected like a virtual machine (VM), Glimmer compiles your templates into low-level code so it can run as fast as possible, without sacrificing ease of use. Glimmer components can coexist with your technology stack, so you can develop new features in Glimmer components without rewriting existing code. Because Glimmer VM powers the components in Ember, there’s a battle-tested, full-stack framework waiting for you, if you need it. Just drop your Glimmer components into an Ember app. You won’t need to change a thing. Glimmer.js is actually made up of lots of small packages. Glimmer.js is the developer-facing API on top of the low-level Glimmer VM.
    Starting Price: Free
  • 9
    Granim.js

    Granim.js

    Granim.js

    Create fluid and interactive gradient animations with this small javascript library. Basic gradients animation with 3 gradients in queue composed of 2 colors. Complex gradient animation with 2 gradients in queue with different positions composed of 3 colors. Gradient animation with an image and blending mode. Gradient animation with 2 colors, a background image, and a blending mode set. More parameters for options are available on the API page. Gradient animation with an image mask to create a gradient animation under a shape. Create a gradient animation that responds to events. Click on the different states in the gradient animation to see the gradients change. Customize the direction of the gradient with pixels or percentage values. The animation always pauses when changing the tab. Manage and change the duration of the animations. All the options are available to customize the states and the different gradients.
    Starting Price: Free
  • 10
    fullPage.js

    fullPage.js

    fullPage.js

    fullPage.js is actively maintained and community-driven. Proud of being the most complete framework of its kind. Trusted by the most innovative companies. Working in modern and old browsers too, even IE 9! Make a beautiful site for all, not just a few! fullPage.js is designed to be easy to use and customize. It includes tens of examples, great documentation, and both community and personal support. Designed for mobiles and tablets, totally responsive. Because not only kids like to grab things. Fullpage.js provides extensions that you can use to enhance its already amazing behavior! Create a water-like transition when scrolling sections and slides. You can also use different CDNs and services like npm and bower. You can choose between the annual payment subscription and the one-time payment. Annual subscriptions include free updates for the next 12 months. One-time payments include free updates until a major version.
    Starting Price: $12 per year
  • 11
    Preact

    Preact

    Preact

    Preact provides the thinnest possible Virtual DOM abstraction on top of the DOM. It builds on stable platform features, registers real event handlers and plays nicely with other libraries. Most UI frameworks are large enough to be the majority of an app's JavaScript size. Preact is different: it's small enough that your code is the largest part of your application. That means less JavaScript to download, parse and execute - leaving more time for your code, so you can build an experience you define without fighting to keep a framework under control. Preact is fast, and not just because of its size. It's one of the fastest Virtual DOM libraries out there, thanks to a simple and predictable diff implementation. We automatically batch updates and tune Preact to the extreme when it comes to performance. We work closely with browser engineers to get the maximum performance possible out of Preact.
    Starting Price: Free
  • 12
    Leaflet

    Leaflet

    Leaflet

    Leaflet is the leading open-source JavaScript library for mobile-friendly interactive maps. Weighing just about 42 KB of JS, it has all the mapping features most developers ever need. Leaflet is designed with simplicity, performance, and usability in mind. It works efficiently across all major desktop and mobile platforms, can be extended with lots of plugins, has a beautiful, easy-to-use, and well-documented API, and a simple, readable source code that is a joy to contribute to. Leaflet doesn't try to do everything for everyone. Instead, it focuses on making the basic things work perfectly. Hardware acceleration on mobile makes it feel as smooth as native apps. Utilizing CSS3 features to make panning and zooming really smooth. Smart polyline/polygon rendering with dynamic clipping and simplification makes it very fast. The modular build system for leaving out features you don't need. Tap delay elimination on mobile.
    Starting Price: Free
  • 13
    Multiple.js

    Multiple.js

    Multiple.js

    An experiment in sharing background across multiple elements using CSS. If you want to accomplish a "background sharing across multiple elements" effect in HTML/CSS without any coordinates processing by JavaScript, Multiple.js is the answer. Note that icons and text at lighter layers have gradient-color from darker layers, creating the illusion of an underlying violet layer. In addition to that, layers pass the background image (girl) with equal transparency so that layers can not be superimposed on each other. All these things can be implemented in CSS. Add a gap between elements to make sure that the background remains in the same position. Toggle background image/gradient to get idea how it looks. Miss random layers to make sure that elements are independent. Expands background to viewport's size and displays in every element appropriate chunk, exactly what is needed! Background can be successfully expanded to full viewport size.
    Starting Price: Free
  • 14
    Moment.js

    Moment.js

    Moment.js

    A JavaScript date library for parsing, validating, manipulating, and formatting dates. Moment was designed to work both in the browser and in Node.js. All code should work in both of these environments, and all unit tests are run in both of these environments. Moment.js has been successfully used in millions of projects. As of September 2020, Moment gets over 12 million downloads per week! Moment has evolved somewhat over the years, but it has essentially the same design as it did when it was created in 2011. Moment works well on Internet Explorer 8 and higher. Some libraries are split into modules, plugins, or companion libraries. Some libraries use the ECMAScript Intl API for locales, time zones, or both. Some libraries still provide their own locale and time zone files as Moment and Moment-Timezone do. Because different locales define week of year numbering differently, Moment.js added options to get/set the localized week of the year.
    Starting Price: Free
  • 15
    Masonry

    Masonry

    Masonry

    Masonry is a JavaScript grid layout library. It works by placing elements in optimal position based on available vertical space, sort of like a mason fitting stones in a wall. You’ve probably seen it in use all over the Internet. All sizing and styling of items is handled by your own CSS. Item sizes can be set with percentages for responsive layouts. Unloaded images can throw off Masonry layouts and cause item elements to overlap. imagesLoaded resolves this issue. imagesLoaded is a separate script you can download. You can initialize Masonry in HTML, without writing any JavaScript. All options are optional, but column width and item selection are recommended. Align items to a horizontal grid. Use element sizing for responsive layouts with percentage widths. Element sizing options allow you to control the sizing of the Masonry layout within your CSS. This is useful for responsive layouts and media queries.
    Starting Price: Free
  • 16
    Omniscient

    Omniscient

    Omniscient

    Do fast top-down rendering of views while thinking functional programming. Allow your views to be predictable, naturally separated, and composable, but still performant. Omniscient is to React as memoize is to the Fibonacci function. Functional programming for UIs. Memoization for stateless React components. Top-down rendering of components (unidirectional data flow). Favors immutable data (with Immutable.js). Encourages small, composable components, and shared functionality through mixins. Natural separation of concern. Components only deal with their own piece of data. Efficient and centrally defined. In its simplest form, an Omniscient component is a Stateless React Component, but more optimized. Omniscient is just as much a way to think when you are building applications as a library itself. As Omniscient is wrapped in a UMD you can use it many different ways, through CommonJS, AMD, or just through the window object.
    Starting Price: Free
  • 17
    Parsley

    Parsley

    Parsley

    Parsley, the ultimate JavaScript form validation library. Validating frontend forms has never been so powerful and easy. Like no other form validation library, simply write in English your requirements inside your form HTML tags, Parsley will do the rest! No need to write even a single JavaScript line for simple form validation. Parsley is now smarter, it automatically detects your forms' modifications and adapts its validation accordingly. Simply add, remove or edit fields, Parsley validation will follow! Parsley is shipped with more than a dozen useful validators. If not enough, use the awesome Parsley extra Ajax validator or tons of other extended validators provided by the community. Parsley strongly focuses on UI and UX. Override almost every Parsley default behavior to fit your exact needs. Still ships almost bug-free. Parsley is strongly tested and aims to work on every browser (including IE8).
    Starting Price: Free
  • 18
    Popper

    Popper

    Popper

    Positioning tooltips and popovers are difficult. Popper is here to help! Given an element, such as a button, and a tooltip element describing it, Popper will automatically put the tooltip in the right place near the button. It will position any UI element that "pops out" from the flow of your document and floats near a target element. The most common example is a tooltip, but it also includes popovers, drop-downs, and more. All of these can be generically described as a "popper" element. Click on the dots to place the tooltip. There are 12 different placements to choose from. Pure CSS poppers will not be prevented from overflowing clipping boundaries, such as the viewport. It will get partially cut off or overflows if it's near the edge since there is no dynamic positioning logic. When using Popper, your popper will always be positioned in the right place without needing manual adjustments.
    Starting Price: Free
  • 19
    Three.js

    Three.js

    Three.js

    Three.js is a JavaScript 3D library. The aim of the project is to create an easy-to-use, lightweight, cross-browser, general-purpose 3D library. The current builds only include a WebGL renderer but WebGPU (experimental), SVG and CSS3D renderers are also available in the examples. To actually be able to display anything with three.js, we need three things, scene, camera, and renderer, so that we can render the scene with the camera. In addition to the WebGLRenderer, Three.js comes with a few others, often used as fallbacks for users with older browsers or for those who don't have WebGL support for some reason. Create a loop that causes the renderer to draw the scene every time the screen is refreshed (on a typical screen this means 60 times per second). Anything you want to move or change while the app is running has to go through the animate loop. You can of course call other functions from there.
    Starting Price: Free
  • 20
    Screenfull.js

    Screenfull.js

    Screenfull.js

    Simple wrapper for cross-browser usage of the JavaScript Fullscreen API, which lets you bring the page or any element into fullscreen. Smoothens out the browser implementation differences, so you don't have to. If you cannot use ESM or need to support older browsers without using transpilation, use version 5.2.0. Only 0.7 kB gzipped. Also available on cdnjs (older version). Safari is supported on desktops and iPad, but not on iPhones. This is a limitation in the browser, not in Screenfull. Fullscreen the page or fullscreen an element. Hide the navigation user interface on mobile devices. Fullscreen an element with jQuery and toggle fullscreen on an image with jQuery. Detect fullscreen change, remove listeners, detect fullscreen errors, and fullscreen elements with Angular.js. Keep in mind that the browser will only enter fullscreen when initiated by user events like click, touch, or key.
    Starting Price: Free
  • 21
    Polymer

    Polymer

    Polymer

    The Polymer library provides a set of features for creating custom elements. These features are designed to make it easier and faster to make custom elements that work like standard DOM elements. Similar to standard DOM elements, Polymer elements can be instantiated using a constructor or document creation element, configured using attributes or properties, populated with internal DOM inside each instance, responsive to property and attribute changes, styled with internal defaults or externally, and responsive to methods that manipulate its internal state. Registering an element associates a class with a custom element name. The element provides callbacks to manage its lifecycle. Polymer also lets you declare properties, to integrate your element's property API with the Polymer data system. Shadow DOM provides a local, encapsulated DOM tree for your element. Polymer can automatically create and populate a shadow tree for your element from a DOM template.
    Starting Price: Free
  • 22
    NativeScript

    NativeScript

    NativeScript

    Improve OSS repository management using multiple monorepo setups. Improved onboarding: tutorials for all flavors, linked from the home page. Improved Dialog handling with core-provided abstract APIs. Core: split out architectural level packages for advanced use-cases and scalability. This page will walk through installing everything you need to build your first NativeScript app. Setting up the Android development environment can be daunting if you are new to Android development, however following the next steps carefully will get you up and running in no time. Setting up the Android development environment can be daunting if you are new to Android development, however following the next steps carefully will get you up and running in no time.
    Starting Price: Free
  • 23
    JavaScript InfoVis Toolkit
    The JavaScript InfoVis Toolkit provides tools for creating interactive data visualizations for the web. The best way to start is to take a look at the demos page. Each demo has a See the Example Code link that takes you to the code for that example. The actual library code is included in the HTML file by building the lib each time with only the needed requirements taken from the name of the visualization and the build.json file. The required library code is built by the build.py file. In order to create a new visualization you need to set up the server environment to include test JavaScript files for your new visualization and also you need to add the new visualization files into the Source folder.
    Starting Price: Free
  • 24
    PixiJS

    PixiJS

    PixiJS

    PixiJS' strength is speed. When it comes to 2D rendering, PixiJS is the fastest there is. Friendly, feature-rich API lets PixiJS take care of the fundamentals whilst you focus on producing incredible multiplatform experiences. PixiJS is and always will be open source, with a large and supportive community pushing its growth and evolution. Thousands of award-winning sites and experiences are being made with PixiJS by leading content authors around the world. PixiJS will always be free and open-source but with your support, we can grow faster together. Interactive, visually compelling content on desktop, mobile, and beyond, all reached with a single codebase to deliver transferable experiences. Beautiful anti-aliased text at native and retina resolutions means that Pixi copy is as easy on the eye as it is on any other delivery method. Organize your objects in hierarchical trees, with parent-child relationships.
    Starting Price: Free
  • 25
    Velocity.js

    Velocity.js

    Velocity.js

    Velocity is an animation engine with the same API as jQuery's animate. It works with and without jQuery. It's incredibly fast, and it features color animation, transforms, loops, easings, SVG support, and scrolling. It is the best of jQuery and CSS transitions combined. Download Velocity, include it on your page and replace all instances of jQuery's animate with velocity. You will immediately see a performance boost across all browsers and devices, especially on mobile. Velocity works everywhere, back to IE8 and Android 2.3. Under the hood, it mimics jQuery's queue, and thus interoperates seamlessly with jQuery's animate, fade, and delay. Since Velocity's syntax is identical to animate, your code doesn't need to change. JavaScript and jQuery are falsely conflated. JavaScript animation, which Velocity uses, is fast; it's jQuery that's slow. Although Velocity works alongside jQuery, it uses its own animation stack that delivers its performance.
    Starting Price: Free
  • 26
    JsPHP

    JsPHP

    JsPHP

    The free open-source JsPHP library. The JsPHP website is a 100% free community resource that provides a collaborative platform and web-based Integrated Development Environment (IDE) for building an open-source JavaScript library called JsPHP that provides an implementation of the PHP API for JavaScript environments. An Integrated Development Environment (IDE) is a tool for writing computer programs, and that's what the JsPHP website is a tool for creating and testing software. In the JsPHP IDE registered users can edit the JavaScript functions in the JsPHP library and can also write code to test that those functions are working properly or to test how well those functions perform (how fast they run when they are executed on the computer). If you're just starting out with learning JavaScript then helping out at JsPHP is the perfect way for you to get started because we have lots of beginner-level work that needs to be done that you could help us with.
    Starting Price: Free
  • 27
    MathJax

    MathJax

    MathJax

    A JavaScript display engine for mathematics that works in all browsers. Beautiful and accessible math in all browsers No more setup for readers, it just works. MathJax provides tools to transform your content from traditional print sources into modern, accessible web content and ePubs. The MathJax team is available to train your staff in using our resources for preparing online teaching material and creating accessible STEM content. MathJax is highly flexible and can be tailored to the needs of your institution by creating customized configurations and specialized software workflows. MathJax uses CSS with web fonts or SVG, instead of bitmap images or Flash, so equations scale with surrounding text at all zoom levels. MathJax is highly modular on input and output. Use MathML, TeX, and ASCIImath as input and produce HTML+CSS, SVG, or MathML as output. MathJax works with screenreaders & provides expression zoom and interactive exploration.
    Starting Price: Free
  • 28
    Modernizr

    Modernizr

    Modernizr

    Modernizr tells you what HTML, CSS, and JavaScript feature the user’s browser has to offer. It’s a collection of superfast tests, or “detects” as we like to call them, which run as your web page loads, then you can use the results to tailor the experience to the user. All web developers come up against differences between browsers and devices. That’s largely due to different feature sets, the latest versions of the popular browsers can do some awesome things which older browsers can’t, but we still have to support the older ones. Modernizr makes it easy to deliver tiered experiences and make use of the latest and greatest features in browsers that support them, without leaving less fortunate users high and dry. Modernizr is a small piece of JavaScript code that automatically detects the availability of next-generation web technologies in your user's browsers. Modernizr uses feature detection to allow you to easily tailor your user's experience.
    Starting Price: Free
  • 29
    Voca

    Voca

    Voca

    The Voca library offers helpful functions to make string manipulations comfortable: change case, trim, pad, slugify, latinise, sprintf'y, truncate, escape and much more. The modular design allows to load the entire library, or individual functions to minimize the application builds. The library is fully tested, well documented and long-term supported. Provides the complete set of functions to manipulate, chop, format, escape and query strings. Voca is compatible with ES2015 modules to import the entire library.
    Starting Price: Free
  • 30
    WinJS

    WinJS

    WinJS

    Microsoft is committed to making sure that WinJS continues to run for existing customers. At this time we don't have plans to invest in new features or feature requests. Bug fixes will be limited to correcting substantial issues that are blocking customer deployments. We may also consider bug fixes to help our customers maintain their existing WinJS-based apps. You can contribute by reviewing and sending feedback on code checkins, suggesting and trying out new features as they are implemented, submitting bugs and helping us verify fixes as they are checked in, as well as submitting code fixes or code contributions of your own. Note that all code submissions will be rigorously reviewed and tested by the team, and only those that meet an extremely high bar for both quality and design appropriateness will be merged into the source.
    Starting Price: Free
  • Previous
  • You're on page 1
  • 2
  • Next