awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
canvg avatar

canvg/canvg

0
View on GitHub↗
3,832 stars·612 forks·TypeScript·MIT·13 viewscanvg.js.org↗

Canvg

canvg is a JavaScript graphics library and rendering engine designed to parse SVG vector data and draw the resulting graphics onto HTML5 canvas elements. It functions as a pipeline that transforms structured vector markup into pixel-based output for use in web browsers.

The library provides a framework for web vector graphics animation, executing rendering cycles to maintain consistent visual motion. It also enables interactive vector graphics by mapping user input, such as mouse clicks and touch events, to specific shapes within the rendered canvas.

The engine handles vector-to-pixel transformation and dynamic resizing to fit content into specified dimensions while preserving aspect ratios. Its capabilities include a stateful rendering pipeline for managing transformations and clipping paths, as well as offscreen rendering and asynchronous resource loading.

Features

  • SVG and Canvas Converters - Translates SVG vector graphics data into HTML5 canvas object models for rendering.
  • Vector-to-Pixel Rasterization - Parses structured SVG markup and converts mathematical paths into pixel commands for the HTML5 canvas API.
  • Vector Rendering Pipelines - Provides a rendering pipeline that manages a stack of transformations and clipping paths for nested vector elements.
  • Vector Graphics Renderers - Implements a rendering pipeline that transforms structured vector markup into pixel-based output for browser interactions.
  • Vector Graphics Libraries - Provides a JavaScript library for managing vector scaling, hit detection, and offscreen rendering.
  • Vector Animation Libraries - Renders vector data onto a canvas in a browser to create smooth motion and dynamic visual effects.
  • Touch-to-Canvas Coordinate Mapping - Translates raw screen-space mouse and touch events into vector coordinates to enable interaction with specific shapes.
  • Interactive Vector Mapping - Maps mouse clicks and touch events to specific shapes within the rendered vector graphic.
  • Canvas-Based Animation Frameworks - Executes rendering cycles of vector files on a canvas to maintain consistent visual motion.
  • Vector Element Animations - Executes rendering cycles that maintain consistent visual motion for animated vector graphics on a canvas.
  • Offscreen Canvas Rendering - Uses offscreen canvas buffers to perform complex drawing operations without impacting interface responsiveness.
  • Aspect Ratio Preserving Resizing - Resizes vector content to fit within specified canvas dimensions while maintaining the original aspect ratio.
  • 图表绘制/图形库(Graphics) - Listed in the “图表绘制/图形库(Graphics)” section of the Awesome Frontend awesome list.

Star history

Star history chart for canvg/canvgStar history chart for canvg/canvg

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

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

Projects sharing features with Canvg

These projects share indexed features with Canvg. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • leaferjs/leafer-uileaferjs avatar

    leaferjs/leafer-ui

    4,184View on GitHub↗

    Leafer UI is a high-performance HTML5 canvas rendering engine and 2D vector graphics library. It utilizes a hierarchical scene tree to manage shapes, paths, and text, providing a toolkit for building interactive canvas applications and expansive infinite canvases. The engine is designed as a cross-platform canvas toolkit that decouples core logic from the drawing API, allowing it to run across web, mobile, server, and mini-program environments. It distinguishes itself by providing specialized tools for interactive graphic editor development, including hit detection, event bubbling, and transf

    TypeScriptcanvasinfinite-canvasleafer
    View on GitHub↗4,184
  • brooooooklyn/canvasBrooooooklyn avatar

    Brooooooklyn/canvas

    2,257View on GitHub↗

    Canvas is a headless vector graphics engine and two-dimensional graphics rendering library built on a native graphics library with zero system dependencies for server-side drawing. It provides a programmatic shape construction and manipulation library supporting bezier curves, boolean operations, and native rendering without requiring a display server. The library renders shapes, paths, text, and images onto virtual memory surfaces and off-screen drawing areas for server-side image generation, vector animation rendering, and PDF generation. It supports path boolean operations to compute comp

    Rustcanvasn-apinapi
    View on GitHub↗2,257
  • paperjs/paper.jspaperjs avatar

    paperjs/paper.js

    15,054View on GitHub↗

    Paper.js is an HTML5 Canvas vector graphics library and scripting framework used for creating and manipulating 2D shapes and paths. It functions as a vector animation framework and a headless vector graphics engine, allowing for the execution of graphics operations in both browser and server-side environments. The project features a dedicated SVG import and export engine to convert between native vector items and the SVG format. It includes a specialized boolean path operation toolkit for uniting, subtracting, and intersecting vector paths to create complex geometric shapes. The library cove

    JavaScript
    View on GitHub↗15,054
  • airbnb/lottie-react-nativeairbnb avatar

    airbnb/lottie-react-native

    17,164View on GitHub↗

    lottie-react-native is a React Native animation library and cross-platform vector animation engine used to render high-quality animations exported from After Effects via the Lottie file format. It functions as a Lottie animation player that allows mobile applications to display hardware-accelerated animations that maintain visual quality across different screen resolutions. The library serves as a dynamic animation controller, enabling the manipulation of playback, color filters, and text layers in real time. It provides the ability to change animation colors and visuals by applying filters t

    Kotlin
    View on GitHub↗17,164
Compare all 30 related projects→

Frequently asked questions

What does canvg/canvg do?

canvg is a JavaScript graphics library and rendering engine designed to parse SVG vector data and draw the resulting graphics onto HTML5 canvas elements. It functions as a pipeline that transforms structured vector markup into pixel-based output for use in web browsers.

What are the main features of canvg/canvg?

The main features of canvg/canvg are: SVG and Canvas Converters, Vector-to-Pixel Rasterization, Vector Rendering Pipelines, Vector Graphics Renderers, Vector Graphics Libraries, Vector Animation Libraries, Touch-to-Canvas Coordinate Mapping, Interactive Vector Mapping.

Which projects share features with canvg/canvg?

Projects with overlapping indexed features include: leaferjs/leafer-ui — Leafer UI is a high-performance HTML5 canvas rendering engine and 2D vector graphics library. It utilizes a… brooooooklyn/canvas — Canvas is a headless vector graphics engine and two-dimensional graphics rendering library built on a native graphics… paperjs/paper.js — Paper.js is an HTML5 Canvas vector graphics library and scripting framework used for creating and manipulating 2D… airbnb/lottie-react-native — lottie-react-native is a React Native animation library and cross-platform vector animation engine used to render… facebookarchive/keyframes — Keyframes is a cross-platform animation library and playback engine designed to render Adobe After Effects shape… mojs/mojs — This project is a declarative animation library and high-performance engine designed for creating fluid, interactive…