Blog/Guide

Image Compression for Bloggers: A Practical Step-by-Step Guide

Unoptimised images are the single biggest cause of slow-loading blogs. This guide shows bloggers how to compress every image without disrupting their writing workflow.

📅 March 22, 2026⏱ 8 min readGuide

If your blog is loading slowly, images are almost certainly the cause. The average web page contains approximately 3 MB of data — and images typically account for 50–70% of that total. For bloggers, who frequently publish posts with 5, 10, or even 20 images, an unoptimised image workflow can mean multi-second page load times, poor Google rankings, and frustrated readers who bounce before the content loads.

The good news is that image compression is one of the simplest and highest-impact performance improvements a blogger can make. This guide gives you a practical, step-by-step system that fits into your existing writing workflow.

Why Bloggers Struggle with Image Optimisation

Most bloggers write and publish on their phones or laptops and take screenshots, download stock images, or export from design tools. The resulting files are commonly:

  • PNG screenshots at 2x resolution (Retina): 1–5 MB each
  • JPEG photographs from smartphones: 3–8 MB each
  • Canva or Photoshop exports at maximum quality: 500 KB – 2 MB each

Uploading these to WordPress or any CMS without compression means readers download multi-megabyte images even when they are displayed as 600 px wide thumbnails on a blog post.

What Blog Images Should Actually Weigh

Blog Image TypeRecommended Max SizeDisplay Width
Featured / hero image100–150 KB1200 px wide
In-post body image80–120 KB700–800 px wide
Screenshot (UI, tutorial)50–100 KB700–800 px wide
Small inline image20–40 KB300–400 px wide
Thumbnail (archive/grid)30–50 KB300–400 px wide
Author avatar10–20 KB80–100 px round

A blog post with 8 optimised images at these sizes should add up to roughly 600 KB – 1 MB total for images, compared to 15–40 MB for unoptimised sources.

Step 1: Set Up a Pre-Upload Compression Routine

The most reliable way to keep your blog fast is to compress every image before it gets uploaded. This is a 60-second step:

  1. Take your screenshot, photo, or design export.
  2. Open CompressImg.in in your browser (bookmark it).
  3. Upload the image and compress. For photographs, target under 150 KB. For screenshots, target under 100 KB.
  4. Download the compressed file and upload it to your blog as normal.

Once this becomes habitual — and it takes only a few seconds per image — your blog will consistently load fast without any ongoing maintenance.

Step 2: Choose the Right Format

Use these simple format rules for blog images:

  • Photographs and illustrations: JPEG. It achieves the best file size for full-colour images with complex gradients.
  • Screenshots of interfaces (dark text, sharp lines): PNG. JPEG compression artifacts are visible on text and thin lines even at high quality settings.
  • Icons, logos, vector art: SVG if possible (infinitely scalable, tiny file size). If not SVG, use PNG.
  • Everything else for modern blogs: Consider WebP — it is supported in all modern browsers and compresses 25–35% better than JPEG or PNG for equivalent quality.

Step 3: Name Your Images Correctly

Image file names are a small but real SEO signal. Before uploading:

  • Rename IMG_20240312_143022.jpg to something descriptive: wordpress-image-compression-plugin-settings.jpg
  • Use hyphens between words, not underscores or spaces.
  • Include your target keyword naturally, but only if it reflects the actual image content.

Alt text matters for both SEO and accessibility

Every image in your blog post should have descriptive alt text. This helps visually impaired readers using screen readers, and it helps Google understand what the image shows. Write alt text that describes the image content: “Screenshot of WordPress media library showing large uncompressed image files” is much better than “image1” or leaving it blank.

Optimising Existing Blog Images (Retroactively)

If you have an existing blog with hundreds of unoptimised images already uploaded, address existing content with a plugin (for WordPress) or a site-wide audit.

WordPress plugins for bulk optimisation:

  • ShortPixel: Compresses images on upload and in bulk. Offers lossy, glossy, and lossless modes. Free tier available (100 photos/month).
  • Smush: Popular free plugin. Compresses on upload, strips metadata from JPEG files, and offers bulk smush for existing images. Pro version adds WebP and CDN.
  • EWWW Image Optimizer: Free plugin with unlimited local compression. Slightly slower than cloud-based options but no monthly quotas.

For non-WordPress platforms: If you use Ghost, Substack, Blogger, or a custom CMS, pre-upload compression is your main tool. Establish the routine of compressing with a tool like CompressImg.in before every upload.

Screenshot Compression: A Special Case

Tutorial blogs often contain many screenshots, and screenshots have unique compression characteristics. A screenshot at Retina (2x) resolution on a Mac can be 2–5 MB despite showing nothing more than a settings panel.

Best practices for screenshots:

  • Take screenshots at 1x resolution when possible, or resize to half the dimensions before compressing.
  • Use PNG for screenshots with text and interface elements — JPEG introduces visible blur on sharp edges.
  • Crop tightly to show only the relevant part of the screen, reducing both pixel dimensions and file size.
  • Compress PNG screenshots with CompressImg.in — our lossless PNG compression typically reduces screenshot file sizes by 30–50% without any visual change.

Mobile vs Desktop: Responsive Images for Blogs

Most blog themes handle responsive images automatically — they serve smaller image sizes to mobile devices using WordPress's built-in srcset generation. However, this only works if you upload images at a reasonable maximum size. Uploading a 5000 × 4000 px photograph means WordPress generates multiple sizes from it, but all starting from that large original.

A practical maximum upload dimension for blog images is 1200 Ă— 900 px. This is sufficient for full-width blog content and leaves adequate resolution for tablets and Retina displays. Images larger than this do not improve visual quality in a standard blog layout and only increase storage and delivery costs.

Measuring Your Results

After establishing an image optimisation routine, verify the impact:

  • Run a blog post through Google PageSpeed Insights (pagespeed.web.dev). Look for the “Properly size images” and “Serve images in next-gen formats” recommendations — these should diminish or disappear.
  • Check the Network tab in Chrome DevTools (F12 → Network → Img filter) for a page, and verify the image sizes look reasonable.
  • Use GTmetrix to track page load times before and after your optimisation work.

Conclusion

Image compression is the single highest-impact performance improvement available to most bloggers. A two-minute pre-upload routine — compress every image before uploading — transforms blog page load times, improves Google rankings, reduces server storage costs, and delivers a better experience to readers on slow mobile connections. Start the habit today, and run a plugin or audit to fix your existing content.

Ready to compress your images?

Use our free online tool to reduce any image to an exact KB target — instantly, privately, in your browser.

Try Free Image Compressor →

Related Articles