Skip to main content
ModPageSpeed 2.0: AVIF, WebP, and critical CSS — up to 69% less page weight on the live demo

Deduplicate inlined images

Images

Replaces repeated inlined images with a reference to the first copy.

Filter inline_images,dedup_inlined_images · Filter docs

A mod_pagespeed 1.15 filter. ModPageSpeed 2.0 applies it as part of one always-on pipeline, not as a separate switch.

Both frames render identically — that's the goal. The win is in the bytes and requests below, not the look. They're served live by mod_pagespeed 1.15 on demo-httpd-1.1.modpagespeed.com; the optimized frame applies only this filter. Right after a cache purge it may briefly match the original while the worker rewrites it — reload to see the result.

Measured impact

HTML size

982 B 901 B
−8%

What changed in the source

The page's HTML, before and after this filter. Red lines are removed, green lines are added.


                
                  
… 2 unchanged lines …
<title>dedup_inlined_images example</title>
</head>
<body>
- <img src="images/Puzzle.jpg"
- title="A large image that isn't inlined."/><br/>
- <img src="images/Cuppa.png"
- title="A small image that is inlined."/><br/>
- <img src="images/disclosure_open_plus.png"
- title="A second small image (with an id) that is inlined."
- id="open_plus"/><br/>
- <img src="images/Puzzle.jpg"
- title="The large image again; still not inlined."/><br/>
- <img src="images/Cuppa.png"
- title="The small image again that is converted to JavaScript."/><br/>
- <img src="images/Cuppa.png"
- title="The small image again; again converted to JavaScript."/><br/>
- <img src="images/Cuppa.png"
- title="The small image again; again converted to JavaScript."/><br/>
- <img src="images/disclosure_open_plus.png"
- title="The 2nd small image again; converted to JS with its id."/><br/>
+ <img src="images/Puzzle.jpg" title="A large image that isn't inlined."/><br/>
+ <img src="images/Cuppa.png" title="A small image that is inlined."/><br/>
+ <img src="images/disclosure_open_plus.png" title="A second small image (with an id) that is inlined." id="open_plus"/><br/>
+ <img src="images/Puzzle.jpg" title="The large image again; still not inlined."/><br/>
+ <img src="images/Cuppa.png" title="The small image again that is converted to JavaScript."/><br/>
+ <img src="images/Cuppa.png" title="The small image again; again converted to JavaScript."/><br/>
+ <img src="images/Cuppa.png" title="The small image again; again converted to JavaScript."/><br/>
+ <img src="images/disclosure_open_plus.png" title="The 2nd small image again; converted to JS with its id."/><br/>
</body>
</html>

Run this on your own site

This is one of 47 filters mod_pagespeed 1.15 applies in place — self-hosted on Apache, nginx, and IIS. Install and run it: it optimizes right away and adds an X-PageSpeed-Warn: unlicensed header until you license it. Production use requires a commercial license — but the software never locks you out.