dash-svg

raw JSON →
0.0.12 verified Fri May 01 auth: no python

SVG support library for Plotly/Dash, enabling inline SVG rendering in Dash apps. Current version 0.0.12. Release cadence is irregular; last release in early 2025.

pip install dash-svg
error ModuleNotFoundError: No module named 'dash.svg'
cause Incorrect import path: trying dash.svg instead of dash_svg.
fix
Use 'from dash_svg import Svg'.
error ImportError: cannot import name 'svg' from 'dash_svg'
cause Directly importing the module name instead of the class.
fix
Use 'from dash_svg import Svg'.
gotcha Use 'Svg' component wrapper to avoid namespace collisions. Do not just return raw SVG strings.
fix Wrap SVG elements in Svg(...) with width/height attributes.
deprecated The 'Svg' component is the only public API; internal helper functions may change without notice.
fix Only import Svg from dash_svg, and use it as a container.
gotcha Attributes must be camelCase (e.g., 'strokeWidth' not 'stroke-width').
fix Use JSX-style camelCase for SVG attributes.

Minimal Dash app using dash-svg to render an SVG circle.

import dash
from dash import html
from dash_svg import Svg

app = dash.Dash(__name__)

app.layout = html.Div([
    Svg(Svg.svg(
        Svg.circle(cx="50", cy="50", r="40", stroke="green", fill="yellow")
    ), width="100", height="100")
])

if __name__ == '__main__':
    app.run_server(debug=True)