About ThorVG
Thor Vector Graphics (ThorVG) is an open-source, lightweight, and high-performance vector graphics engine designed to deliver scalable graphics and rich animations across a wide range of devices. The name “Thor” reflects a dual inspiration—combining great strength with lightning-fast speed—symbolizing the project’s commitment to powerful yet efficient rendering.
Originally authored by Hermet Park (박춘언) in 2020, ThorVG began as an initiative to create a fast, compact, and developer-friendly vector graphics engine for modern applications and systems. What started as a small open-source effort has since evolved into a globally-adopted project, used across mobile, IoT, automotive, creative tools, and even game engines.
​
With a design philosophy that favors simplicity, clarity, and performance, ThorVG delivers an intuitive API, minimal overhead, and strong support for vector rendering and animation workflows. It is particularly optimized for real-time graphics, low-memory environments, and cross-platform deployment.
​
At its core, ThorVG offers a comprehensive set of vector primitives, including:
-
Lines & Shapes: rectangle, circles, and paths with coordinate control
-
Filling: solid colors, linear & radial gradients, and path clipping
-
Stroking: stroke width, join, cap, dash patterns, and trimming
-
Scene Management: retainable scene graph & object transformations
-
Composition: various blending and masking
-
Text: unicode characters and horizontal multi-line text layout using the scalable fonts (TTF)
-
Images: SVG, JPG, PNG, WebP, Raw Bitmap
-
Effects: blur, drop shadow, tint, tritone and color replacement
-
Animation: Lottie

Anti-aliased Shapes

Path-Clipping

Blending

Gaussian-Blur

Gradient Filling

SVG

Texturing

Drop-Shadow

Stroking

Masking

Text

Color Replacement
Supported Platforms
ThorVG is designed to be portable across a wide range of devices, including small IoT devices, embedded systems, mobile platforms, desktop environments, and the web. It is actively under development, with ongoing efforts to expand support for essential platforms as needed. Currently, major supported platforms include:

Linux
MacOS
Windows
Tizen
iOS
Android
Flutter
Web
Godot
OpenVela
Espressif
NuttX
Zephyr
Unity
Lightweight Design
ThorVG is designed for a wide range of programs, offering adaptability for integration and use in various applications and systems. It achieves this through a single binary with selectively buildable, modular components in a building block style. This ensures both optimal size and easy maintanence.

The core library of ThorVG maintains a binary size of approximately 150KB. This is significantly smaller compared to graphics engines designed primarily for desktop environments and offers the following advantages.
-
Memory Efficiency: Thanks to its low runtime memory usage, ThorVG operates stably even on low-spec systems.
-
Fast Boot: The library loads and initializes quickly, improving the overall startup speed of applications.
-
Low Size Deployment: With its small code and resource footprint, ThorVG is well-suited for embedded systems, IoT devices, and network-constrained environments.
Broad Portability
ThorVG is based on the C++ standard and provides consistent functionality across various platforms through an abstraction layer that minimizes dependence on specific operating systems or hardware.
-
Extensive Platform Support: ThorVG is compatible with desktop operating systems such as Windows, macOS, and Linux, as well as mobile platforms like Android and iOS, and embedded systems including Tizen and RTOS-based platforms.
-
​Ultra-Light Microcontroller Support: ThorVG has been shown to run on microcontrollers like the ESP32, demonstrating its efficiency even within environments with highly limited memory and storage.
-
Headless Rendering Support: ThorVG can perform rendering without a display server, enabling use cases such as server-side graphics processing or offline rendering tools.
If your program includes the main renderer, you can seamlessly utilize ThorVG APIs by transitioning drawing contexts between the main renderer and ThorVG. Throughout these API calls, ThorVG effectively serializes drawing commands among volatile paint nodes. Subsequently, it undertakes synchronous or asynchronous rendering via its render-backend engines. Additionally, ThorVG is adept at handling vector images, including formats like SVG and Lottie, and it remains adaptable for accommodating additional popular formats as needed. In the rendering process, the library may generate intermediate frame buffers for scene compositing, though only when essential. The accompanying diagram provides a concise overview of how to effectively incorporate ThorVG within your system.

Render Backends
Today, ThorVG provides its own implementation of multiple render-backend engines, allowing you to choose the one that best suits your app and system preferences.
​
-
CPU/SIMD (Software)
-
OpenGL/ES
-
WebGL
-
WebGPU
​
ThorVG is ahead of the curve, particularly in the web ecosystem. WebGPU introduces next-generation APIs similar to Vulkan, leveraging compute shaders and providing low-overhead, modern GPU access for more aggressive optimization strategies and broader applications. Building on this, ThorVG fully supports vector rendering features within its specification on top of WebGPU. Additionally, by abstracting underlying hardware graphics accelerations such as Metal, Vulkan, and DirectX, ThorVG ensures seamless adoption across various systems, regardless of the installed hardware accelerations.

Threading
ThorVG incorporates a threading mechanism designed to seamlessly retrieve upcoming scenes without unnecessary delays. It utilizes a finely-tuned task scheduler based on thread pools to handle a variety of tasks, including encoding, decoding, updating, and rendering. This architecture ensures efficient use of multi-core processing.
​
The task scheduler is carefully designed to abstract complexity, simplify integration, and enhance user convenience. Its use is optional, allowing users to adopt it based on their specific needs.

Smart Rendering
ThorVG supports smart partial rendering, which enables more efficient rendering workflows by updating only the portions of a vector scene that have changed. By internally tracking modified regions, it minimizes unnecessary redraws and optimizes overall performance. This feature provides significant benefits in scenarios such as UI rendering, design tools, or applications where large parts of the scene remain static and only small elements update between frames. In such cases, avoiding full-scene rendering can greatly reduce computational workload and improve energy efficiency—making it particularly valuable on mobile and embedded systems.
​
The following figure illustrates the geometry changes and highlights the minimal redraw region (outlined in red) that needs to be updated. Only the modified area between the previous and current frames is selectively redrawn, significantly improving performance.

Please note that in highly dynamic content—such as fast-paced games or full-screen animations where nearly all objects change every frame—partial rendering provides little to no benefit and may even introduce minor overhead. In these scenarios, full-scene rendering is typically the better choice. For a practical showcase, visit this page demonstrating a performance comparison of partial rendering using ThorVG's software renderer.
SVG
ThorVG facilitates SVG (Scalable Vector Graphics) rendering via its dedicated SVG interpreter. Adhering to the SVG Tiny Specification, the implementation maintains a lightweight profile, rendering it particularly advantageous for embedded systems. While ThorVG comprehensively adheres to most of the SVG Tiny specs, certain features remain unsupported within the current framework. These include:
-
Animation
-
Interactivity
-
Multimedia

SVG rendering capabilities as highlighted by ThorVG
Lottie
ThorVG supports the most powerful Lottie Animation features. Lottie is an industry standard, JSON-based vector animation file format that enables seamless distribution of animations on any platform, akin to shipping static assets. These files are compact and compatible with various devices, scaling up or down without pixelation. With Lottie, you can easily create, edit, test, collaborate, and distribute animations in a user-friendly manner. For more information, please visit Lottie Animation Community' website.
Lottie animations powered by ThorVG
Please check out the ThorVG Test to see the performance of various Lottie Animations powered by ThorVG.
ThorVG Viewer
ThorVG provides a resource verification tool for the ThorVG engine. The ThorVG viewer enables instant rendering directly in the web browser using the ThorVG WebAssembly binary, allowing real-time editing of vector elements. It does not upload your resources to any external server and supports exporting to formats such as GIF, ensuring that designer copyrights remain protected.
Contributors
​Today, ThorVG stands as a purely open-source initiative. We are grateful to the individuals, organizations, and companies that have contributed to the development of the ThorVG project. The dedicated efforts of the individuals and entities listed below have enabled ThorVG to reach its current state.
Partners
Partners engage in strategic collaboration with ThorVG, working together to shape the future of scalable, high-performance vector graphics. We acknowledge organizations that have supported ThorVG’s journey through development, integration, collaboration, and community involvement.
If you’re interested in partnering with ThorVG, we’d love to hear from you. Please reach out at thorvg@thorvg.org
Sponsors
We sincerely thank our financial sponsors for their generous support, which drives the growth and innovation of the ThorVG project. Your contributions help us make ThorVG more powerful, efficient, and accessible for everyone.
We are also seeking your support to ensure the continued development of the ThorVG project. Your generous donations will help cover operational costs and contribute to the growth of this open-source project. Even a small contribution can make a big difference in securing the future of ThorVG!


