CompressImg

Compress Images for WordPress — Free, No Upload

Reduce image file size before uploading to WordPress — faster page speed, better PageSpeed score, 100% browser-based.

Drop image here or click to upload

JPG, PNG, WebP, HEIC — max 20MB

⚡ Compressed in seconds·🔒 Images never leave your device·✓ Free, no sign-up
80%
Smaller fileBetter quality

Why Image File Size Matters for WordPress Speed

Images are the single biggest source of page weight on WordPress sites. A typical blog post with three uncompressed photos can weigh 8–15MB — taking 6–12 seconds to load on a mobile connection. Google measures this with LCP (Largest Contentful Paint), a Core Web Vitals metric used as a direct ranking signal. Pages with LCP under 2.5 seconds rank higher than slower pages with otherwise equal content.

Compressing images before uploading to WordPress is the most effective optimization you can make — more effective than caching plugins, CDN setup, or server upgrades for image-heavy sites. A 5MB JPEG compressed to 200KB at quality 80 is visually identical at screen resolution but loads 25× faster.

Recommended WordPress Image Sizes — Quick Reference

Image typeDimensionsTarget sizeQuality
Hero / header image1920×1080px< 300KB78–82
Featured post image1200×630px< 200KB78–82
In-post content image1200×800px< 150KB78–82
WooCommerce product1000×1000px< 300KB80–85
Blog thumbnail400×300px< 50KB72–78
Background / pattern1920×1080px< 150KB70–75
Logo (JPEG)300×100px< 20KB82–85
Gallery image1200×900px< 200KB78–82

These targets apply to JPEG. WebP at the same quality setting produces files 25–35% smaller — use WebP where your theme and hosting support it (WordPress 5.8+ natively accepts WebP uploads).

How WordPress Handles Image Sizes Automatically

Every image you upload to WordPress Media Library is processed into multiple sizes. The default sizes are:

Size nameDimensionsUsed for
thumbnail150×150px (cropped)Archive pages, widgets
mediummax 300px wideIn-post small images
medium_largemax 768px wideMobile-sized images
largemax 1024px wideFull-width post images
fullOriginal dimensionsLightbox, downloads

All these sizes are generated from the original file you upload. A 5MB original produces five large derivative files. A pre-compressed 200KB original produces five small derivatives — faster Media Library, faster regeneration, faster CDN delivery.

Pre-Compress vs Plugin — Which Is Better?

Pre-compress before upload (this tool)

  • WordPress generates all thumbnail sizes from the compressed source
  • No plugin overhead on every page load
  • No API calls, no subscription, no limits
  • Full control over quality per image

Best for performance

Plugin after upload (Smush, ShortPixel, Imagify)

  • Automatic — works on existing libraries
  • Bulk-processes old uploads
  • Some offer WebP conversion automatically
  • API-based compression can be more aggressive

Best for large existing libraries

For new WordPress sites: pre-compress every image before uploading. For existing sites with hundreds of uploaded images: use a plugin to bulk-process the library, then switch to pre-compression for new uploads.

5 WordPress Image Mistakes That Slow Your Site

Uploading camera-original or export-original images (3–20MB)

Resize to the display width first (1200px for posts, 1920px for heroes), then compress to quality 80. Never upload a 48MP phone photo directly.

Using PNG for photographs

PNG is lossless — a photo of a landscape in PNG is 5–15× larger than JPEG at equivalent quality. Use JPEG or WebP for all photos. Reserve PNG for logos and graphics with transparency.

Relying on WordPress default quality (82) to compress your originals

WordPress quality 82 on a 5MB original still produces a 1–2MB output. Pre-compressing to quality 80 before upload produces a 200–400KB source, so WordPress's generated sizes are smaller still.

Lazy-loading the hero or featured image

The above-the-fold hero image should load immediately — never add loading="lazy" to it. Lazy loading the LCP element is one of the most common causes of failing Core Web Vitals in WordPress.

Not setting width and height attributes on images

WordPress adds width and height automatically for Media Library images. If you hard-code images in HTML or use a page builder, always set explicit dimensions. Missing dimensions cause CLS (Cumulative Layout Shift) which Google penalizes.

JPEG vs WebP vs PNG for WordPress

JPEG

Best for: Photos, hero images, blog content

Pros: Universal support including old browsers. Smallest file for photos. Supported by all WordPress themes, plugins, and hosting.

Cons: No transparency. Slight color banding at low quality settings.

WebP

Best for: All images on modern WordPress sites

Pros: 25–35% smaller than JPEG at same quality. Full transparency. Native support in WordPress 5.8+. Supported by Chrome, Firefox, Safari, Edge.

Cons: Some older plugins or CDNs may not handle WebP correctly. Not supported in IE11.

PNG

Best for: Logos, icons, UI elements with transparency

Pros: Lossless quality. Full alpha channel transparency. Exact pixel reproduction.

Cons: Never use for photos — a PNG photo is 5–15× larger than JPEG. Only use when transparency is required.

Your Images Never Leave Your Device

All compression runs in your browser using JavaScript. Your images are never uploaded to any server — there is no upload step. Safe for unreleased blog content, WooCommerce products, and client work. Free with no limits, no watermarks, no account required.

Frequently Asked Questions About WordPress Image Compression