awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
niklasvh avatar

niklasvh/html2canvas

0
View on GitHub↗
31,881 stars·4,876 forks·TypeScript·MIT·5 viewshtml2canvas.hertzen.com↗

Html2canvas

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 enables the conversion of complex web layouts into downloadable image files.

The engine supports a range of capabilities including the creation of persistent visual archives, automated reporting, and the exporting of dynamic interface components. It manages the retrieval of external assets such as images and fonts through a proxy mechanism to maintain compatibility with browser security constraints.

Features

  • DOM-to-Canvas Renderers - Parses document object models and computed styles to reconstruct visual representations on an HTML canvas element.
  • Screenshot Utilities - Captures visual images of web pages by reconstructing layout and styling directly from the document object model.
  • Client-Side Image Generators - Converts complex web page layouts into downloadable image files directly within the browser without server-side processing.
  • Layout Reconstructors - Interprets CSS box models and DOM structures to replicate the visual appearance of web content programmatically.
  • Screenshot Generators - Captures visual snapshots of web page elements without requiring server-side processing or external services.
  • JavaScript Libraries - Renders HTML elements as canvas images.
  • Miscellaneous Tools - Takes screenshots of web page elements.
  • Canvas Rasterizers - Draws reconstructed layouts onto HTML5 canvas by mapping geometric shapes and text properties to pixel-based commands.
  • Layout Engines - Calculates precise element dimensions and positioning by simulating browser box model and flow layout logic.

Star history

Star history chart for niklasvh/html2canvasStar history chart for niklasvh/html2canvas

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does niklasvh/html2canvas do?

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.

What are the main features of niklasvh/html2canvas?

The main features of niklasvh/html2canvas are: DOM-to-Canvas Renderers, Screenshot Utilities, Client-Side Image Generators, Layout Reconstructors, Screenshot Generators, JavaScript Libraries, Miscellaneous Tools, Canvas Rasterizers.

What are some open-source alternatives to niklasvh/html2canvas?

Open-source alternatives to niklasvh/html2canvas include: bubkoo/html-to-image — html-to-image is a JavaScript library and client-side screenshot utility that transforms DOM elements into image… tsayen/dom-to-image — dom-to-image is a programmatic tool for capturing the visual state of HTML elements as downloadable images or raw… zumerlab/snapdom — Snapdom is a DOM capture engine that serializes live web page elements into images, videos, documents, and other… ekoopmans/html2pdf.js — html2pdf.js is a client-side JavaScript library used to convert HTML elements and webpages into downloadable PDF… davidshimjs/qrcodejs — This library is a client-side utility for generating QR code matrix patterns directly within web browsers. It… gotenberg/gotenberg — Gotenberg is a stateless, containerized service that provides a unified API for document conversion, manipulation, and…

Open-source alternatives to Html2canvas

Similar open-source projects, ranked by how many features they share with Html2canvas.
  • bubkoo/html-to-imagebubkoo avatar

    bubkoo/html-to-image

    7,033View on 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
    View on GitHub↗7,033
  • tsayen/dom-to-imagetsayen avatar

    tsayen/dom-to-image

    10,777View on 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
    View on GitHub↗10,777
  • zumerlab/snapdomzumerlab avatar

    zumerlab/snapdom

    7,902View on GitHub↗

    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 meth

    JavaScriptcapture-screenclonedom
    View on GitHub↗7,902
  • ekoopmans/html2pdf.jseKoopmans avatar

    eKoopmans/html2pdf.js

    4,880View on GitHub↗

    html2pdf.js is a client-side JavaScript library used to convert HTML elements and webpages into downloadable PDF documents. It operates entirely within the browser, removing the need for a backend server to generate files. The library employs a conversion pipeline that renders HTML to a canvas before generating the final PDF layout. This process includes the ability to preserve active hyperlinks by overlaying clickable regions on anchor tags and managing page breaks through specific style rules or selectors. Users can configure document appearance through settings for page margins, filenames

    JavaScriptcanvasclient-sidehtml
    View on GitHub↗4,880
  • See all 30 alternatives to Html2canvas→