30 open-source projects similar to canvg/canvg, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
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
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
Keyframes is a cross-platform animation library and playback engine designed to render Adobe After Effects shape animations as high-quality vector graphics on mobile devices. It functions as a vector animation player that executes complex path and shape animations using a JSON-based data format, removing the need for rasterized video files. The system enables the conversion of shape-based animations from After Effects into a portable schema for delivery across both Android and iOS platforms. This ensures visual consistency by utilizing a shared framework to render the same vector animation da
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
This project is a declarative animation library and high-performance engine designed for creating fluid, interactive vector motion graphics on the web. It provides a specialized framework for defining, rendering, and orchestrating complex visual sequences, including custom geometric shapes and dynamic property transitions. The library distinguishes itself through a robust particle system framework that generates explosive or organic visual effects by emitting multiple shapes with randomized trajectories and paths. It utilizes a master timeline controller to synchronize independent animation i
Skia is a high-performance 2D graphics rendering library used for drawing text, geometries, and images on digital surfaces. It functions as a hardware-accelerated graphics engine that offloads drawing operations to the GPU, a vector graphics processor for SVG and complex paths, and a typography engine for shaping and drawing characters with Unicode support. The project provides a cross-platform image codec for encoding and decoding standard image formats into raw pixel data across multiple operating systems. It also enables the development of user interfaces that maintain visual consistency a
Two.js is a multi-backend graphics engine and vector drawing library that provides a unified API for creating two-dimensional graphics and animations. It functions as a renderer-agnostic abstraction layer, allowing users to generate vector shapes and paths that can be rendered via SVG, Canvas2D, or WebGL. The engine includes a scene graph manager to organize objects into hierarchical groups, enabling the propagation of collective transformations and parent-child relationships. It also features a headless graphics renderer, providing a node-based implementation for generating 2D drawings in se
Trianglify is an algorithmic background generator and vector art toolkit used to produce pseudo-random geometric patterns and polygonal meshes. It functions as a rendering engine that converts geometric data into either scalable vector graphics or rasterized canvas elements. The system utilizes deterministic pattern generation via seed values to ensure consistent geometric output. It supports customizable color gradients, coordinate grid jittering, and custom geometry definitions to control the placement and shape of the generated meshes. The project covers algorithmic art generation and gen
JsBarcode is a JavaScript library for generating machine-readable barcodes in both browser and Node.js environments. It supports a wide range of industry-standard symbologies including CODE128, EAN, UPC, CODE39, ITF-14, MSI, Codabar, Pharmacode, and GS1-128, with automatic check digit calculation for formats that require it. The library renders barcodes to HTML canvas elements, scalable SVG graphics, or image elements, and provides a chainable API for creating multiple barcodes sequentially with individual options. It includes automatic checksum computation for EAN, UPC, ITF-14, and MSI forma
Fabric.js is an HTML5 canvas library and interactive vector graphics engine. It provides an object-oriented model for creating, manipulating, and animating 2D shapes and interactive graphics on a web page. The project functions as an SVG to canvas parser, translating SVG data into interactive canvas objects and exporting canvas states back into SVG format. It also serves as a canvas image processing tool for applying filters, gradients, patterns, and brush strokes to visual elements. The library covers programmatic vector manipulation, including the ability to scale, rotate, skew, and group
Lottie is a JSON vector animation engine and cross-platform player that renders resolution-independent motion graphics. It functions as a runtime renderer that translates Adobe After Effects compositions into real-time animations using a JSON-based intermediate representation. The project distinguishes itself by enabling dynamic control over vector assets at runtime. It allows for the programmatic modification of animation properties, colors, and playback states through hierarchical key-paths and dynamic theming. This allows animations to respond to real-time application state changes and use
Prawn is a Ruby library and document layout tool used for the programmatic generation of PDF files. It functions as a vector graphics engine that allows for the creation of portable documents containing formatted text, custom shapes, and organized page layouts. The library differentiates itself through a coordinate-based vector rendering system that supports multi-stop gradient fills, complex polygons, and layer-based blending. It provides a comprehensive typography system capable of embedding TrueType and OpenType fonts to support UTF-8 characters and right-to-left text for multilingual publ
Lottie React is a component library for rendering complex motion graphics and vector animations in web applications. It translates pre-exported animation data structures directly into real-time vector rendering instructions at runtime, allowing applications to display scalable graphics without relying on heavy video files or raster images. The library encapsulates animation runtimes inside declarative components and hooks, and provides an imperative controller that exposes programmatic methods to manage playback states such as playing, pausing, and seeking. It handles rendering dynamically th
Drawnix is a digital whiteboarding and visual diagramming application centered around an infinite canvas. It provides a workspace for freeform sketching, interactive brainstorming, and the creation of structured visual documentation. The platform distinguishes itself by supporting both manual drawing and the automatic generation of diagrams from markup text and mermaid syntax. It utilizes a plugin architecture that allows for the integration of custom modules to extend drawing behaviors and application features. The toolset includes brush-based annotations, image insertion, and a coordinate
PixiJS is a hardware-accelerated 2D rendering engine and HTML5 canvas library. It functions as a web-based graphics engine that utilizes WebGL to draw interactive digital content, shapes, text, and images in the browser. The engine provides a specialized pipeline for high-performance 2D graphics, featuring a scene-graph hierarchy for organizing visual objects and a system for dynamic texture management. It includes capabilities for applying visual effects through masks, filters, and blend modes. The project covers broad functional areas including digital asset loading, user input processing
lottie-ios is a vector graphics engine and animation framework for iOS that renders animations exported from After Effects as native visual elements. It functions as a renderer that converts animation data into high-fidelity native shapes to maintain small file sizes on mobile devices. The framework provides tools for managing playback, looping, and real-time property updates. It allows for the modification of colors, positions, and keyframe properties of active animations to respond to application state changes. The system parses JSON-based animation data and maps keyframes to native layers
Painter is a declarative rendering system that transforms JSON definitions into styled visual images. It functions as a JSON-to-image rendering engine that converts structured layout data into vector shapes, styled text, and QR codes on a canvas. The system features a dynamic image template engine that utilizes relative coordinate calculations to determine element positions based on the boundaries of other components. It supports the creation of interactive templates where users can drag, scale, and delete elements in real-time, as well as the ability to update specific element properties wit
Lottie-android is a native vector animation engine and library for Android that parses JSON specification files into high-fidelity animations. It functions as a JSON animation parser and renderer, translating After Effects exported data into native draw calls to maintain design fidelity on mobile devices. The library supports dynamic user interface control by allowing the modification of animation properties, such as colors, text, and shape attributes, during runtime playback. It also integrates with system-level accessibility settings to adjust playback and visibility in accordance with redu
react-native-skia is a cross-platform graphics framework that provides a high-performance 2D graphics engine for rendering shapes, paths, and images. It functions as a vector graphics engine and UI animation toolkit, allowing for hardware-accelerated visuals across mobile and web platforms. The project is distinguished by its integration of the Skia 2D graphics library, enabling a shader and filter pipeline for complex pixel-level effects. It supports the rendering of Lottie animations exported from After Effects and the execution of animations directly on the UI thread to maintain fluid moti
react-native-svg is a cross-platform vector graphics engine and rendering library designed for mobile and web applications. It functions as an SVG to component converter, transforming standard vector markup into renderable components using a compatible component-based architecture. The library enables the rendering of scalable vector graphics across diverse platforms using a single set of components. It ensures visual consistency between web and mobile environments by sharing graphics and providing a unified API. The system covers the creation of custom icons and complex shapes through compo
Makie.jl is a high-performance Julia data visualization library and hardware-accelerated plotting engine used to create interactive 2D and 3D visualizations. It functions as a reactive visualization framework where plots update automatically via observables and compute graphs, and as a vector graphics generator for high-resolution academic output. The system is distinguished by its backend-agnostic rendering pipeline, which supports OpenGL, WebGL, and ray-traced scenes. It employs a grammar-of-graphics approach to map variables to aesthetic attributes and utilizes a hierarchical scene graph t
ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying digital images. It functions as a comprehensive toolkit for resizing, cropping, and applying pixel-level filters while managing color profiles and pixel data across various file formats. The project integrates a 2D vector graphics engine and a typography rendering engine to draw geometric shapes, paths, and complex stylized text onto images. It also includes a geometry boolean operation library for calculating intersections, unions, and differences between complex polygons and c
AAChartKit is a declarative charting library and data visualization framework for iOS, iPadOS, and macOS. It functions as a multi-type statistical charting engine that renders a variety of plot types, including line, bar, bubble, box plot, and polar charts. The framework utilizes a Core Graphics vector rendering engine to draw visual elements with precise pixel control. It provides a system for interactive data visualization featuring built-in support for animations, zooming, panning, and user interaction events. The library covers broad capabilities for statistical data plotting and custom
node-canvas is a server-side 2D vector graphics and image processing library for Node.js. It provides a server-side implementation of the HTML5 Canvas API using the Cairo graphics library as its rendering engine to draw shapes, text, and paths. The library enables the programmatic generation of dynamic images and the creation of scalable vector graphics and PDF documents. It supports the registration of custom and system fonts for typography rendering and allows for the import of image assets via local paths, buffers, data URIs, and remote URLs. Capabilities include low-level pixel manipulat
NanoVG is a hardware-accelerated 2D drawing engine and C graphics primitive library. It provides a lightweight renderer designed for high-quality antialiased vector graphics using an OpenGL backend. The engine specializes in the construction and rendering of complex geometric paths. It supports the definition of precise shapes using lines, beziers, and arcs, with integrated winding rules to create hollow areas and composite shapes. The library covers a broad range of vector graphics capabilities, including path composition and the rendering of antialiased shapes. These tools enable the devel
This project is a graphics library for React Native that provides a cross-platform vector rendering engine. It maps SVG XML elements to native graphics APIs, allowing for the creation of scalable shapes and custom illustrations that maintain visual consistency across mobile and web environments. The library functions as a mapper that converts standard SVG markup into declarative component structures. It enables the creation of interactive vector interfaces by providing components that can detect and respond to user touch events. Its capability surface includes drawing basic geometric primiti
imutils is a computer vision utility toolkit and image processing library designed to simplify common manipulation tasks using OpenCV. It serves as an image analysis helper and geometry transformation tool for automating visual data processing. The toolkit provides specialized capabilities for maintaining image integrity during transformations, such as resizing images while preserving aspect ratios and rotating images without cropping corners. It also includes tools for four-point perspective warping to create top-down views and the extraction of topological skeletons from binary images. The
Raphael is a JavaScript library for creating, manipulating, and animating scalable vector graphics. It provides a programmatic interface and a cross-browser renderer for drawing 2D vector graphics and complex shapes within a web browser. The project functions as an SVG animation framework and drawing API, allowing for the construction of diagrams, charts, and custom illustrations. It enables the creation of motion graphics through the transformation of vector elements using coordinate systems and easing functions. The library covers capabilities for scalable vector rendering, dynamic data vi
canvas-confetti is an HTML5 canvas animation library and browser particle effect engine designed to render celebratory confetti bursts. It functions as a visual effects tool that transforms SVG paths, emojis, and text into animated particles. The library offloads heavy particle calculations to a web worker to maintain main thread responsiveness and prevent the user interface from lagging. It includes built-in support for operating system reduced motion settings, automatically disabling animations for users with motion sensitivities to ensure accessibility compliance. The system supports conf