awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
zumerlab avatar

zumerlab/snapdom

0
View on GitHub↗
7,902 estrellas·286 forks·JavaScript·MIT·5 vistassnapdom.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.

Historial de estrellas

Gráfico del historial de estrellas de zumerlab/snapdomGráfico del historial de estrellas de zumerlab/snapdom

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Snapdom

Proyectos open-source similares, clasificados según cuántas características comparten con Snapdom.
  • tsayen/dom-to-imageAvatar de tsayen

    tsayen/dom-to-image

    10,777Ver en 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
    Ver en GitHub↗10,777
  • bubkoo/html-to-imageAvatar de bubkoo

    bubkoo/html-to-image

    7,033Ver en 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
    Ver en GitHub↗7,033
  • niklasvh/html2canvasAvatar de niklasvh

    niklasvh/html2canvas

    31,881Ver en 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
    Ver en GitHub↗31,881
  • garris/backstopjsAvatar de garris

    garris/BackstopJS

    7,156Ver en 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
    Ver en GitHub↗7,156
Ver las 30 alternativas a Snapdom→

Preguntas frecuentes

¿Qué hace 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.

¿Cuáles son las características principales de zumerlab/snapdom?

Las características principales de zumerlab/snapdom son: 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.

¿Qué alternativas de código abierto existen para zumerlab/snapdom?

Las alternativas de código abierto para zumerlab/snapdom incluyen: 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…