Thio's SVG Thumbnail Extension logo

Thio's SVG Thumbnail Extension ThioJoe

Use this command to install Thio's SVG Thumbnail Extension:
winget install --id=ThioJoe.SvgThumbnailExtension -e

A native hardware-accelerated Windows SVG thumbnail handler for Windows.

README

Thio's SVG Thumbnail Extension for Windows Explorer

A high-performance thumbnail provider for Windows that generates explorer thumbnails for .svg and .svgz files, written in Rust, with no third party dependencies.

Why Use This One?

  <b>No Third-Party Dependencies</b>
  Built using only official Microsoft-published Rust crates (found in the <a href="https://github.com/microsoft/windows-rs">windows‑rs</a> repo).


  <b>Works Purely Through Windows API</b>
  
    Operates purely through the built-in Windows API for rendering and COM integration. Just a single native DLL.
    
      ↳ No third party libraries that may go out of date or add overhead
    
  


  <b>Trusted Certificate Signed</b>
  
    Signed via Azure Trusted Signing, which requires rigorous verification of real-world identity.
    
      ↳ Proves it's not made by an unaccountable/unknown developer
    
  

Note: Also see current limitations section

Screenshot

How To Install

  1. Go to the Releases page.
  2. For the latest release, look under Assets and download the .msi installer and run it.
  3. Windows Explorer will now automatically use this provider to display thumbnails for .svg and .svgz files.

Notes:

  • It can be uninstalled like any other app in Windows' Installed Apps list
  • To manually register the DLL yourself instead of using the installer, see these instructions here.

Current Limitations:

  • Currently, a small fraction of SVGs may render as black squares or as being filled completely black
  • Overall, a vast majority of SVGs should render correctly. If you notice any from a particular program that consistently don't render, you can create an issue and I can see if anything can be done.

How it works (Technical Details)

When Windows Explorer needs a thumbnail for a .svg file, it interacts with this DLL through a series of steps:

  1. Initialization: Explorer provides the .svg file's data as a stream to the DLL. The provider reads this entire stream into memory.
  2. SVG Data Pre-Processing:
    • The API doesn't support CSS `
Versions
1.8.2
1.8.1
Website
License