SVG Preview is a shell extension designed to enhance file management by rendering accurate SVG thumbnails directly within Windows Explorer. This tool leverages the resvg engine to ensure precise visualization of complex SVG elements such as clipPath, masks, filters, embedded images, and compressed .svgz files.
Key Features:
Accurate Rendering: Delivers high-fidelity previews of SVGs, including support for clipPath, masks, and filters, ensuring that even intricate designs are displayed correctly.
Compressed File Support: Accurately renders .svgz files without the need for decompression prior to previewing.
Cross-Platform Compatibility: Works seamlessly across various versions of Windows (Windows 7 to 11).
Simplified Installation: Can be easily installed via winget, requiring no additional runtime dependencies.
Audience & Benefit:
Ideal for designers, developers, and anyone working with SVG files who require reliable visual previews. This extension simplifies file management by providing clear, accurate representations of vector graphics directly within the Windows Explorer interface, eliminating confusion and saving time when navigating or organizing SVG content.
README
SVG Preview for Windows Explorer
SVG thumbnails in Windows Explorer, rendered with resvg for accurate, browser-grade results.
Based on SVG Explorer Extension (SVG See) by Tibold Kandrai - all credit for the original extension goes to him and its contributors. This fork replaces the QtSvg rendering engine, which is the part that could not be fixed upstream.
Why this fork
QtSvg, the engine used by SVG See, only implements the SVG Tiny profile: clipPath, masks and filters are ignored (verified up to Qt 6.11). Any SVG using them - including most exports from Illustrator, Affinity or Inkscape - renders wrong or not at all. That is the root cause of upstream issues #118, #119, #123 and #125.
This fork renders through resvg instead, statically linked into a single ~3 MB DLL (no Qt runtime to ship):
QtSvg (SVG See)
resvg (SVG Preview)
clipPath + `` + embedded image
The same clip path that QtSvg ignores (left, the image fills the whole square) is applied correctly by resvg (right). Masks, filters, `` forward references, embedded raster images and gzipped .svgz all work too.
Installation
winget (recommended)
winget install SickSartori.SvgPreview
Manual
From Releases download and run the appropriate binary for your system. There are no further actions required after installation.
> Make sure you download the right architecture (the 32 bit installer will run on a 64 bit system, but the extension will not function).
This may happen if the thumbnail's are disabled in the system. To verify that it is indeed turned on:
Open the start menu
Search for File Explorer Options and open it
Under the View tab make sure that the Always show icons, never thumbnails is unchecked
Method 2:
This may happen if the system already contains cached thumbnails for the SVGs you are trying to view. This can be fixed by clearing the system's thumbnail cache.
Open the start menu
Search for "Disk cleanup" and open it
In the dialog there is a list of items that can be cleaned. Select Thumbnails at the end of the list. You may unselect the rest or leave the default selection.
Click OK
Method 3:
Kill explorer.exe and delete the icon cache manually
(ref):
TASKKILL /IM explorer* /F
DEL "%localappdata%\IconCache.db" /A
explorer.exe
If neither of the above helped please open an issue on our github page.
> An error is thrown during the installation.
Please open an issue on our github page, and include a screen shot and the exact error message.
Automatic builds
Development installers are created from every commit by GitHub Actions: open a green build and download the svg_preview_x64 artifact. Every build also renders all the test SVGs through the freshly built DLL and uploads the resulting thumbnails, so rendering regressions are visible at a glance.
Developer Build Environment
MS Visual Studio 2022 (Community or Build Tools) with the C++ desktop workload
and the C++ CMake tools component
Rust (stable, MSVC toolchain) - used to build resvg
Inno Setup v6 (only needed to build the installer)
With either package manager, make sure the Visual Studio install includes the
Desktop development with C++ workload and the C++ CMake tools component
(add them from the Visual Studio Installer if needed).
Quick start after developer env is set:
git clone https://github.com/SickSartori/svg-preview.git
cd svg-preview
pwsh .\deployment\Build.ps1 -Verbose -Architecture x64
The build script clones and compiles resvg at a pinned release, builds the
DLL with CMake and packages the installer.
To validate thumbnails without registering the extension, the build also produces
ThumbnailTestHarness.exe, which drives the DLL exactly like Explorer does:
Tibold Kandrai started the project in 2012, first on Google Code, Codeplex. Life happened and Tibold didn't have time to work on it any more, though the extension continued to work more than it didn't so people kept using it.
In 2017 Codeplex shut down and turned into a read-only warehouse. Matt Wilkie imported the project to GitHub and continued to maintain the project as best as a python-not-c++ guy could. The extension continued to work more than not, though the problems started to add up as Windows continued to evolve and change underfoot.
In late 2019 a lucky confluence of stubborn brute force learning on Matt's part and newly active and knowledgeable contributors (Daniel, Simon, Voodoo) revived the feared soon-to-be-comatose project. Bugs were fixed and automatic binary builds came into being. Life rebounded. Right on the heels of this, Tibold regained attention time for side-projects and again assumed the project owner mantle.
On 1st of January, 2020 version v1.0.0 was released including all bug fixes and up to date dependencies. Let's see where the rest of the year takes us. :-)
In 2026 this fork, SVG Preview, replaced the QtSvg engine with resvg after tracking down why SVGs with clip paths had been rendering wrong for years. Everything else - the shell extension design, the installer, the project itself - stands on the shoulders of Tibold's work and that of all the contributors above.
Contributors ✨
Thank you's for helping make this a better project (emoji key):