más rápido que toCanvas de página completa en una página larga
Reemplaza html2canvas.
Usa SnapDOM.
SnapDOM captura una vez un subárbol del DOM y devuelve un resultado reutilizable. Expórtalo como PNG, JPG, WebP, SVG, Canvas o Blob, o añade formatos propios mediante plugins.

Conoce a Mr. SnapDOM
Mascota oficial y guardián de capturas del DOM más rápidas y precisas.
¿Por qué reemplazar html2canvas?
html2canvas interpreta la página y redibuja el CSS compatible en un canvas. SnapDOM produce una representación autocontenida del DOM que puede exportarse varias veces.
Medidos sobre el mismo DOM
Aceleración de la versión actual de SnapDOM frente a cada competidor en Chromium. Un valor mayor es mejor. Resultados del benchmark público de Vitest del proyecto.
Nodo simple
Nodo complejo
más rápido que html2canvas en PNG rasterizado a escala 2
más rápido en una galería de imágenes de fondo
git clone https://github.com/zumerlab/snapdom.git
cd snapdom
npm install
npm run test:benchmarkMigra en tres minutos
Conserva tu interfaz y actualiza el motor de captura.
Instala
Añade el paquete @zumer/snapdom o utiliza el CDN.
Cambia la llamada
Pasa el mismo elemento a snapdom.toPng().
Reutiliza el DOM
Captura una vez y exporta varias veces sin volver a clonar.
Compara las alternativas
Estas bibliotecas resuelven tareas parecidas, pero no comparten arquitectura, historial de mantenimiento ni modelo de extensión.
html2canvas
Renderizador de CanvasPopular y conocido, pero interpreta la página y redibuja en Canvas las propiedades CSS que admite.
html-to-image
Fork mantenidoUn fork más mantenible de dom-to-image con métodos de salida útiles, basado en el mismo enfoque SVG foreignObject.
dom-to-image
El original influyenteEl proyecto que inspiró a muchos sucesores. Simple e importante, aunque su arquitectura ya muestra su antigüedad.
dom-to-image-more
Sucesor corregidoAñade correcciones valiosas y soporte para iframes, manteniendo la arquitectura y API originales.
Para nuevos proyectos de captura del DOM en el cliente, SnapDOM ofrece una ruta de extensión más amplia que una API fija de exportación de imágenes.
Los plugins son parte de la arquitectura
Los plugins pueden intervenir en la captura, transformar el resultado y registrar nuevos formatos de exportación.
Controla la entrada
Filtra nodos, reemplaza contenido y prepara el DOM antes de exportar.
+Modifica el resultado
Combina filtros, capas y posprocesamiento sin modificar el núcleo.
+Crea un formato
Ve más allá de las imágenes con exportaciones como ASCII, PDF o formatos para prompts.
+Construye tu flujo
Registra plugins globalmente o por captura y combínalos libremente.
+Recetas habituales
Los patrones que utilizarás en la mayoría de productos.
import { snapdom } from 'snapdom'
const card = document.querySelector('#card')
const image = await snapdom.toPng(card)
await image.download({ filename: 'card.png' })Captura el DOM resuelto por el navegador
Al capturar, el diseño, las fuentes y los estilos ya están resueltos. SnapDOM conserva ese estado en una representación portátil en lugar de implementar un segundo motor CSS.
Preguntas antes de migrar
01¿SnapDOM es solo una biblioteca de capturas?+
No. Es un motor de captura del DOM: snapdom() crea una representación reutilizable que puede transformarse y exportarse varias veces.
02¿Puedo crear un formato propio?+
Sí. El sistema de plugins permite añadir exportadores e intervenir en el flujo de captura.
03¿Puedo obtener un Canvas?+
Sí. Usa snapdom.toCanvas(element) o elige PNG, JPG, WebP, SVG y Blob.
04¿Qué ocurre con las imágenes de otros dominios?+
La seguridad del navegador sigue vigente. SnapDOM ofrece useProxy para recursos rechazados por CORS.
Migra primero una captura.
Compara el resultado en tus navegadores compatibles y luego elimina la dependencia anterior.