SnapDOMGitHub★ 8K

Browser capture engine · zero dependencies

HTML to images, documents and context.

SnapDOM captures rendered HTML in your browser. Save it as an image, or add a plugin for PDF, HTML, recordings or agent context.

npm i @zumer/snapdom@latest
1m+ downloads/month MIT licensed
snapdom.toPng(stage)
+ +
Mr. SnapDOM guiding the way with a map Subject: Mr. SnapDOM AF · locked Live DOM: not a screenshot Fig. 01: moments before capture
CAPTURE
Prints land here
Press the shutter. This stage is captured for real.
Used in production by

One interface.
Several ways to use it.

Start with the result you need. The tag tells you whether it ships with the core or needs a plugin.

Images & canvas

Core
PNG · JPEG · WebP · canvas · Blob

Save a chart, dashboard or component as an image. Use canvas output as a WebGL texture.

PDF documents

Plugin
PDF with text, links & pages

Turn an HTML report or invoice into a searchable document with page breaks and bookmarks.

HTML snapshots

Plugin
A self-contained HTML file

Save the rendered markup with its styles and resources. Reopen it without rebuilding your app.

GIF & video

Plugins
GIF · MP4 or WebM

Record the live element over time for short animations, demos and review clips.

Vector artwork

Plugin
SVG shapes · Figma

Turn captured text and supported shapes into editable SVG artwork or Figma content.

How the pieces fit.

SnapDOM captures the interface. Plugins prepare or export that capture. Separate tools compare results or operate a browser.

Your sourceA rendered HTML interface

An element, component, report or dashboard with its CSS and resources.

SnapDOM coreCapture its current state

Styles, fonts, images, layout and control values.

Choose your result
  • Image / canvasCore
  • PDF documentPlugin
  • HTML snapshotPlugin
  • GIF / videoPlugins
  • Text / element mapPlugins
Mr. SnapDOM presenting an image frame

21 live demos

Run the complete demo suite.

Run SnapDOM against canvas, video, fonts, masks, transforms, Shadow DOM, iframes and plugin exporters. Every example uses the real library.

Open the showcase

Install SnapDOM and capture your first element.