Thor Vector Graphics
| Thor Vector Graphics | |
|---|---|
| Other names | ThorVG |
| Original author | Hermet Park |
| Initial release | 1 May 2021 |
| Stable release | 0.15
/ 23 October 2024 |
| Preview release | 19 December 2025
|
| Repository | github |
| Written in | C++ |
| Operating system | Cross-platform |
| Size | 150 kb (minimum size) |
| Type | Graphics library |
| License | MIT |
| Website | www |
Thor Vector Graphics (commonly abbreviated as ThorVG) is an open-source library designed to render vector-based motion graphics and animation, such as those based on SVG and Lottie. It is developed with cross-platform compatibility and portability in mind, enabling its use across a wide range of computing platforms and software applications.
ThorVG supports graphic output on web platforms through WebAssembly technology, and provides hardware acceleration not only via the CPU but also through various graphics backends such as OpenGL, WebGL, and WebGPU.
Features
[edit]- Scene graph and path rendering: ThorVG supports two main rendering modes. The scene graph mode allows users to create and manipulate a hierarchical structure of drawable objects, while the path-based interface enables direct drawing of vector shapes and paths.
- Transformations: The engine supports affine transformation such as translation, scaling, and rotation for graphical objects.
- Color gradients: Linear and radial gradients are supported for more expressive visual design.
- Anti-aliasing: Smoothing techniques are included to reduce visual artifacts in rendered output.
- Multi-threaded and asynchronous rendering: Rendering tasks can be scheduled across multiple threads, enhancing performance on multicore systems.
- Partial rendering: A rendering technique that tracks only the regions of a scene that have changed between frames and redraws only those specific areas, improving performance and efficiency.
- Backend abstraction: Currently supports software, OpenGL, WebGL and WebGPU backends, with extensibility for additional rendering targets.
- Supported formats: SVG, Lottie, PNG, JPEG, WebP, TTF, TVG (ThorVG-exclusive format)
Lottie animation support
[edit]ThorVG supports rendering of Lottie animations, a JSON-based vector animation format exported from Adobe After Effects using the Bodymovin plugin.[1] The library is designed to enable the integration of vector-based animations into user interfaces, including environments with limited system resources such as embedded devices.

Supported systems
[edit]- Android
- Espressif ESP-IDF[2]
- iOS
- Linux
- LVGL[3]
- macOS
- Microsoft Windows
- Tizen
- Web platform[4]
- Xiaomi Vela
ThorVG application softwares
[edit]- Canva iOS
- dotlottie Player
- Flux[5]
- Godot (game engine)[6]
- GodSVG[7]
- LottieCreator
- Paragraphic[8]
- SEGGER emWin[9]
- TinyPiXOS
- Vagabond
History
[edit]- 2020 – ThorVG was initially developed by Hermet Park and released publicly in its early form.
- 2021 – With contributions from Samsung Electronics, an initial stable version was completed and integrated into the Tizen platform.[10] In the same year, the Godot (game engine) also adopted ThorVG for vector asset rendering.[6]
- 2022 – ThorVG's official logo was introduced.
- 2023 – Support for the Lottie (file format) was added with the involvement of LottieFiles in the development. Additionally, the LVGL framework integrated ThorVG for vector rendering of UI components.[11]
- 2024 – WebGL and WebGPU render backends were introduced.[12] The dotLottie project adopted ThorVG as its core engine,[13] and LottieFiles became an official sponsor of ThorVG.[14]
- 2025 – The Lottie Creator project integrated ThorVG as its vector graphics output engine. ThorVG was also adopted as an official component in the ESP-IoT-Solution platform.[15] In the same year, members of the Blender (software) development community discussed the potential use of ThorVG within Blender's rendering infrastructure.[16]

Reception
[edit]ThorVG has been discussed within the open-source and embedded graphics communities for its lightweight design and cross-platform rendering capabilities. Independent technical discussions and evaluations have appeared in developer forums and engineering publications, including articles by third-party engineering teams.[17][18]
Release information
[edit]- ThorVG v0.1: May 1, 2021[19]
- ThorVG v0.2: Jun 5, 2021[20]
- ThorVG v0.3: Jul 3, 2021[21]
- ThorVG v0.4: Aug 9, 2021[22]
- ThorVG v0.5: Sep 24, 2021[23]
- ThorVG v0.6: Nov 3, 2021[24]
- ThorVG v0.7: Dec 23, 2021[25]
- ThorVG v0.8: Mar 8, 2022[26]
- ThorVG v0.9: May 9, 2023[27]
- ThorVG v0.10: Jul 31, 2023[28]
- ThorVG v0.11: Sep 28, 2023[29]
- ThorVG v0.12: Jan 4, 2024[30]
- ThorVG v0.13: Apr 9, 2024[31]
- ThorVG v0.14: Jun 27, 2024[32]
- ThorVG v0.15: Oct 6, 2024[33]
See also
[edit]References
[edit]- ^ A curated list of awesome things related to Lottie: https://lottie.github.io/implementations/
- ^ "espressif/thorvg • v0.13.8 • ESP Component Registry". components.espressif.com. Retrieved 2025-04-19.
- ^ "thorvg — LVGL documentation". docs.lvgl.io. Retrieved 2025-12-21.
- ^ "@thorvg/lottie-player". npm. 2025-04-11. Retrieved 2025-04-19.
- ^ "Syrah - Credits". Retrieved 2024-07-01.
- ^ a b "Importing images". Godot Engine documentation. Retrieved 2025-12-20.
- ^ "New prerelease: GodSVG 1.0-alpha3". godsvg.com. Retrieved 2025-12-20.
- ^ "Version 1.0.2 released – Paragraphic". 2025-03-06. Retrieved 2025-03-31.
- ^ "emWin User Guide & Reference Manual". doc.segger.com. Retrieved 2025-12-20.
- ^ "Tizen 6.5 Public M1 | Tizen Docs". docs.tizen.org. Retrieved 2025-04-22.
- ^ kisvegabor (2023-11-21). "v9 schedule, ESP32-S3-BOX-3, and a cool project". LVGL’s Blog. Retrieved 2025-04-22.
- ^ "The Best of WebGPU of February 2024". webgpuexperts.com. Retrieved 2025-12-20.
- ^ "DotLottie Player – A New Universal Lottie Player Built with Rust". news.ycombinator.com. Retrieved 2025-12-20.
- ^ "ThorVG - Open Collective". opencollective.com. 2025-12-01. Retrieved 2025-12-20.
- ^ "GUI Optimization Solutions - - — ESP-IoT-Solution latest documentation". docs.espressif.com. Retrieved 2025-12-20.
- ^ "Library Proposal: ThorVG". projects.blender.org. Retrieved 2025-12-20.
- ^ "ThorVG: Super Lightweight Vector Graphics Engine". Hacker News. Retrieved 2025-12-20.
- ^ lakfar (2025-09-05). "Lottie в интерфейсах: как мы оживляем 2ГИС с помощью анимаций". Хабр - 2ГИС (in Russian). Retrieved 2025-12-20.
- ^ "Release ThorVG v0.1.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.2.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.3.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.4.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.5.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.6.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.7.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.8.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.9.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.10.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.11.0 · thorvg/thorvg". GitHub. Retrieved 2023-12-08.
- ^ "Release ThorVG v0.12.0 · thorvg/thorvg". GitHub. Retrieved 2023-04-09.
- ^ "Release ThorVG 0.13.0 · thorvg/thorvg". GitHub. Retrieved 2024-04-09.
- ^ "Release ThorVG v0.14.0 · thorvg/thorvg". GitHub. Retrieved 2024-06-28.
- ^ "Release ThorVG 1.0.0-pre15 · thorvg/thorvg". GitHub. Retrieved 2025-04-19.