Speed
The live benchmark times first and repeat captures against html2canvas and the other libraries, sorted by measured time. Repeat captures of an unchanged element reuse the last result.
High-performance DOM engine · zero dependencies
Capture in the browser with styles, images and fonts. Plugins add PDF, editable vector, HTML and agent context, or record a live element as GIF or video. MIT licensed.
const image = await snapdom.toPng(document.querySelector('#card'))
Measure captures, inspect the output and read the implementation.
The live benchmark times first and repeat captures against html2canvas and the other libraries, sorted by measured time. Repeat captures of an unchanged element reuse the last result.
Inspect captures of text, shadows, fonts and embedded content in the live demos.
Capture once, export many formats. Official plugins add outputs, and the same hooks let you write your own.
Public releases, rendering fixes and migration notes are recorded in the changelog. MIT licensed.
The core exports images. Each plugin card opens the plugin's page, with its options and a live demo to try.
Save a chart, dashboard or component as an image. Use canvas output as a WebGL texture.
Turn a report or invoice into a PDF with selectable text, links, page breaks and optional form fields.
Turn captured text and shapes into editable SVG, or copy them to the clipboard for Figma.
Save the rendered markup with its styles and resources. Reopen it without rebuilding your app.
Record the live element and save the clip as a GIF, or as an MP4 or WebM video.
Keep a live element in a canvas that repaints only what changed. Use it as a WebGL texture or a video overlay.
Give an agent the captured text, form state and locations of interactive elements.
Change what the capture shows before it renders: hide field values, swap text, apply a filter or a tint, add a timestamp.
Three separate projects that use SnapDOM captures for visual testing and for agents.
Visual regression testing in the browser. Compare captures against baselines, review the diff views and run the checks as a Vitest suite.
Capture, compare and record a local app for coding agents, through a CLI and a page API.
Web navigation and verification for agents: open a page, act on it and verify what changed.

Live demos
Edit a sample and capture it with the published library, or try a plugin export.
Open the showcaseInstall the package, capture an element, then choose a recipe or read the reference.