A production-ready C++ vector graphics engine for SVG and Lottie rendering, optimized for performance and lightweight integration.
ThorVG is a production-ready C++ vector graphics engine that renders SVG and Lottie animations with high performance and a lightweight footprint. It solves the need for efficient, scalable vector graphics across diverse platforms, from embedded devices and IoT to desktop and web applications, by offering optimized CPU and GPU rendering backends.
Developers building interactive applications, creative tools, or UI frameworks that require efficient vector graphics rendering, especially those targeting cross-platform deployment, embedded systems, or performance-critical environments.
Developers choose ThorVG for its combination of speed, small binary size (~150KB), and broad platform support, including WebGPU and microcontroller compatibility. It outperforms alternatives in CPU rasterization and offers smart rendering features like partial updates, making it ideal for resource-constrained or high-performance scenarios.
A production-ready C++ vector graphics engine supporting SVG and Lottie formats, featuring advanced rendering backends such as WebGPU for high-performance graphics.
Core library size is ~150KB with broad platform support from microcontrollers like ESP32 to web and desktop, enabling efficient deployment on resource-constrained devices.
Benchmarks show ~1.8x faster CPU rasterization than Skia for common vector workloads, making it ideal for environments with limited GPU access or CPU-focused optimization.
Updates only changed regions of a scene, reducing computational overhead and improving efficiency in UI rendering and design tools where most content is static.
Supports CPU/SIMD, OpenGL/ES, WebGL, and WebGPU backends, allowing developers to choose the optimal rendering engine for their platform and performance needs.
Adheres to SVG Tiny Specification, missing full SVG features like animation, interactivity, and multimedia, which may require workarounds or alternative formats for complex graphics.
Requires meson build system and specific flags (e.g., -Dloaders or -Dextra) to enable features like Lottie expressions or image loaders, adding setup overhead compared to drop-in libraries.
As a newer project, it has a smaller community and fewer third-party resources compared to established alternatives like Skia, which can affect support and integration ease.
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
Lightweight and modular C++11 graphics middleware for games and data visualization
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.