#web #svg #render


A Rust library for rendering SVG Graphics with WASM

29 releases (5 stable)

1.0.4 Jun 4, 2021
1.0.3 Aug 5, 2020
1.0.2 Mar 21, 2020
1.0.0 Feb 27, 2020
0.1.5-dev3 Jan 29, 2020

#219 in WebAssembly

Download history 1/week @ 2023-11-06 31/week @ 2023-11-13 30/week @ 2023-11-20 76/week @ 2023-11-27 44/week @ 2023-12-04 29/week @ 2023-12-11 1/week @ 2023-12-18 58/week @ 2023-12-25 29/week @ 2024-01-01 1/week @ 2024-01-15 29/week @ 2024-01-22 58/week @ 2024-01-29 1/week @ 2024-02-05 139/week @ 2024-02-12 552/week @ 2024-02-19

750 downloads per month

MIT license

655 lines


A Rust library for rendering SVG Graphics with WASM

This crate provides a fast and effective way to interact with SVG's using WebAssembly. It is able to:

  • Declare shapes and styles to use for these shapes
  • Render these shapes to the DOM using the SVG <def> tag
  • Automatically detect if two shapes are the same, so only a single SVG <def> will get added to the DOM
  • Declare named items/containers for later adjustments, such as hiding, reshowing and repositioning



  • Small bug fixes


  • Added support for svg_definitions 0.3.0, which introduces a feature to parse files and pure strings into svg elements.
  • Added new_from_svg, which lets you create a svg from SVGElem.


  • Added support for svg_definitions 0.2.0, which introduces more svg elements and attributes.


Version 1.0.1 is tested to be stable, and can be used in development.

This crate is still under development, but most API calls for 1.0.0 are complete. If any bugs are found please submit a issue or a pull request at: GitHub

Further notice

The -dev versions are purely for testing and should not serve as production or development versions.


When working on this crate, some testing was done of the documentation using the wasm_bindgen_test crate. These tests can be found in the github under /tests/web.rs and can be executed with wasm_pack using the command wasm-pack test --headless --firefox --chrome --safari


~172K SLoC