Compare the Top Free JavaScript Libraries as of June 2025 - Page 2

  • 1
    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
  • 2
    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
  • 3
    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
  • 4
    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
  • 5
    Dojo Toolkit

    Dojo Toolkit

    Dojo Toolkit

    A JavaScript toolkit that saves you time and scales with your development process. Provides everything you need to build a Web app. Language utilities, UI components, and more, all in one place, designed to work together perfectly. The Dojo Toolkit Reference Guide is designed to be an in-depth resource regarding the Dojo Toolkit. The Reference Guide is a community effort and can be contributed to by anyone who has a CLA in place with the Dojo Foundation. An extensive set of widgets (user interface components) and the underlying system to support them. It is built fully on-top of the Dojo core. Various tools that support the rest of the toolkit, like being able to build, test and document code.
    Starting Price: Free
  • 6
    Blockly

    Blockly

    Google

    The Blockly library adds an editor to your app that represents coding concepts as interlocking blocks. It outputs syntactically correct code in the programming language of your choice. Custom blocks may be created to connect to your own application. Blockly in a browser allows web pages to include a visual code editor for any of Blockly's five supported programming languages, or your own. In Blockly Games, pictured here, users can solve a maze using Blockly's editor on the right. Blockly plugins are self-contained pieces of code that add functionality to Blockly. Plugins can add fields, define themes, create renderers, and much more. Blockly codelabs provide step-by-step instructions on how to use and customize Blockly. Sample projects that show how to use many of Blockly's features.
    Starting Price: Free
  • 7
    RequireJS

    RequireJS

    RequireJS

    RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node. Using a modular script loader like RequireJS will improve the speed and quality of your code. This setup assumes you keep all your JavaScript files in a "scripts" directory in your project. To take full advantage of the optimization tool, it is suggested that you keep all inline script out of the HTML, and only reference require.js with a requirejs call like so to load your script. All of them map to loading some/path/some/module.js. Ideally we could choose the CommonJS syntax, since it is likely to get more common over time, and we want to reuse code.
    Starting Price: Free
  • 8
    DataViewsJS

    DataViewsJS

    GrapeCity

    DataViewsJS enables you to easily and professionally customize the presentation of your data using different layouts, row templates, data fields, calculations, and editing modes that are completely and easily customizable. Leverage the powerful calc engine to perform calculations on any set of JSON data. With our calculation engine, your computing power is optimized for large data and complex calculations. DataViewsJS was designed from the start to be a fast, full-featured, and completely customizable developer tool for efficient data display and editing to meet any of your JavaScript application’s needs. Localized resources for Chinese, Japanese, and Korean are included with DataViewsJS. Additional languages can be easily added by creating your own resource files and setting them with simple script code. Modern data presentation patterns such as those you see on social networks and other sites become easy when you use DataViewsJS interchangeable layouts.
    Starting Price: $999 per year
  • 9
    SpreadJS

    SpreadJS

    GrapeCity

    Deliver true Excel-like spreadsheet experiences, fast - with zero dependencies on Excel. Create financial apps, dashboards, charts, pivot tables, performance benchmarks, science lab notebooks, and other similar JavaScript spreadsheet applications. JavaScript spreadsheet components are software elements that help developers add Excel-like functionality to web applications. SpreadJS is a suite of JavaScript spreadsheet controls that includes import/export, data inputs, cell customization, and an extensive calculation engine with over 500 functions. With over 25 years of experience in creating award-winning spreadsheets for professional developers, we already know what you want and need. No other spreadsheet vendor can match that. Put our spreadsheet experience to work for you today.
    Starting Price: $1,499 per developer
  • 10
    Marionette

    Marionette

    Marionette

    Organize your app in terms of small Views. Marionette makes it easy to compose rich layouts out of small components. We've added tons of features from templateHelpers, to a declarative UI hash, that will keep you from ever wanting to go back. Share complex UI interactions across views. Behaviors are like mixins, without all of the pain associated with property collision. Decoupled communication between your application components with a powerful messaging system. Write classes with the same API as your views. Marionette Objects support features like extend, events, initialize, and more. Marionette community is home to the most welcoming and vibrant discussions in the Backbone ecosystem. Stop spending more time thinking about your framework than your app. Marionette will never get in the way of you and your code.
    Starting Price: Free
  • 11
    Annotator

    Annotator

    Annotator

    Annotator is an open source JavaScript library to easily add annotation functionality to any webpage. Annotations can have comments, tags, links, users, and more. Annotator is designed for easy extensibility so it's a cinch to add a new feature or behaviour. Annotator also fosters an active developer community with contributors from four continents, building 3rd party plugins allowing the annotation of PDFs, EPUBs, videos, images, sound, and more. Adding an annotation to any website is easy with Annotator. First, download the Annotator library, and include it in your HTML. Annotator has a simple but powerful plugin architecture. Plug-ins can also be included for adding functionality such as user permissions, tags, filtering, and formatting. More than a dozen projects rely on Annotator for their digital annotation needs and many are open source. Share text and video annotations using social networks or email.
    Starting Price: Free
  • 12
    NextAuth.js

    NextAuth.js

    NextAuth.js

    NextAuth.js is an open source authentication solution tailored for Next.js applications, offering seamless integration with popular services like Google, Facebook, Auth0, and Apple. It supports various authentication methods, including OAuth 1.0 & 2.0, email/passwordless sign-ins, and custom username/password systems. Designed for flexibility, NextAuth.js operates efficiently in serverless environments and supports multiple databases such as MySQL, PostgreSQL, MSSQL, and MongoDB, allowing developers to choose between database sessions or JSON Web Tokens (JWT). Security features include signed, prefixed, server-only cookies, HTTP POST with CSRF token validation, and encrypted JWTs using JWS/JWE/JWK standards. The platform facilitates easy setup, enabling developers to add authentication in minutes with minimal configuration. Comprehensive documentation and a supportive community further enhance its accessibility for developers seeking a robust authentication system.
    Starting Price: Free
  • 13
    Auth.js

    Auth.js

    Auth.js

    Auth.js is an open-source authentication library designed to integrate seamlessly with modern JavaScript frameworks, providing a flexible and secure authentication experience. It supports various authentication methods, including OAuth (e.g., Google, GitHub), credentials, and WebAuthn, allowing developers to choose the most suitable approach for their applications. Auth.js is compatible with multiple frameworks, such as Next.js, SvelteKit, Express, Qwik, and SolidStart, enabling developers to implement authentication across different platforms. The library offers built-in support for popular databases like Prisma, Drizzle ORM, Supabase, Firebase, and TypeORM, facilitating user data management. Security features include signed cookies, CSRF token validation, and encrypted JSON Web Tokens (JWTs), ensuring robust protection for user data. Auth.js is designed to operate efficiently in serverless environments and provides comprehensive documentation and examples.
    Starting Price: Free
  • 14
    SVAR UI
    SVAR offers a collection of open-source, customizable UI components designed to simplify and enhance web application development. Compatible with React, Svelte, and Vue, SVAR components include feature-rich DataGrid for managing tabular data, interactive Gantt Chart for visualizing project timelines, a robust File Manager, and a rich UI library of form controls. With a focus on flexibility, performance, and responsiveness, SVAR UI equips you with the advanced tools needed to build modern, data-driven web apps efficiently. All components are easy customizable, blazing fast and well-documented.
    Starting Price: $0
  • 15
    BullMQ

    BullMQ

    Taskforce.sh

    ​BullMQ is a Node.js library that implements a fast and robust queue system built on top of Redis, designed to address various challenges in modern microservices architectures. It is structured around four primary classes. BullMQ offers features like minimal CPU usage due to a polling-free design, distributed job execution based on Redis, support for both LIFO and FIFO jobs, job priorities, delayed and scheduled jobs according to cron specifications, automatic retries of failed jobs, concurrency settings per worker, sandboxed processing functions, automatic recovery from process crashes, and parent-child job dependencies. These capabilities make BullMQ a powerful tool for building scalable and reliable job processing systems in Node.js applications.
    Starting Price: Free
  • 16
    Dexie

    Dexie

    Dexie

    Dexie.js is a minimalistic and bulletproof IndexedDB wrapper library designed to simplify client-side storage. At only ~29k minified and gzipped, it offers a concise API that addresses the complexities of native IndexedDB, such as ambivalent error handling, poor queries, lack of reactivity, and code complexity. Dexie.js provides a well-thought-through API design, robust error handling, extendability, change tracking awareness, and extended KeyRange support, including case-insensitive search, set matches, and OR operations. It embraces the IndexedDB specification and all its features, allowing developers to use existing IndexedDB data without the need for data migration. Dexie.js supports composable real-time queries, enabling components to mirror the database in real-time across various front-end frameworks like React, Svelte, Vue, and Angular. With Dexie Cloud, developers can build consistent, authenticated, and access-controlled local-first apps with just a few lines of extra code.
    Starting Price: Free
  • 17
    Fluree

    Fluree

    Fluree

    Fluree is an immutable RDF graph database written in Clojure and adhering to W3C standards, supporting JSON and JSON-LD while accommodating various RDF ontologies; it boasts a scalable, cloud-native architecture utilizing a lightweight Java runtime, with individually scalable ledger and graph database components, embodying a "Data-Centric" ideology that treats data as a reusable asset independent of singular applications, underpinned by an immutable ledger that secures transactions with cryptographic integrity, alongside a rich RDF graph database capable of various queries, and employs SmartFunctions for enforcing data management rules, including identity and access management and data quality.
  • 18
    Chart.js

    Chart.js

    Chart.js

    Simple yet flexible JavaScript charting for designers & developers. Layout boxes can be stacked and weighted in groups. A secondary title plugin with all the same options as the main title. Line segments can be styled by any user-defined criteria. Transitions of every property in every element can be configured individually and independently. Numerous performance enhancements have been introduced. Mix and match bar and line charts to provide a clear visual distinction between datasets. Plot complex, sparse datasets on date time, logarithmic, or even entirely custom scales with ease. Out of the box stunning transitions when changing data, updating colors, and adding datasets. Chart.js is a community-maintained project, contributions welcome! Visualize your data in 8 different ways, each of them animated and customizable. Redraws charts on window resize for perfect scale granularity. Includes new chart axis types.
    Starting Price: Free
  • 19
    Cleave.js

    Cleave.js

    Cleave.js

    Format your <input/> content when you are typing. Cleave.js has a simple purpose, to help you format input text content automatically. Credit card number formatting, phone number formatting (i18n js lib separated for each country to reduce size), date formatting, numeral formatting, custom delimiter, prefix and block pattern, CommonJS/AMD mode, ReactJS component, AngularJS directive (1.x), and ES module. The idea is to provide an easy way to increase input field readability by formatting your typed data. By using this library, you won't need to write any mind-blowing regular expressions or mask patterns to format input text. However, this isn't meant to replace any validation or mask library, you should still sanitize and validate your data in the backend. Types are contributed by the community. Types for the React component are also available and can be imported in the same way.
    Starting Price: Free
  • 20
    Choreographer-js

    Choreographer-js

    Choreographer-js

    A simple library to take care of complicated animations. You can also add custom functions that do non-CSS animations! Install and save to your package.json, and include it in your Javascript. Brew up some instant scroll animations. Animate based on scroll location, animate based on mouse X location and create multiple animations based on mouse X location. Now you can create an instance of Choreographer, and run the animations based on whatever measurement floats your boat (ex. scroll position, mouse position, timestamp, whatever). The easiest way to understand how this all works is to check out the examples. Bugs will occur if you overlap animation ranges that affect the same style properties! There are two built-in animation functions available, called 'scale' and 'change'. Progress is what allows for progressive scaling of values (ex. smooth fading of opacity, 2d translation, etc.) If the value is between 0 and 1, that means you are within a range.
    Starting Price: Free
  • 21
    UAParser.js

    UAParser.js

    UAParser.js

    UAParser.js simplifies user-agent detection by providing a structured approach, offering a clean alternative to the unstructured mess of real-world user-agent strings.
    Starting Price: $12