{"id":15028,"date":"2026-10-26T16:08:13","date_gmt":"2026-10-26T14:08:13","guid":{"rendered":"https:\/\/shortpixel.com/blog\/?p=15028"},"modified":"2026-10-26T16:08:15","modified_gmt":"2026-10-26T14:08:15","slug":"how-to-compress-screenshots-without-making-text-blurry","status":"publish","type":"post","link":"https:\/\/shortpixel.com\/blog\/how-to-compress-screenshots-without-making-text-blurry\/","title":{"rendered":"How to Compress Screenshots Without Making Text Blurry"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A screenshot looks perfect on your screen, you run it through a compressor, and the text comes out smudged. You can still read it, technically. You just wouldn\u2019t want to.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Screenshots are hard on compression. Tiny text, one-pixel lines and hard edges leave nowhere to hide, so whatever the algorithm gets wrong shows up right away. Photos are far more forgiving.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The good news is that you can usually cut the file size by a good margin and keep the text readable. With ShortPixel, it mostly comes down to picking the right level out of three, then checking the result at 100% before you publish.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Why screenshots are harder than photos<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A photo is mostly soft transitions: sky, skin, a blurry background. You can squeeze those areas and nobody notices.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A screenshot is a grey 11px label next to a button, a hairline border, an icon with sharp corners. Add a little noise around a letter and the eye catches it immediately.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Format and compression level are not the same thing<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Two things decide how your text ends up looking: the format you save in (PNG, JPEG, WebP, AVIF) and the compression level you choose in ShortPixel (Lossless, Glossy or Lossy). It\u2019s easy to blame the format when the level was the problem, or the other way around.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PNG is where I\u2019d start for anything with small text or interface elements. It <a href=\"https:\/\/shortpixel.com\/blog\/reduce-png-file-size\/\">keeps edges crisp<\/a>, and that\u2019s exactly what screenshots need. JPEG can leave a faint haze around letters, so I\u2019d skip it for text-heavy images.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WebP and AVIF are a different story. Both can be lossy or lossless, so the text can come out perfect or soft depending on how the file was made. They\u2019re also not accepted everywhere, so check the upload requirements first. If you need a refresher on what suits what, the guide to the <a href=\"https:\/\/shortpixel.com\/blog\/best-image-file-types\/\">best image file types<\/a> covers it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step-by-step: how to compress a screenshot with ShortPixel<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nothing to install here. ShortPixel\u2019s <a href=\"https:\/\/shortpixel.com\/online-image-compression\">online image compressor<\/a> is free and runs in your browser.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 1: Open the compressor<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Head to the online compressor page. Settings and uploads both happen there.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 2: Choose the compression level<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Pick Lossy, Glossy or Lossless, then click <strong>Settings<\/strong>. Lossy is preselected, so change it first if your screenshot has small text. If you\u2019re unsure which one, skip to the next section and come back.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><a href=\"https:\/\/shortpixel.com/blog\/wp-content\/uploads\/2026\/10\/image.png\"><img decoding=\"async\" width=\"1024\" height=\"375\" src=\"https:\/\/shortpixel.com/blog\/wp-content\/uploads\/2026\/10\/image-1024x375.png\" alt=\"\" class=\"wp-image-15029\" style=\"aspect-ratio:2.736842105263158;width:624px;height:auto\" title=\"\" srcset=\"https:\/\/shortpixel.com\/blog\/wp-content\/uploads\/2026\/10\/image-1024x375.png 1024w, https:\/\/shortpixel.com\/blog\/wp-content\/uploads\/2026\/10\/image-1536x563.png 1536w, https:\/\/shortpixel.com\/blog\/wp-content\/uploads\/2026\/10\/image-300x110.png 300w, https:\/\/shortpixel.com\/blog\/wp-content\/uploads\/2026\/10\/image-767x281.png 767w, https:\/\/shortpixel.com\/blog\/wp-content\/uploads\/2026\/10\/image.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 3: Check the output options<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Under Settings you\u2019ll find toggles called <strong>Generate WebP<\/strong> and <strong>Generate Avif<\/strong>. Both start off. Switch them on only if the place you\u2019re uploading to accepts them. When in doubt, leave them off and stick with PNG.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 4: Check the metadata setting<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Keep Exif<\/strong> is already off by default, so just leave it. Most screenshots carry little or no metadata, so you probably won\u2019t save much, but there\u2019s no reason to hold on to it either.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 5: Upload and download<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Drop your files in, give it a few seconds, and download the optimized images.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 6: Zoom in and check<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Don\u2019t judge the result at \u201cfit to screen.\u201d Open it at 100% and go looking for trouble: the smallest text, the thinnest line, the edge of a button. Keep the original open next to it, and look at the colors too.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Which compression level should you use?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ShortPixel\u2019s own description is simple. <a href=\"https:\/\/shortpixel.com\/knowledge-base\/article\/lossy-glossy-or-lossless-which-one-is-the-best-for-me\/\">Lossy gives the smallest files, Glossy stays very close to the original, and Lossless is pixel-by-pixel identical<\/a> but saves the least.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For screenshots, I\u2019d go from gentle to aggressive. Start with Lossless: it preserves the original pixels, which makes it the safest starting point when the text is small. (Resizing or converting to a lossy format are separate steps, and they can still change the result.) Not small enough? Move to Glossy. Still too heavy? Try Lossy, but zoom in before you trust it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The goal isn\u2019t the tiniest file. It\u2019s the smallest file where the text still reads comfortably.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The easiest way to decide is to <a href=\"https:\/\/shortpixel.com\/blog\/glossy-image-optimization-for-photographers\">judge by eye<\/a>. Run one screenshot through all three levels, open each result at 100%, and compare the smallest text. It takes a couple of minutes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Colors deserve a look too. In rare cases, <a href=\"https:\/\/shortpixel.com\/kb\/?p=1007\">PNGs with gradients can look washed out after lossy optimization<\/a>. If that happens, compare against the Lossless version.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Resize with care<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Resizing is one of the quickest ways to shrink a file, and also the riskiest for text. When an image is scaled down, neighboring pixels get blended, and thin strokes are the first thing to go soft. Even halving the resolution doesn\u2019t guarantee that small text stays crisp.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So compress first, at the original size. Resize only if the file is still too big, or if you know exactly how wide the image will be displayed. The <a href=\"https:\/\/shortpixel.com\/blog\/the-impact-of-image-dimensions-on-performance\/\">impact of image dimensions on performance<\/a> is worth reading before you pick a number. Avoid upscaling, since a bigger version doesn\u2019t add real detail and small text can look softer. And check the result at 100%, ideally on the kind of screen your readers use.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In ShortPixel\u2019s Settings, the <strong>Resize to maximum<\/strong> fields take a width and a height, and the image is resized and compressed in one go. If you\u2019re up against a strict size limit, the same resize-then-compress approach is covered in how to <a href=\"https:\/\/shortpixel.com\/blog\/shrink-an-image-from-5mb-to-100kb\/\">shrink an image from 5MB to 100KB<\/a>. Just check the text carefully afterward.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Compressing many screenshots at once<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Uploading a hundred screenshots one by one gets old fast. The online compressor takes up to 50 files at a time, so a big folder means a few rounds.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On WordPress, <a href=\"https:\/\/wordpress.org\/plugins\/shortpixel-image-optimiser\/\" target=\"_blank\" rel=\"noopener\">ShortPixel Image Optimizer<\/a> compresses new uploads automatically and can bulk-optimize what\u2019s already in your media library. One setting to look at for screenshots: the option that converts PNG to JPG when it makes the file smaller. It suits photos, but for text-heavy screenshots, test it or keep it off.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Outside WordPress, the <a href=\"https:\/\/shortpixel.com\/blog\/how-to-optimize-images-with-shortpixel-cli\/\">ShortPixel CLI<\/a> works through a folder and its subfolders from the command line. By default, optimized files go into an optimized\/ subfolder, so your originals stay untouched. This example uses Glossy compression, creates WebP versions, and sends the results to a separate .\/out folder:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">.\/shortpixel-optimize.sh -k YOUR_KEY -l 2 -o .\/out &#8211;convertto +webp .\/images<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A small tip: because the results go to their own folder, your original screenshots stay as they are. That makes it easy to run the same batch at different levels and keep whichever version holds up best at 100%.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Quick checklist<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PNG is a safe default for sharp edges. Check WebP and AVIF before relying on them.<\/li>\n\n\n\n<li>Lossless or Glossy first, Lossy after.<\/li>\n\n\n\n<li>Keep Exif off.<\/li>\n\n\n\n<li>Compress first. Resize only if you must.<\/li>\n\n\n\n<li>Zoom to 100%, then check the smallest text and the colors.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Sharp text, smaller files<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Small and readable aren\u2019t opposites. Choose a format that suits hard edges, try the three levels on one of your own screenshots, and resize only when the file really needs it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019d like to try it, the <a href=\"https:\/\/shortpixel.com\/online-image-compression\">ShortPixel online compressor<\/a> is the quickest place to start. And if screenshots pile up on your site, the WordPress plugin or the CLI can handle the rest.<\/p>\n\n\n\n<div class=\"wp-block-group has-border-color has-palette-color-4-border-color has-palette-color-6-background-color has-background is-vertical is-content-justification-left is-layout-flex wp-container-core-group-is-layout-02a0377d wp-block-group-is-layout-flex\" style=\"border-width:1px;border-radius:20px;margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60);padding-top:var(--wp--preset--spacing--60);padding-right:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)\">\n<h3 id=\"cta-heading\" class=\"wp-block-heading\" style=\"margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\"><strong>Compress screenshots for free!<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Easily optimize and compress your screenshots using ShortPixel!<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/shortpixel.com\/online-image-compression\" target=\"_blank\" rel=\"noreferrer noopener\">Get Started<\/a><\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A screenshot looks perfect on your screen, you run it through a compressor, and the text comes out smudged. You can still read it, technically. You just wouldn\u2019t want to. Screenshots are hard on compression. Tiny text, one-pixel lines and hard edges leave nowhere to hide, so whatever the algorithm gets wrong shows up right [&hellip;]<\/p>\n","protected":false},"author":37,"featured_media":15030,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-15028","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-image-optimization"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/posts\/15028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/comments?post=15028"}],"version-history":[{"count":1,"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/posts\/15028\/revisions"}],"predecessor-version":[{"id":15031,"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/posts\/15028\/revisions\/15031"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/media\/15030"}],"wp:attachment":[{"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/media?parent=15028"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/categories?post=15028"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shortpixel.com\/blog\/wp-json\/wp\/v2\/tags?post=15028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}