30 open-source projects similar to niklasvh/html2canvas, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
html-to-image is a JavaScript library and client-side screenshot utility that transforms DOM elements into image formats such as PNG, JPEG, or SVG. It functions as a DOM-to-canvas renderer, using the browser's native rendering capabilities to convert document nodes into rasterized images or canvas elements. The library leverages SVG foreignObject serialization to capture live DOM content, which is then rasterized into pixel-based formats. It includes specialized exporters for generating binary Blobs or raw RGBA pixel data as typed arrays. The tool provides configurations for image appearance
dom-to-image is a programmatic tool for capturing the visual state of HTML elements as downloadable images or raw image data. It functions as a DOM to image converter that renders specific nodes as base64 data URLs, binary blobs, or pixel arrays. The library transforms HTML elements into raster or vector images by utilizing the HTML5 canvas API. It can retrieve raw byte arrays of a DOM node for low-level image manipulation as an RGBA pixel data extractor. The project covers web content rasterization and the generation of dynamic screenshots from live HTML content. It handles the conversion o
Snapdom is a DOM capture engine that serializes live web page elements into images, videos, documents, and other formats. It converts any DOM subtree into PNG, JPG, WebP, SVG, PDF, or self-contained HTML, and can record animating elements as video files or animated GIFs using the browser's MediaRecorder API. The library distinguishes itself through a plugin-based architecture that allows custom output format handlers and pipeline hooks to extend the capture process without re-cloning the source element. It manages separate caches for images, styles, and fonts with preloading and clearing meth
html2pdf.js is a client-side JavaScript library used to convert HTML elements and webpages into downloadable PDF documents. It operates entirely within the browser, removing the need for a backend server to generate files. The library employs a conversion pipeline that renders HTML to a canvas before generating the final PDF layout. This process includes the ability to preserve active hyperlinks by overlaying clickable regions on anchor tags and managing page breaks through specific style rules or selectors. Users can configure document appearance through settings for page margins, filenames
This library is a client-side utility for generating QR code matrix patterns directly within web browsers. It functions as a frontend tool that converts text strings, URLs, and contact information into scannable visual data without requiring server-side processing. The library provides a platform-agnostic interface that renders these patterns using either HTML5 canvas elements or dynamic document object model node injection. It incorporates matrix-based data encoding and Reed-Solomon error correction to ensure that the generated patterns remain readable even if portions of the image are damag
Gotenberg is a stateless, containerized service that provides a unified API for document conversion, manipulation, and web-to-PDF rendering. It functions as a centralized engine that abstracts complex document processing tasks, allowing users to interact with various rendering tools and libraries through standard HTTP requests. The service distinguishes itself by utilizing headless browser automation to capture web content and by wrapping multiple specialized PDF engines into a single interface. It supports asynchronous task execution, offloading resource-intensive operations to background wo
Pageres is an automated web page capturer and command line interface that renders HTML content and websites into images. It uses a headless Chromium browser to generate screenshots of full pages or specific elements across multiple screen resolutions. The tool allows for the simulation of different device dimensions to verify responsive design and the creation of visual snapshots for UI regression testing. It supports the capture of protected pages by passing custom HTTP headers, cookies, and basic authentication credentials. The system includes capabilities for page content manipulation thr
Polacode is a VS Code extension that converts code snippets into styled, shareable images. It functions as a dedicated code screenshot generator and image exporter, allowing users to capture selected code and render it as a polished visual for documentation, social media, or presentations. The extension provides a dedicated editor pane where users can paste and preview code before generating a screenshot. It offers screenshot customization features including adjustable background color, shadow, transparency, and target image format, all managed through VS Code's settings system. The capture a
AndroidAssetStudio is a web-based toolset for creating launcher icons, action bar graphics, and notification assets for Android applications. It functions as a resource graphic suite for producing correctly sized images and icons that comply with Android system requirements and directory structures. The project includes specialized generators for producing stretchable nine-patch images and a designer for creating vector drawables and animated icons. It generates multiple resolutions of the same image to ensure high quality across various device densities. The tool covers the generation of la
Meme is a browser-based canvas editor designed for the creation and export of custom social media graphics. It functions as an image generation tool that allows users to arrange text and visual assets on a persistent pixel-based surface for digital distribution. The application distinguishes itself through its handling of external assets and workspace customization. It manages cross-origin resource restrictions by configuring security headers or embedding binary data directly into the document structure, ensuring that images from disparate domains can be loaded into the workspace. Users can f
WeChat Moments Screenshot Generator is a social media mockup tool designed to create simulated screenshots of social posts. It functions as a mobile OS UI simulator, allowing users to generate realistic images that mimic the visual appearance of social media activity. The tool features a metadata fetcher that retrieves titles and cover images from public links to automatically populate shared post previews. It includes capabilities for simulating organic engagement through randomized likes and comments, and uses pattern-based mapping to insert platform-specific emoticons into post content. T
This project is an LLM-powered presentation generator and HTML slide deck framework designed to produce single-file presentations. It combines an AI-driven generation system with a playback engine that utilizes WebGL-accelerated rendering for high-performance visual storytelling. The system is distinguished by its focus on design system enforcement, utilizing a validator to ensure layouts adhere to specific typographic and structural rules. It includes a specialized AI visual asset pipeline that generates context-aware imagery and transforms raw screenshots into polished assets through progra
CasperJS is a headless browser testing framework and web functional testing suite. It provides a toolkit for automating web browser interactions to perform functional testing and visual verification of web applications. The project functions as a WebDriver automation tool and a browser screenshot utility, enabling the capture of images of web pages or specific elements to verify visual layout. It also serves as an XML test report generator, exporting the results of automated browser test suites into a standardized format for reporting tools. The framework covers automated browser testing, fu
This project is a comprehensive diagramming ecosystem that functions as both a standalone cross-platform desktop application and a modular JavaScript library for web-based mind mapping. It provides a visual workspace for structuring hierarchical information, allowing users to create, organize, and manipulate complex node trees through an interactive canvas interface. The platform distinguishes itself through deep integration with artificial intelligence, enabling users to automatically generate, expand, and refine diagram content directly within their workspace. It supports real-time collabor
Mailpit is an SMTP mail testing server and web-based email inbox designed to intercept and store outgoing emails for development and integration testing without delivering them to real recipients. It functions as an SMTP mocking tool and relay gateway, allowing users to capture mail traffic and view it through a browser interface. The project distinguishes itself by providing tools for SMTP server simulation, including the ability to inject failure codes to test application resilience. It also includes an email compatibility analyzer that validates HTML rendering, checks link integrity, and s
React component to blur image backgrounds using canvas.
A simple React component to reproduce the way iOS deletes an item in a list
Javascript export to Excel
📏 A resizable component for React.
This project is a React UI interaction library and component geometry manager. It provides a set of tools for creating elements within a React application that users can move and resize. The library allows for the customization of interaction handles, enabling the application of custom components, styles, or CSS classes to the resize handles to match specific visual designs. The system covers element manipulation through both direct user interaction and programmatic geometry updates. It includes capabilities for grid snapping, bounding constraints, and locked aspect ratios to control the pos
⚛ Auto-increment your HTML headings (h1, h2, etc.) for improved accessibility and SEO.
Generate fun kaleidoscope for user avatars.
Dva is a state management library and client-side application framework designed for building user interfaces with React and Redux. It functions as an asynchronous logic orchestrator and a single page application router, organizing application data through a structured data flow of reducers, effects, and subscriptions. The framework distinguishes itself through the use of generator functions to manage asynchronous workflows and sequential side effects, keeping these operations separate from synchronous state updates. It implements namespace-based model organization to group business logic and
Static ffmpeg/ffprobe binaries for macOS, Linux, Windows.
Live Commenting Components for React, by FastComments
node-fluent-ffmpeg is a Node.js wrapper for FFmpeg that provides a fluent interface for executing media commands and processing files. It functions as a process manager that handles the lifecycle of external FFmpeg binaries, enabling programmatic media transcoding, video thumbnail generation, and metadata extraction via ffprobe. The library distinguishes itself through a command builder that translates JavaScript method calls into command-line arguments. It features event-driven progress monitoring to track processed frames and throughput, as well as the ability to route processed media data
ForceTK - a minimal Force.com REST API for JavaScript apps
react-joyride is a user onboarding library for React applications used to create interactive guided tours and walkthroughs. It provides a framework for defining sequences of tooltips and beacons that highlight specific user interface elements to introduce users to application features. The library distinguishes itself through a programmatic controller that allows developers to manage tour state, navigation, and lifecycle events via external application logic. It supports a high degree of visual extensibility, allowing the replacement of default tooltips and beacons with custom components to m
A powerful, flexible, lightweight and animated vertical news ticker component for React.
The coolest searchbox for React.js!