# SnapDOM: Complete LLM Reference
> Archived v2 documentation. Current documentation: https://snapdom.dev/docs/
> Package: @zumer/snapdom | Version: v2.x.x (archived v2 reference) | License: MIT
> Ultra-fast, zero-dependency DOM-to-image capture engine for the browser.
> GitHub: https://github.com/zumerlab/snapdom
> Website: https://snapdom.dev/v2
---
## INSTALLATION
This archive covers SnapDOM v2.x.x and matching official plugins.
npm:
```bash
npm install @zumer/snapdom@2.x.x
```
CDN (ESM):
```html
```
CDN (IIFE, global window.snapdom):
```html
```
ESM import:
```js
import { snapdom } from '@zumer/snapdom';
```
Subpath exports:
```js
import { preCache } from '@zumer/snapdom/preCache';
```
Official plugins live in a separate MIT package:
```bash
npm install @zumer/snapdom-plugins@2.x.x
```
```js
import { filter, colorTint, replaceText, timestampOverlay, asciiExport, pdfImage, agentMap, htmlExport, gifExport, videoExport, htmlInCanvas } from '@zumer/snapdom-plugins';
```
---
## WHAT SNAPDOM IS
SnapDOM is a drop-in replacement for html2canvas, dom-to-image and html-to-image, and a programmable capture pipeline beyond them.
It does not re-implement a rendering engine. It deep-clones the live element with the computed styles the browser already resolved, inlines the resources, and lets the browser paint the result inside an SVG foreignObject. Whatever the engine already knows how to draw stays correct by construction: pseudo-elements, CSS variables, counters, transforms, open Shadow DOM, same-origin iframes, SVG