Skip to main content

Blender documentation icons

Bring Blender’s familiar interface icons into your tutorials and documentation. Use inline SVGs alongside text to help readers find the right editor, property, modifier, or tool.

MkDocs · Sphinx & Furo · Quarto · Python-Markdown · Python

Icons scale with your text and inherit its colour, including in dark themes. No Blender installation or JavaScript is needed, and the bundled icons work without network access when building your documentation.

Choose your setup

Writing with Get started
MkDocs Enable the plugin
Sphinx, Furo, or MyST Add the Sphinx extension
Quarto Export the shortcode extension
Python-Markdown Enable the Markdown extension
Other tools or a GitHub README Export SVG files
Your own Python application Use the Python API

Package installation requires Python 3.10 or later.

MkDocs

Install the plugin:

pip install 'blender-doc-icons[mkdocs]'

Add it to your existing plugins in mkdocs.yml:

plugins:
  - search
  - blender-icons

Then use icons in your Markdown:

Open :blender-scene_data: **Scene Properties**.

:blender-camera_data|Camera: Add a camera to the scene.

The plugin includes the stylesheet and enables the Markdown syntax automatically. There is no need to register a separate Markdown extension. Inline code and fenced code blocks keep the icon syntax as literal text.

View the MkDocs example.

Sphinx and Furo

Install the extension:

pip install 'blender-doc-icons[sphinx]'

Add blender_doc_icons.sphinx to your existing extensions in conf.py:

extensions = ['blender_doc_icons.sphinx']

Use the role in reStructuredText:

Open :blender-icon:`scene_data` Scene Properties.
Labelled icon: :blender-icon:`camera_data|Camera`.

For MyST Markdown, install and enable myst_parser as well:

Open {blender-icon}`scene_data` Scene Properties.
Labelled icon: {blender-icon}`camera_data|Camera`.

Furo works with the same extension. Install furo and set html_theme = 'furo' in conf.py. Icons follow the surrounding text colour in both light and dark themes.

HTML builds include inline SVGs and the stylesheet automatically. Other output formats use the label or a readable icon name as text; they do not render icons.

View the Sphinx example.

Quarto

Install the package, then run blender-icons quarto from your Quarto project folder or the folder containing your .qmd file:

pip install blender-doc-icons
blender-icons quarto

This creates _extensions/blender-icons. Quarto discovers the extension automatically, so you can start using its shortcode:

Open {{< blender scene_data >}} **Scene Properties**.
Labelled icon: {{< blender camera_data label="Camera Properties" >}}.

Keep the generated extension with your documentation. Rendering requires Quarto 1.4 or later, but no Python installation or network connection. HTML output includes inline SVGs and CSS; other formats, including PDF and Word, use the label or a readable name such as [scene data].

To choose another destination:

blender-icons quarto --output my-docs/_extensions/blender-icons

Run the export command again after updating the package or your custom icons. It replaces matching generated files. To show literal shortcodes in fenced code examples, add the Quarto code-block attribute shortcodes=false.

View the Quarto example.

Find an icon

Search the installed collection by name:

blender-icons list camera
blender-icons list modifier
# List every available icon:
blender-icons list

You can also browse the Blender icon browser for visual reference. The installed collection may differ from the browser’s Blender version; blender-icons list shows the names available in your package.

Names are case-insensitive: SCENE_DATA and scene_data refer to the same icon. Use the name without a blender_icon_ prefix or .svg suffix. Unknown names produce an error so missing icons do not silently disappear from your docs.

Styling and accessible labels

Inline icons default to 1em high and inherit the surrounding text colour. Add this to your documentation’s custom CSS to adjust them:

.blender-icon {
  --blender-icon-size: 1.1em;
  --blender-icon-color: #9d60bd;
}

Omit --blender-icon-color to keep automatic colour inheritance in light and dark themes.

Icons without labels are decorative and hidden from screen readers. Add a label when an icon communicates something that the adjacent text does not explain:

Integration Label syntax
MkDocs / Python-Markdown :blender-camera_data|Camera:
Sphinx :blender-icon:`camera_data|Camera`
MyST {blender-icon}`camera_data|Camera`
Quarto {{< blender camera_data label="Camera" >}}

In the MkDocs and Python-Markdown syntax, labels cannot contain colons or line breaks.

Custom icons

Add your own SVGs or override a bundled icon by using the same filename. Use lowercase filenames, such as my_icon.svg, containing letters, digits, and underscores. Each SVG must have an SVG namespace and a viewBox.

MkDocs — set a directory relative to mkdocs.yml:

plugins:
  - blender-icons:
      icon_dir: docs/custom_icons

Sphinx / Furo — set a directory relative to your Sphinx source folder:

# conf.py
blender_icons_dir = 'custom_icons'

Quarto — include your custom icons when exporting the extension:

blender-icons --icon-dir custom_icons quarto

The file my_icon.svg is then available as my_icon using your platform’s normal icon syntax. Quarto captures a copy at export time; re-export after making changes. Use trusted SVG files: normalization is not a sanitizer for untrusted uploads.

Python-Markdown

For Python-Markdown without MkDocs:

pip install 'blender-doc-icons[markdown]'
import markdown
from blender_doc_icons import get_css

html = markdown.markdown(
    'Open :blender-scene_data: Scene Properties.',
    extensions=['blender_doc_icons.markdown'],
)
css = get_css()  # Include once in your page stylesheet.

This extension is for Python-Markdown. For other Markdown engines, such as markdown-it or MDX, use exported SVG files or integrate the Python API.

Export SVG files

Use standalone images in a GitHub README or other documentation tool:

pip install blender-doc-icons
blender-icons export scene_data camera_data --output icons --color '#5e5e5e'

Then reference a file:

<img src="icons/scene_data.svg" width="16" alt="Scene Properties">

Omit icon names to export the whole collection. The command also writes CSS, attribution notes, and the artwork licence. Matching files in the output folder are replaced.

Exported images use an explicit colour because SVGs displayed through <img> do not inherit the page’s text colour. Use an inline integration for automatic light/dark theme colours.

Python API

The core API has no third-party Python dependencies:

from blender_doc_icons import get_css, get_svg, list_icons, render_html

names = list_icons()
svg = get_svg('scene_data')
html = render_html('camera_data', label='Camera')
css = get_css()

get_svg() returns SVG artwork. render_html() adds the inline wrapper, accessibility attributes, and unique SVG IDs. Include get_css() once in your page stylesheet when using the HTML output.

For custom icons:

from blender_doc_icons import IconRegistry

icons = IconRegistry(icon_dir='custom_icons')
html = icons.render_html('my_icon', label='My tool')

Credits and licence

Originally developed for Microscopy Nodes to make Blender tutorials easier to follow.

The package code is MIT licensed. The Blender icon artwork is CC-BY-SA 4.0. Include this credit in documentation or publications using the icons:

Blender icons designed by @jenzdrich, used under CC-BY-SA 4.0. SVGs adapted for documentation by blender-doc-icons.

See NOTICE.md for artwork sources and modifications, LICENSE for the code licence, and CC-BY-SA 4.0 for the artwork licence.

Metadata

Release files for blender-doc-icons 520.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for blender-doc-icons 520.0.0
File Size Uploaded
blender_doc_icons-520.0.0.tar.gz 379.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for blender-doc-icons 520.0.0
File Interpreter ABI Platform
blender_doc_icons-520.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / blender_doc_icons-520.0.0.tar.gz

Download URL blender_doc_icons-520.0.0.tar.gz
Size 379.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e7d9891b01f3021ef46f71c823fbb6b622af8987d33a948a22253fa8efaaf9af
BLAKE2b-256 checksum
How to use checksums
4c71861f55f87cbfacba4afb68d3a80c8f4a2f1b31463ed49d4b0d370f82c024
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / blender_doc_icons-520.0.0-py3-none-any.whl

Download URL blender_doc_icons-520.0.0-py3-none-any.whl
Size 659.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f43b935a7dfe2232d90722d0b63461337ef127241847784733199528326065a
BLAKE2b-256 checksum
How to use checksums
c7dbe1e34c6d96792bd72adff44b7a2c61f57a759e5a30067de73fb652020b87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

This release

520.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page