DRAFT — pre-launch preview. Not a public service yet; owner approval required.
image-optimizer

Any website · free · runs in your browser, your picture never leaves your device

Make your website's pictures load fast.

Big pictures are the usual reason a page feels slow — and slow pages lose visitors and rank lower on Google. Drop in a logo or a photo and get it back far smaller, looking the same, ready for your site.

Free · no account · nothing uploaded · also an API and an MCP server for developers · See before and after

The same web page, measured by Google's page-speed test (Lighthouse 13.6.0) · 2026-11-09

66Before
100After

Google speed score on a phone · 100 is best

Time until the main picture appears
5.6 s → 1.2 s
Picture size a phone downloads
942 KB → 28 KB
Page jumping while it loads (0 = none)
0.258 → 0.000

Check it yourself on Google PageSpeed Insights: before · after

Why it matters

A slow page costs you visitors. Pictures are usually why.

Visitors leave pages that take more than a few seconds, and Google uses page speed when it ranks results. So we built one shop page two ways — the photo as it came out of the camera, and the file this tool produced — and measured both with Google's page-speed test, Lighthouse: speed score 66 → 100 on a phone, main picture visible after 5.6 s → 1.2 s, picture download 942 KB → 28 KB.

Lighthouse 13.6.0, measured 2026-11-09, same page with the main picture served two ways
On a phone, slow connectionTypical exportWith image-optimizer
Google speed score (100 is best)66100
Time until the main picture appears5.6 s1.2 s
Page jumping while it loads (0 is none)0.2580.000
Picture size the phone downloads942 KB28 KB
Time to download that picture on a slow connection · share of Google's 2.5 s target5.0 s · 199 %293 ms · 12 %
On a desktop computer: score · time to main picture99 · 1.0 s100 · 404 ms
Picture size on desktop942 KB271 KB

For the technically minded: Lighthouse 13.6.0 on 2026-11-09, mobile emulation with simulated Slow 4G, light scheme; all eight runs (mobile/desktop × light/dark) are tabled on the demo page. Same page, same photo; only the image code differs: before · after. Check it yourself on Google PageSpeed Insights: before · after.

Every "on a slow phone connection" line below uses the same test profile Google uses for phones (1.6 Mbps, 150 ms delay). It is the time for that one picture, not the whole page. Method and caveats: AD_006.

How it works

It tries both ways and keeps the smaller one that still looks right.

Logos and icons

Logos become drawings that stay sharp at any size.

  • Redrawn as shapes. A logo becomes a handful of shapes (an SVG), usually under 2 KB — 3–8× smaller than the best photo format and crisp on any screen. The tracer is VTracer.
  • Cleaned up. Needless decimals and editor leftovers are stripped out (SVGO), so nothing is downloaded that nobody sees.
  • Tiny ones go straight into the page. Under 1.5 KB the drawing is written into the page itself: no separate download at all.
github-mono.png  512×512  15.6 KB  colours=2  top16=100 %  alpha
  → SVG: 8.5× smaller than AVIF and scales to any DPI
  output        bytes    compressed   PSNR     SSIM
  svg (mono)    1.1 KB   470 B br     31 dB    0.985
  avif q45      5.1 KB                51 dB    1.000
  webp q75      5.5 KB                46 dB    1.000

Photos

Photos get the newest formats, with a safety net.

  • It can tell a photo from a logo. A quick look at the colours (how many, how evenly spread) decides which route to take before anything heavy runs.
  • AVIF first, WebP second, JPEG last. About 97 % of browsers show AVIF at roughly a third of the JPEG size; the rest fall back automatically, so nobody ever sees a broken picture.
  • Checked against the original. Every result is compared with the original pixel by pixel (PSNR, SSIM). A version that does not look right loses, even when it is smaller.
s114e6076.jpg  640×436  33 KB  colours=1951  top16=80 %
  → RASTER: photographic content; AVIF + WebP
  output         bytes    PSNR     SSIM
  avif q45       5.5 KB   39.6 dB  0.986
  webp q75       9.6 KB   40.9 dB  0.988
  jpeg fallback  16 KB

The code

Copy one snippet: the page stops jumping and the main picture shows up first.

  • A size on every picture, so the page does not shift around while it loads.
  • The main picture loads first; everything further down waits until the visitor scrolls to it.
  • Phone-sized versions, so a phone downloads a 20–30 KB file instead of the 270 KB desktop one — see the measured demo page.
  • Favicons too. One click builds every icon your site, phones and home screens need, plus the lines to paste into the page head.
  • Using a site builder such as Squarespace, Wix or WordPress? Just upload the smaller file; the builder writes the code for you.
<!-- flat art: one request, any DPI -->
<img src="logo.svg" width="512" height="512" alt="…"
     fetchpriority="high" decoding="async">

<!-- photo: modern first, fallback last -->
<picture>
  <source type="image/avif" srcset="hero.avif">
  <source type="image/webp" srcset="hero.webp">
  <img src="hero.jpg" width="640" height="436" alt="…"
       loading="lazy" decoding="async">
</picture>

In your browser

Three steps, nothing uploaded.

  1. 01

    Drop

    Drag a PNG, JPEG, WebP or GIF onto the tool, or paste it. Everything runs on your own device; the picture never leaves your computer.

  2. 02

    Compare

    See the original and the smaller versions side by side, with their sizes and a "looks the same" check. Zoom in as far as you like.

  3. 03

    Use

    Download the smaller file and upload it to your site — or copy the code if you build pages yourself. Developers and AI agents can call the API or the MCP server instead.

For developers and AI agents

The same engine, three ways in.

Everything on this page runs the same code, so what you see in the browser is exactly what your build or your agent gets.

Browser

Private by construction: decoding, tracing and encoding happen in your tab. No size limit beyond your device.

Open the tool

HTTP API

curl -X POST --data-binary @logo.png \
  -H 'content-type: image/png' \
  /api/v1/optimize?format=json

POST /api/v1/vectorize returns the SVG; /optimize returns the whole decision (?format=svg|avif|webp for one file, ?widths=auto for a srcset); /favicons the icon set. Inputs up to 4.5 MB; contract at /api/v1/openapi.json.

MCP server

claude mcp add --transport http \
  image-optimizer \
  https://imageoptimizer.co/mcp

Agents get the same operations as tools from the keyless MCP server: image_audit, image_analyze, image_vectorize, image_optimize, image_favicons. Skill: SKILL.md.

FAQ

Questions, answered.

What is a Lighthouse score?

Google's free test of how fast and usable a web page is, scored 0 to 100; 90 and above counts as good. It powers PageSpeed Insights and feeds Google's ranking signals. Oversized pictures are the most common reason a page scores badly.

Do I need to be a developer?

No. Drop a picture in, download the smaller one, upload it to your site as you did the original. The code snippets are for people who edit HTML themselves.

Will my picture look worse?

It should not. Every result is compared with the original pixel by pixel; a version that does not look right loses even when it is smaller. You see both side by side, zoomable, before you download.

Is anything uploaded?

Not from the browser tool: the picture never leaves your device. "Check my website" and the developer API are the exceptions by design — you send them an address or a file — and they keep nothing.

What does "Check my website" do with my address?

It fetches the public page you name and its pictures (up to 20), measures them, and shows which ones slow the page and what each would become — an estimate until you press Shrink. Nothing is stored; the address is not logged.

Why do some pictures come back as AVIF instead of SVG?

Drawings (SVG) win for logos, icons and flat art. Photos, gradients and soft shadows do not trace well — a traced photo is 60–80 KB and still looks wrong, a 7 KB AVIF looks right — so those get the photo formats.

Which browsers can show AVIF?

About 97 % (Chrome 85+, Firefox 93+, Safari 16.4+, Edge 121+). The code lists WebP and then JPEG or PNG as fallbacks, so the other 3 % see the picture too.

I already have an SVG of my logo. Should I still use this?

Use yours: a hand-made SVG is about half the size of the best trace. This tool is for when only a PNG or JPEG exists, or the picture was never a drawing.

Can I use this commercially, and is there a paid plan?

Yes. The browser tool is free for any site, commercial included; everything that ships is permissively licensed. The hosted API and MCP endpoint are a free, keyless research service today with a shared fair-use limit and no SLA. A metered plan with API keys is planned, not yet available.

What runs underneath, and where do the numbers come from?

Open-source engines with permissive licences: VTracer, SVGO, the jSquash encoders, sharp. The settings come from a benchmark of over 7,000 conversions on freely licensed logos, flat art and NASA photos, measuring size, time and closeness to the original.

Make your website's pictures load fast.

Drop in a logo or a photo; the smaller version and the code are ready in seconds.

Shrink an image