awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
zumerlab avatar

zumerlab/snapdom

0
View on GitHub↗
7,902 stars·286 forks·JavaScript·MIT·3 vuessnapdom.dev↗

Snapdom

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 methods to optimize memory and rendering speed, and resolves cross-origin assets through a configurable proxy to avoid canvas taint. Snapdom also supports visual regression testing by comparing captured subtrees against saved baselines, and can generate annotated screenshots with bounding boxes for use with large language models.

Additional capabilities include CSS effect rendering for transforms, shadows, clip-paths, blend modes, masks, and pseudo-elements, as well as font embedding to preserve original typography. The capture pipeline supports dimension and scale control, node filtering, form value capture, text find-and-replace, and timestamp overlays, with a reusable composable hook pattern for declarative use in component frameworks.

Features

  • DOM Subtree Capture and Exports - Captures any DOM subtree as a self-contained representation and exports it to multiple formats.
  • DOM Subtree Animated Recordings - Records animating DOM elements as video files or animated GIFs using browser capture APIs.
  • DOM-to-Image Converters - Converts any DOM element into PNG, JPG, WebP, SVG, or PDF formats.
  • Raster Image Exports - Renders DOM subtrees to PNG, JPG, or WebP bitmap formats for download or further use.
  • Multi-Format Image Exports - Converts captured DOM representations into PNG, JPG, WebP, SVG, Canvas, or Blob output.
  • DOM Export Plugins - Ships a plugin system for adding custom output formats and pipeline hooks to the DOM capture process.
  • DOM Element PNG Captures - Captures any DOM subtree as a PNG image by attaching a ref and calling a single function.
  • DOM Subtree Renderers - Clones and serializes a live DOM subtree with styles, images, and fonts for self-contained export.
  • DOM Subtree Capture Engines - Captures, modifies, and exports DOM subtrees as images, videos, or documents.
  • DOM-to-Canvas Renderers - Provides a DOM-to-canvas rendering pipeline that serializes live DOM subtrees into canvas representations.
  • Screenshot Generators - Generates high-fidelity screenshots of DOM elements with embedded styles and fonts.
  • Captured Element Downloads - Triggers a browser download of the captured element as an image file in a chosen format.
  • Multi-Format Exports - Routes a single cloned DOM subtree through multiple output converters without re-cloning the source element.
  • Single-Capture - Clones the DOM element once and exports it to multiple formats without re-cloning the source.
  • DOM Subtree JPG Exports - Exports DOM subtrees as JPEG images for compressed raster output.
  • Font Inlining - Inlines font-face rules and icon fonts into captured output to preserve original typography.
  • DOM Subtree - Captures animating DOM elements frame by frame and encodes them into animated GIFs.
  • Animation Frame Capturers - Captures frame-by-frame changes of animating DOM elements and encodes them into animated GIFs or video files.
  • Captured Image Downloads - Downloads the captured image directly as a file with a specified format and filename.
  • DOM Subtree SVG Captures - Converts DOM subtrees into SVG documents preserving layout, styles, and fonts.
  • DOM Subtree SVG Exports - Exports DOM subtrees as SVG for scalable vector output.
  • DOM Subtree Video Recordings - Captures animating DOM elements to video via the native MediaRecorder API.
  • Export Pipeline Plugins - Provides a plugin system for registering custom output format handlers and pipeline hooks in the capture process.
  • Pipeline Plugins - Registers custom hooks that run at each stage of the capture and export process.
  • Capture - Extends the capture and export process with custom hooks and output format plugins.
  • Composable Capture Hooks - Ships a reusable composable hook that wraps the DOM capture lifecycle for declarative use in component frameworks.
  • Capture Format Plugins - Defines new output methods that become available on the capture result object via a plugin system.
  • Visual Regression Testing - Compares captured DOM subtrees against saved baselines to detect visual differences in web interfaces.
  • Computed Style Renderers - Renders CSS transforms, shadows, clip-paths, blend modes, masks, and pseudo-elements into captured output.
  • CSS Effect Renderers - Renders CSS transforms, shadows, clip-paths, blend modes, masks, and pseudo-elements into captured output.
  • DOM Subtree Blob Captures - Converts a selected DOM element into a Blob object for uploading or further processing.
  • PNG Captures - Converts DOM elements into PNG images with optional retina resolution support.
  • Web-Compatible Font Embedding - Downloads and inlines web fonts into captured output to preserve original typography.
  • DOM Node Filtering - Excludes specific DOM elements from capture using CSS selectors or custom filter functions.
  • DOM Video Frame Captures - Draws the current frame of a video element so it can be captured like any other DOM node.
  • DOM Subtree Video Recordings - Records animating DOM subtrees as video files or animated GIFs using the MediaRecorder API.
  • JavaScript 框架汇总 - Listed in the “JavaScript 项目” section of the Great Open Source Project awesome list.

Historique des stars

Graphique de l'historique des stars pour zumerlab/snapdomGraphique de l'historique des stars pour zumerlab/snapdom

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Snapdom

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Snapdom.
  • tsayen/dom-to-imageAvatar de tsayen

    tsayen/dom-to-image

    10,777Voir sur GitHub↗

    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

    JavaScriptcanvascssdom
    Voir sur GitHub↗10,777
  • bubkoo/html-to-imageAvatar de bubkoo

    bubkoo/html-to-image

    7,033Voir sur GitHub↗

    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

    TypeScriptcanvasdataurldom
    Voir sur GitHub↗7,033
  • niklasvh/html2canvasAvatar de niklasvh

    niklasvh/html2canvas

    31,881Voir sur GitHub↗

    This project is a browser-based rendering engine that captures visual snapshots of web page elements. It functions as a document object model to canvas renderer, programmatically reconstructing the visual appearance of web content by interpreting CSS box models and document structures directly within the client environment. The tool distinguishes itself by performing all image generation locally, eliminating the need for server-side processing or external rendering services. By simulating browser layout logic and mapping geometric shapes and text properties to pixel-based drawing commands, it

    TypeScriptdomjavascriptscreenshot
    Voir sur GitHub↗31,881
  • garris/backstopjsAvatar de garris

    garris/BackstopJS

    7,156Voir sur GitHub↗

    BackstopJS is an automated screenshot testing framework and visual regression testing tool designed to identify pixel-level discrepancies between different versions of a web application. It functions as a browser automation testing suite that captures visual snapshots of a user interface and compares them against stored reference images to detect unintended changes. The project utilizes a containerized testing environment via Docker to ensure consistent browser rendering and prevent cross-platform visual discrepancies. It includes a web UI diffing interface that allows users to analyze visual

    JavaScript
    Voir sur GitHub↗7,156
Voir les 30 alternatives à Snapdom→

Questions fréquentes

Que fait zumerlab/snapdom ?

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.

Quelles sont les fonctionnalités principales de zumerlab/snapdom ?

Les fonctionnalités principales de zumerlab/snapdom sont : DOM Subtree Capture and Exports, DOM Subtree Animated Recordings, DOM-to-Image Converters, Raster Image Exports, Multi-Format Image Exports, DOM Export Plugins, DOM Element PNG Captures, DOM Subtree Renderers.

Quelles sont les alternatives open-source à zumerlab/snapdom ?

Les alternatives open-source à zumerlab/snapdom incluent : tsayen/dom-to-image — dom-to-image is a programmatic tool for capturing the visual state of HTML elements as downloadable images or raw… bubkoo/html-to-image — html-to-image is a JavaScript library and client-side screenshot utility that transforms DOM elements into image… niklasvh/html2canvas — This project is a browser-based rendering engine that captures visual snapshots of web page elements. It functions as… garris/backstopjs — BackstopJS is an automated screenshot testing framework and visual regression testing tool designed to identify… sindresorhus/pageres — Pageres is an automated web page capturer and command line interface that renders HTML content and websites into… nexu-io/html-anything — This project is an LLM HTML artifact generator and sandboxed previewer designed for rapid prototyping and content…