Fiddler’s ImageView Inspector offers a lot of powerful functionality for inspecting images and discovering ways to shrink an image’s byte-weight without impacting its quality.
Less well-known is the fact that the ImageView Inspector is very extensible, such that you can add new tools to it very simply. To do so, simply download any required executables and add registry entries pointing at them.
For instance, consider Guetzli, the JPEG-optimizer from the compression experts at Google. It aims to shrink JPEG images by 20-30% without impacting quality. The tool is delivered as a command-line executable that accepts an image’s path as input, generating a new file containing the optimized image. If you pass no arguments at all, you get the following help text:
To integrate this tool into Fiddler, simply:
- Download the executable (x64 or x86 as appropriate) to a suitable folder.
- Run
regedit.exe
and navigate toHKEY_CURRENT_USER\Software\Microsoft\Fiddler2\ImagesMenuExt\
- Create a new key with the caption of the menu item you’d like to add. (Optionally, add a
&
character before the accelerator key.) - Create
Command
,Parameters
andTypes
values of typeREG_SZ
. Read on for details of what to put in each.
Alternatively, you could use Notepad to edit a AddCommand.reg
script and then double-click the file to update your registry:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Fiddler2\ImagesMenuExt\&JPEGGuetzli]
"Command"="C:\\YOURPATHToTools\\guetzli_windows_x86-64.exe"
"Parameters"="{in} {out:jpg}"
"Types"="image/jpeg"
When you’re done, the registry key should look something like:
After you’ve set up your new command, when you right-click on a JPEG in the ImageView, you’ll see your new menu item in the Tools
submenu:
When you run the command, the tool will run and a new entry will be added to the Web Sessions list, containing the now optimized image:
Registry Values
The required Command
entry points to the location of the executable on disk.
The optional Parameters
entry specifies the parameters to pass to the tool. The Parameters entry supports two tokens, {in}
and {out}
. The {in}
token is replaced with the full path to the temporary file Fiddler uses to store the raw image from the ImageView Inspector before running the tool. The {out
} token is replaced with the filepath Fiddler requests the tool write its output to. If you want the output file to have a particular extension, you can specify it after a colon; for example {out:jpg}
generates a filename ending in .jpg
. If you omit the Parameters
value, a default of {in}
is used.
The optional Types
parameter limits the MIME types on which your tool is offered. For example, if your tool only analyzes .png
files, you can specify image/png
. You can specify multiple types by separating them with a comma, space, or semicolon.
The optional Options
value enables you to specify either <stdout>
or <stderr>
(or both) and Fiddler will collect any textual output from the tool and show it in a message box. For instance, the default To WebP Lossless
command sets the <stderr>
option, and after the tool finishes, a dialog box is shown:
Inspect and optimize all the things!
-Eric
Impatient optimist. Dad. Author/speaker. Created Fiddler & SlickRun. PM @ MSFT '01-'12, and '18-, presently working on Microsoft Edge. My words are my own. View more posts