I Tried to Shrink Photos to 15 KB. Here’s What Actually Worked.

I’m Kayla. I had to upload a headshot to a school portal. It said “Max 15 KB.” I laughed, then I sighed. Fifteen. Not 50. Not 150. Fifteen. That’s tiny.

Still, I got it done—many times, with different tools. Some days on my laptop. Some days on my phone, while riding the bus. Here’s what I used, what worked, and what looked like mush.


First, a quick truth

15 KB is small. Like, postcard-sized small on a screen. If your image is giant, it won’t stay pretty at 15 KB. You need to make it smaller and simpler. That means:

  • Shrink the width.
  • Drop the quality a bit.
  • Remove hidden data.
  • Sometimes, change the file type.

If you want a crash course on why images balloon in size and how compression algorithms tame them, dive into DataCompression.info for a quick, eye-opening read. For the full narrative of my 15 KB showdown—including extra screenshots and all my misfires—you can read the complete lab notes I posted earlier.

Let me explain with real tries.


My go-to tool on a laptop: Squoosh

It’s a free web app by Google. I use it in Chrome.

  • Real test: iPhone photo of my face, 3024×4032, 2.6 MB.

    • Steps: I opened it in Squoosh. I set the width to 640 px. I picked MozJPEG. I dragged Quality down to 35. I hit “Reduce palette” off. I set “Metadata” to “None.”
    • Result: 14.7 KB. It still looked fine on my school portal. On my 27-inch monitor? A bit soft. On my phone? Looks okay.
  • Real test 2: A food shot, lots of texture, 4000×3000, 3.1 MB.

    • Steps: width 600 px, MozJPEG, Quality 30.
    • Result: 16.4 KB. Still too big. I went down to Quality 27.
    • Final: 14.9 KB. It looked okay, but the basil lost pop. My kid didn’t care. The site did. It passed.
  • WebP try: same 600 px image, WebP, Quality 50.

    • Result: 11.2 KB. Sharper than JPEG 27. If the site allows WebP, I use it.

Why I like Squoosh: It’s fast, and I can see a live split view. Why I don’t: It’s manual for each image. Batch jobs take time. For an experiment with bleeding-edge neural encoders that adapt quality on the fly, I toyed with an asymmetric gained deep image compression with continuous rate adaptation approach—worth a look if you crave geekier knobs.


TinyPNG: good, but not magic

  • Real test: Travel photo, 1200×800, 480 KB JPEG.
    • I dragged it into TinyPNG. It dropped to 120 KB. Not even close to 15 KB.
    • Tip: I used TinyPNG’s Resize to 500 px wide. Then I compressed again.
    • Final: 14.3 KB. Looks a bit flat, but fine for forms.

Good for simple shots. Not great for busy scenes, unless you also resize first.


Photoshop “Save for Web (Legacy)”: picky but powerful

  • Real test: Product shot on white, 2400×2400, 1.2 MB.
    • Steps: Image Size to 600×600. Save for Web. JPEG. Quality 28. Blur 0.3. Metadata None.
    • Result: 15.1 KB. Close. I nudged Quality to 27.
    • Final: 14.6 KB. Clean edges. Text on the box stayed readable.

It takes a few clicks, but I like the control.


GIMP: the free path

  • Real test: Portrait, 2000×3000, 2.1 MB.
    • Steps: Scale Image to 640 px wide. Export As > JPEG. Quality 35. Advanced: Subsampling 4:2:0. Uncheck “Save EXIF” and “Save XMP.”
    • Final: 13.8 KB. Slight color dip, but good enough.

If you don’t pay for Adobe, this works.


Command line: ImageMagick for batch work

I use this when I have a folder of photos for a portal that cries for 15 KB each. Yes, I’m that person.

  • Real test: 18 headshots from a team day.
    • Command: convert input.jpg -resize 600x -quality 35 -strip -sampling-factor 4:2:0 output.jpg
    • Most files landed 12–16 KB. I re-ran a few with quality 32 to keep faces from blotching.

It’s nerdy. But it saves time.


Logos: PNG-8 or SVG wins

Text and flat shapes are different from photos.

  • Real test: A blue wordmark, 1200×400, 260 KB PNG.

    • In Photoshop: Save for Web, PNG-8, 16 colors, no dithering.
    • Final: 9.8 KB. Crisp on white.
  • Real test: A simple icon, two colors, 512×512.

    • PNG-8, 8 colors.
    • Final: 6.1 KB. Sharp.

If the site allows SVG, that’s even cleaner, but some forms block it.

Side note: If you’re resizing profile pictures for adult-oriented dating or companion listings—where fast page loads keep potential matches engaged—you can peek at how Wheat Ridge escorts showcase lightweight yet inviting images; their examples prove you can stay under tight byte limits without sacrificing allure or professionalism.


Phone apps I used on the go

  • Android: Lit Photo

    • Real test: Selfie for a job form, 3.0 MB.
    • I set width to 500 px. Quality 50. Remove EXIF on.
    • Final: 13.5 KB. Passed. My cheeks looked a bit plastic. The HR site did not care.
  • iPhone: Compress Photos & Pictures

    • Real test: Family pic, 2.4 MB.
    • Set size to 600 px wide, Quality slider about 40%.
    • Final: 14.9 KB. It looked okay in the app and on the form.

One more thing: I tried the “WhatsApp trick” (send to myself, then save). The file fell to about 62 KB. Not small enough.


What failed for me

  • Keeping full width (like 1920 px) under 15 KB. It turned into mud.
  • Heavily detailed shots (trees, water, hair) at 15 KB. You’ll see blotches.
  • Leaving metadata in. It adds a few KB for no reason.

Because hair strands are some of the toughest textures to compress cleanly, I hunted for extra guidance and found the most practical tips in InstantChat’s “Hairy” case study—it walks through side-by-side examples and setting tweaks that keep locks from turning into noisy blobs while still hitting strict byte caps.


My simple playbook for 15 KB

  • Start at 600 px wide (or 500 if needed).
  • JPEG quality 25–40 for photos. Go WebP if allowed.
  • Remove metadata. Always.
  • Crop extra space. Faces big, background small.
  • Use plain backgrounds. Busy stuff eats bytes.
  • Try grayscale if color isn’t needed. Saves 20–40%.
  • For logos, use PNG-8 with few colors; keep it flat.

Real quick examples you can copy

  • Portrait, posted on a portal:

    • 640 px wide, JPEG Quality 32, strip metadata.
    • Typical result: 12–16 KB.
  • Product on white:

    • 600 px, JPEG Quality 27–30, tiny Blur 0.3 (Photoshop).
    • Typical result: 13–15 KB.
  • Logo:

    • 600 px wide, PNG-8, 16 colors, no dither.
    • Typical result: 6–12 KB.
  • If WebP is okay:

    • 600 px, WebP Quality 45–55.
    • Typical result: 9–14 KB, sharper than JPEG.

The verdict from my desk (and bus seat)

  • Squoosh: Best for quick, clean control. I use it the most.
  • Photoshop Save for Web: Best for fussy edges and tiny tweaks.
  • ImageMagick: Best for batches. Not cute, but so fast.
  • TinyPNG: Good when mixed with resizing.
  • Lit Photo and Compress Photos (phone): Great in a pinch.

Do I love the 15 KB rule? Not really. But now it’s easy. Shrink the width. Nudge quality. Strip the fluff. And you know what? Once you see that “Upload success” message, you