Screenshots are the one image type where format choice has an immediately visible impact on quality. JPEG artifacts around text, UI buttons, and code snippets are ugly and obvious. PNG preserves every pixel perfectly. WebP splits the difference with better compression. Picking the wrong format makes your documentation, bug reports, and tutorials look amateurish.

This isn't a long debate. For 90% of screenshots, PNG is correct. This guide covers why, plus the specific 10% where other formats make sense, and how to optimize screenshots that are too large.

Why PNG Is the Default for Screenshots

Screenshots contain the exact content types that JPEG handles worst: sharp text, thin lines, solid color blocks with distinct edges, and high-contrast UI elements. JPEG's DCT compression is designed for photographs — smooth gradients and organic textures. When it encounters a crisp "Submit" button with sharp 1px borders, it creates ringing artifacts (halos around edges) and block artifacts (visible 8x8 grids in flat color areas).

PNG's DEFLATE compression is lossless — the decoded image is pixel-identical to the original. Text is crisp. UI borders are sharp. Solid colors are solid. No artifacts, no compromise.

File size reality check: A typical 1920x1080 screenshot of a text-heavy application:

  • PNG (32-bit RGBA): 150-400KB
  • PNG (indexed via pngquant): 40-120KB
  • JPEG (quality 85): 120-250KB (with visible artifacts around text)
  • WebP (lossless): 100-300KB
  • WebP (lossy, quality 90): 60-150KB (minimal visible artifacts)

PNG is slightly larger than JPEG in raw file size, but the quality difference is stark. After pngquant optimization, indexed PNG is often smaller than JPEG while remaining lossless. WebP lossless gives the best of both worlds: smaller than PNG with zero quality loss.

When JPEG Is Acceptable for Screenshots

JPEG works for screenshots that are primarily photographic:

  • Game captures: Full-screen game screenshots have natural textures, gradients, and no text — JPEG handles these well at quality 90+.
  • Video frame grabs: Screenshots from movies, YouTube, or video calls. The content is already video-compressed, so JPEG re-encoding is fine.
  • Map screenshots: Satellite/aerial view screenshots with primarily photographic terrain. (If the map has text labels or UI overlays, use PNG.)
  • Photo-editing software captures: Screenshots of Lightroom or Photoshop where the viewport shows a photo. The photo region compresses well as JPEG, though the tool UI around it may show artifacts.

For mixed content (photo in the center with UI around it), PNG is still the safer choice. The UI elements with text will show JPEG artifacts even if the photo region looks fine.

WebP: The Optimal Web Screenshot Format

If your screenshots are primarily shared on the web (documentation sites, blog posts, issue trackers), WebP lossless is the optimal format. It produces files 20-30% smaller than PNG with identical pixel data.

WebP lossy at quality 90+ is also excellent for screenshots. At quality 90, text artifacts are virtually invisible at normal viewing sizes, and file sizes are 50-60% smaller than PNG. The artifacts become visible only at 200%+ zoom on sharp text — acceptable for most documentation and tutorials.

The catch: not all platforms accept WebP uploads. GitHub issues, Notion, some CMS platforms, and email all handle PNG more reliably than WebP. For maximum compatibility, keep PNG as your capture format and convert to WebP when the destination supports it. Convert PNG to WebP.

OS Screenshot Defaults

OSDefault FormatShortcutNotes
macOSPNGCmd+Shift+3 (full), Cmd+Shift+4 (selection)Can change to JPEG via Terminal defaults command
Windows 10/11PNGWin+Shift+S (Snipping Tool), PrtScn (clipboard)Snipping Tool saves as PNG by default
ChromeWebPDevTools screenshot featureChrome's built-in screenshot saves as WebP
FirefoxPNGRight-click → Take ScreenshotSaves as PNG
iOSPNGPower + Volume UpAlways PNG, often 2-5MB on modern iPhones
AndroidPNGPower + Volume DownSome manufacturers default to JPEG

Chrome's DevTools screenshot feature saves as WebP, which catches people off guard — the file won't open in some older image viewers. Convert with WebP to PNG if you need compatibility.

Optimizing Large Screenshots

iPhone screenshots at 3x resolution (1290x2796 on iPhone 15 Pro) can be 4-8MB as PNG. Desktop screenshots at 5K resolution (5120x2880) can be 10-20MB. Here's how to reduce size without visible quality loss:

Step 1: Try pngquant. Converts 32-bit PNG to indexed 8-bit PNG with smart dithering. For screenshots with UI elements and text (which typically have 50-200 distinct colors), this reduces file size by 60-80% with imperceptible quality change. A 4MB iPhone screenshot becomes 800KB-1.2MB.

Step 2: Convert to WebP lossless. If your destination supports WebP, this saves an additional 20-30% over pngquant output. The 800KB indexed PNG becomes 550-650KB as WebP lossless.

Step 3: If still too large, use WebP lossy at quality 90. This produces artifacts only visible at extreme zoom. A 4MB iPhone screenshot becomes 300-600KB. Suitable for documentation, Slack, and web tutorials.

Step 4: Resize if the resolution is overkill. A 5K screenshot displayed at 800px wide in a blog post doesn't need all 5120 pixels. Resize to 2x your display width (1600px) before compression. This alone cuts file size by 75%+.

Screenshot Annotation Tools and Format Support

Popular annotation tools and their format handling:

  • CleanShot X (macOS): Captures PNG. Supports export to PNG, JPEG, WebP, GIF. Excellent annotation tools. Can auto-optimize on capture.
  • Snagit: Captures PNG. Exports to PNG, JPEG, GIF, BMP, PDF. The "Simplify" feature is great for documentation screenshots.
  • ShareX (Windows): Captures PNG. Supports export to all major formats. Highly configurable — can auto-run optimization after capture.
  • macOS Preview: Opens PNG screenshots for annotation. Exports to PNG, JPEG, PDF, TIFF. No WebP export.
  • Lightshot: Captures PNG. Direct upload to their servers (as JPEG, which loses quality). Save locally as PNG instead.

The key recommendation: capture and annotate in PNG, then convert to WebP for web sharing or keep PNG for maximum compatibility.

Screenshot format choice is simple: PNG for anything with text, WebP lossless for web-optimized delivery, and JPEG only for photographic content. The difference between a PNG and JPEG screenshot with text is obvious at a glance — PNG looks professional, JPEG looks compressed.

If your screenshots are too large, optimize: convert PNG to WebP for 20-30% savings, or run pngquant for 60-80% savings while staying in PNG format. For compatibility when someone sends you a WebP screenshot: convert WebP to PNG.