Open Source JavaScript Software

JavaScript Software

Browse free open source JavaScript Software and projects below. Use the toggles on the left to filter open source JavaScript Software by OS, license, language, programming language, and project status.

  • 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.
    Start Free
  • Paessler - Monitor Your Whole Network in Minutes Icon
    Paessler - Monitor Your Whole Network in Minutes

    Auto-discovery finds your devices and deploys pre-configured sensors instantly. No project plan required, just visibility from day one.

    Waiting weeks for a monitoring rollout isn't an option when infrastructure doesn't stop running. PRTG's auto-discovery scans your network and suggests from over 200 pre-configured sensor types, so you're watching servers, applications and devices within minutes, not after a multi-week deployment. Enterprise-strength monitoring, without the enterprise complexity. Start your free trial today.
    Start Free 30-Day Trial
  • 1
    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: 10 This Week
    Last Update:
    See Project
  • 2
    linkedom

    linkedom

    A triple-linked lists based DOM implementation

    linkedom is a lightweight DOM implementation designed for server-side rendering and other environments without a browser DOM. Its triple-linked-list structure aims to keep operations linear and avoid recursion, excessive memory use, and call stack failures on very large documents. It provides DOMParser and parseHTML APIs that return documents, window-like objects, events, elements, and custom element support without polluting global scope. Developers can query content with CSS selectors, create and move nodes, serialize documents, and restore nodes through its JSON format. A worker-focused export supports Deno, Web Workers, and Service Workers without depending strictly on Node.js. LinkeDOM favors speed and minimalism over complete browser emulation, so it is not intended as a fully standards-compliant replacement for JSDOM.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 3
    flatted

    flatted

    A fast and minimal circular JSON parser

    flatted is a compact serialization library for JavaScript data that contains circular or repeated object references. It provides parse and stringify functions with an interface modeled after the native JSON API. During serialization, objects, arrays, and strings are flattened into indexed entries, allowing the parser to rebuild the original reference graph later. The package also includes toJSON and fromJSON helpers for classes that need recursive data to survive standard JSON workflows. It supports ESM, CommonJS, and CDN delivery, with related implementations available for PHP, Python, and Go. Flatted only handles JSON-compatible values, so specialized objects and internal runtime resources require a different serialization strategy.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 4
    lightcrawler

    lightcrawler

    Website crawler that audits site pages automatically with Lighthouse

    Lightcrawler is a command-line tool designed to crawl a website and run automated audits on the discovered pages using Google Lighthouse. It works by starting from a given URL and recursively exploring linked pages to collect a set of pages that should be analyzed. Each discovered page is then evaluated using Lighthouse, which performs checks related to performance, accessibility, and web development best practices. This allows developers to audit multiple pages of a site automatically instead of manually running Lighthouse on each individual page. Lightcrawler supports configuration through a JSON configuration file, enabling users to customize how the crawler operates and which Lighthouse audits should be executed. Settings such as crawl depth and the number of concurrent browser instances can be configured to control how aggressively the crawler scans a site. It was created as a developer utility to help identify issues across an entire website more efficiently.
    Downloads: 5 This Week
    Last Update:
    See Project
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 5
    Flatbush

    Flatbush

    A very fast static spatial index for 2D points and rectangles in JS

    A really fast static spatial index for 2D points and rectangles in JavaScript. An efficient implementation of the packed Hilbert R-tree algorithm. Enables fast spatial queries on a very large number of objects (e.g. millions), which is very useful in maps, data visualizations and computational geometry algorithms.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 6
    documentation.js

    documentation.js

    Documentation for modern JavaScript

    A documentation system so good, you'll actually write documentation. documentation.js has pluggable output formats: you can get raw documentation as JSON, beautiful, customizable HTML, or Markdown that fits perfectly into an API.md or README.md file in a GitHub repository. Demos, self-documentation as HTML, Markdown, JSON. documentation.js aims to cover all flavors of modern JavaScript. documentation.js works in your workflow, whether you just want a command-line utility that generates documentation from your code, you use Gulp to publish websites, or you're building a new system and want low-level JavaScript methods. Infers parameters, types, membership, and more. Write less documentation: let the computer write it for you. Integrates with GitHub to link directly from documentation to the code it refers to.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 7
    Observable Plot

    Observable Plot

    A concise API for exploratory data visualization

    Observable Plot is a free, open-source JavaScript library to help you quickly visualize tabular data. It has a concise and (hopefully) memorable API to foster fluency — and plenty of examples to learn from and copy-paste. In the spirit of show don’t tell, below is a scatterplot of the height and weight of Olympic athletes (sourced from Matt Riggott), constructed using a dot mark. We assign columns of data (such as weight) to visual properties (such as the dot’s x), and Plot infers the rest. You can configure much more, if needed, but Plot’s goal is to help you get a meaningful visualization quickly. Plot employs a layered grammar of graphics inspired by Vega-Lite, ggplot2, Wilkinson’s Grammar of Graphics, and Bertin’s Semiology of Graphics. Plot rejects a chart typology in favor of marks, scales, and transforms. Plot can be readily extended in JavaScript, whether to define a channel, a transform, or even a custom mark.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 8
    RePen

    RePen

    A free screen annotation tool for Windows

    RePen is a free, open-source screen annotation overlay for Windows 10/11. It allows teachers, presenters, tutorial creators, and remote teams to write, draw, highlight, and zoom directly on top of any active desktop application, PowerPoint slide, PDF, or video. Key Features: • Advanced Brushes: Standard Pen, Calligraphy brush, Highlighter, and fading Laser pointer. • Presentation Focus Tools: Real-time Spotlight and screen Magnifier. • Auto-Shapes: Rectangles, Circles, Lines, and Freehand Directional Arrows. • Whiteboard Modes: Instantly swap to ruled notebook, grid, blackboard, or custom colored backgrounds. • Export & Saving: Save multi-page whiteboard sessions and export them as high-quality PDFs. Lightweight, offline-first, and built with Electron, RePen is the ultimate free Epic Pen alternative for live tutorials, demonstrations, online lectures, and meetings.
    Leader badge
    Downloads: 39 This Week
    Last Update:
    See Project
  • 9
    Delaunator

    Delaunator

    Fast JavaScript library for Delaunay triangulation of 2D points

    Delaunator is a fast library for Delaunay triangulation. It takes as input a set of points. The triangulation is represented as compact arrays of integers. It’s less convenient than other representations but is the reason the library is fast. After constructing a delaunay = Delaunator.from(points) object, it will have a triangles array and a halfedges array, both indexed by half-edge id. What’s a half-edge? A triangle edge may be shared with another triangle. Instead of thinking about each edge A↔︎B, we will use two half-edges A→B and B→A. Having two half-edges is the key to everything this library provides. It will also be useful to have some helper functions to go from one half-edge to the next and previous half-edges in the same triangle. We can draw all the triangle edges without constructing the triangles themselves.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Demo Series - Small Business Backup By Veeam Icon
    Demo Series - Small Business Backup By Veeam

    Learn how to protect your Microsoft 365 data, with simple, actionable tips today.

    Watch this on-demand demo series and learn how to protect your Microsoft 365 data with clear, simple, actionable steps that are easy to implement for businesses of all sizes.
    Watch Demo Series
  • 10
    pixelmatch

    pixelmatch

    The smallest, simplest JavaScript pixel-level image comparison library

    The smallest, simplest and fastest JavaScript pixel-level image comparison library, originally created to compare screenshots in tests. Features accurate anti-aliased pixels detection and perceptual color difference metrics. Inspired by Resemble.js and Blink-diff. Unlike these libraries, pixelmatch is around 150 lines of code, has no dependencies, and works on raw typed arrays of image data, so it's blazing fast and can be used in any environment (Node or browsers). Compares two images, writes the output diff and returns the number of mismatched pixels.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 11
    D3

    D3

    Bring data to life with SVG, Canvas and HTML

    D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation. D3 allows you to bind arbitrary data to a Document Object Model (DOM), and then apply data-driven transformations to the document. For example, you can use D3 to generate an HTML table from an array of numbers. Or, use the same data to create an interactive SVG bar chart with smooth transitions and interaction. D3 is not a monolithic framework that seeks to provide every conceivable feature. Instead, D3 solves the crux of the problem: efficient manipulation of documents based on data. This avoids proprietary representation and affords extraordinary flexibility, exposing the full capabilities of web standards such as HTML, SVG, and CSS.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 12
    PaperCSS

    PaperCSS

    The Less Formal CSS Framework

    The less formal CSS framework, with a quick and easy integration. We provide compiled CSS (paper.css) as well as minified CSS (paper.min.css). You can choose which components you may want to use. Only the components that get imported into src/styles.scss will be compiled into dist/paper.css. You can also play with original, source files, written in SCSS, in src/. You can customize PaperCSS easily, clone the repo, run npm install and make any changes to .scss files in src/. The main place you might want to make changes would be core/_config.scss, where you can specify new colors or fonts for your CSS build. After you make changes, be sure to build the new CSS files. Do so by running npm run css:build and get them from the dist/ folder.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 13
    cloudfront-auth

    cloudfront-auth

    An AWS CloudFront Lambda@Edge function to authenticate requests

    Upon successful authentication, a cookie (named TOKEN) with the value of a signed JWT is set and the user redirected back to the originally requested path. Upon each request, Lambda@Edge checks the JWT for validity (signature, expiration date, audience and matching hosted domain) and will redirect the user to configured provider's login when their session has timed out. If your CloudFront distribution is pointed at a S3 bucket, configure origin access identity so S3 objects can be stored with private permissions. (Origin access identity requires the S3 ACL owner be the account owner. Use our s3-object-owner-monitor Lambda function if writing objects across multiple accounts.) Enable SSL/HTTPS on your CloudFront distribution; AWS Certificate Manager can be used to provision a no-cost certificate. Session duration is defined as the number of hours that the JWT is valid for. After session expiration, cloudfront-auth will redirect the user to the configured provider to re-authenticate.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 14
    xmpp.js

    xmpp.js

    XMPP for JavaScript

    xmpp.js is a JavaScript library for the Extensible Messaging and Presence Protocol (XMPP), facilitating real-time communication features like instant messaging and presence information.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 15
    NASPRO
    NASPRO, acronym for "NASPRO Architecture for Sound PROcessing" is a collection of free and open source sound processing software built around the LV2 plugin standard.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16
    Conventional Changelog

    Conventional Changelog

    Generate changelogs and release notes from a project's commit messages

    The conventional-changelog repo is managed as a monorepo; it's composed of many npm packages. It's recommended you use the high-level standard-version library, which is a drop-in replacement for npm's version command, handling automated version bumping, tagging, and CHANGELOG generation. Alternatively, if you'd like to move towards completely automating your release process as an output from CI/CD, consider using semantic-release. We specifically limit our support to LTS versions of Node, not because this package won't work on other versions, but because we have a limited amount of time, and supporting LTS offers the greatest return on that investment. It's possible this package will work correctly on newer versions of Node. It may even be possible to use this package on older versions of Node, though that's more unlikely as we'll make every effort to take advantage of features available in the oldest LTS version we support.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    Eagle.js

    Eagle.js

    A hackable slideshow framework built with Vue.js

    Eagle.js is a web-based slideshow framework for Vue.js. It supports animations, themes, interactive widgets (for web demos), and makes it easy to reuse components, slides and styles across presentations. Most of all, Eagle aims at offering a simple and very hackable API so you can get off the beaten tracks and craft the slideshows you really want. If you are not familiar with Vue.js you will find eagle.js harder to use than, say, Reveal.js, but on the long term eagle.js makes it easier to organize your slides and implement new ideas. Eagle.js is a vue plugin. You need to use eagle.js in your vue app's main file. New in 0.3, animate.css is now a peer dependency. User need install their own version. New in 0.5, By default eagle.js doesn't export all plugins but only core components. You have to explicitly use your widgets or plugins from now on.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    Himalaya

    Himalaya

    JavaScript HTML to JSON Parser

    Parse HTML into JSON. Himalaya bundles well with Browersify and Webpack. Himalaya transforms HTML into JSON, that's it. Himalaya is synchronous and does not require any complicated callbacks. Himalaya does not cut corners and returns an accurate representation of the HTML supplied. To remove whitespace, post-process the JSON; check out an example script. Himalaya can include the start and end positions of nodes in the parse output. To enable this, you can pass parse the parseDefaults extended with includePositions: true. Himalaya provides a stringify method. The following example parses the HTML to JSON then parses the JSON back into HTML.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    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
  • 20
    Jekyll Starter Kit

    Jekyll Starter Kit

    Jekyll Progressive Web App Generator

    Jekyll Progressive Web App Generator.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    Methanol is a scriptable multi-purpose web crawling system with an extensible configuration system and speed-optimized architectural design. Methabot is the web crawler of Methanol.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    Orange ORM

    Orange ORM

    The ultimate ORM for Node and Typescript

    Orange ORM is a lightweight, reflection-free ORM for Go that emphasizes performance and direct control. It provides a SQL-like fluent API and struct tagging system to map Go structs to database tables. Orange ORM supports PostgreSQL, MySQL, and SQLite, making it suitable for fast, embedded, or minimal-dependency applications.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    Standard Version

    Standard Version

    Automate versioning and CHANGELOG generation

    Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits. A utility for versioning using semver and CHANGELOG generation powered by Conventional Commits. This has the benefit of making your repo/package more portable so that other developers can cut releases without having to globally install standard-version on their machines. Any of the command line parameters accepted by standard-version can instead be provided via configuration. Please refer to the conventional-changelog-config-spec for details on available configuration options. As long as your git commit messages are conventional and accurate, you no longer need to specify the semver type - and you get CHANGELOG generation for free! If you use git hooks, like pre-commit, to test your code before committing, you can prevent hooks from being verified during the commit step by passing the --no-verify option.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    analytics.js boilerplate

    analytics.js boilerplate

    Examples and best practices for using analytics.js

    analyticsjs-boilerplate is a reference implementation for using Google Analytics analytics.js on modern websites. It collects best practices for tracking page views, user interactions, errors, performance metrics, and custom events in a structured way. The project was created to help developers avoid scattered analytics snippets and instead start from a cleaner, more maintainable setup. It includes patterns for organizing analytics logic, reporting useful metrics, and making implementation decisions more deliberate. While analytics.js itself is now a legacy Google Analytics library, the repository remains useful as a historical and educational reference for analytics architecture. Its main value is showing how to treat analytics as a thoughtful engineering layer rather than a pile of ad hoc tags.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    fastq

    fastq

    Fast, in memory work queue

    fastq is a high-performance in-memory work queue for JavaScript and Node.js applications. It runs tasks through a worker function while enforcing a configurable concurrency limit. Both traditional callback workers and Promise-based async workers are supported. Tasks can be added to either the front or back of the queue depending on scheduling needs. Processing can be paused, resumed, emptied, or terminated while exposing the current queue length and idle state. Hooks report conditions such as drain, saturation, empty queues, and task errors. TypeScript definitions are included, and the package is designed to provide queue management with very little performance overhead.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • Next