CINXE.COM
ImageOptim — better Save for Web
<!DOCTYPE html> <head lang=en> <meta charset=utf8> <title>ImageOptim — better Save for Web</title> <meta content="width=device-width" name=viewport> <!--! See how it's made: https://github.com/ImageOptim/website --> <script>function ga(){ga.q.push(arguments)}function im2ev(e,n,a){ga("send","event",e,n,a)}document.documentElement.className="has-js "+function(e){return/\b(?:Linux|Android|iPhone|iP[ao]d|Windows )\b/.test(e)?"os-not-mac"+(/\bWindows\b/.test(e)?" os-win":""):"os-mac"+(/\bOS[_ ]X[_ ]10[._][5-8]\D/.test(e)?" os-old-mac":"")}(navigator.userAgent),ga.q=[],ga.l=Date.now(),ga("create","UA-3088672-5","auto",{siteSpeedSampleRate:10,transport:"beacon"}),ga("send","pageview")</script> <style>@font-face{font-family:Roboto;font-style:normal;font-display:fallback;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(/f/roboto-v15-latin_latin-ext-300.woff2) format('woff2'),url(/f/roboto-v15-latin_latin-ext-300.woff) format('woff')}@font-face{font-family:Roboto;font-display:swap;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(/f/roboto-v15-latin_latin-ext-500.woff2) format('woff2'),url(/f/roboto-v15-latin_latin-ext-500.woff) format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-display:swap;font-weight:400;src:local('Open Sans'),local('OpenSans'),url(/f/open-sans-v13-latin-regular.woff2) format('woff2'),url(/f/open-sans-v13-latin-regular.woff) format('woff')}</style> <style>/*! github.com/necolas/normalize.css MIT License */html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;hanging-punctuation:first}article,aside,details,figure,footer,header,main,nav,section,summary{display:block}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:1px dotted rgba(0,0,0,.3);cursor:help;text-decoration:none}h1{font-size:2em;margin:.67em 0}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}code,kbd,pre,samp{font-family:Consolas,Menlo,Courier,monospace,serif;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}[type=button],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}#features,#footer>div,.hero>div,.sidebarcontainer,body>#faq,body>#newsletter>form,body>#thanks,body>main{box-sizing:border-box;margin:0 auto;padding:0 1em;max-width:56em}@media (min-width:1700px){#features,#footer>div,.hero>div,.sidebarcontainer,body>#faq,body>#newsletter>form,body>#thanks,body>main{max-width:66em}}#sidebar>.download,.hero .download>div>a,.log-out-button{font:inherit;text-shadow:0 1px 0 rgba(0,0,0,.7);text-align:center;display:block;font-weight:400;color:#fff;border-radius:3px;text-decoration:none;padding:1px 1.5em 1px;line-height:2.9;border:1px solid rgba(255,255,255,.5)}@media (max-width:600px){#sidebar>.download,.hero .download>div>a,.log-out-button{padding:1px 1em 1px;line-height:2.8}}#sidebar>.download:hover,.hero .download>div>a:hover,.log-out-button:hover{background:rgba(0,0,0,.1);box-shadow:inset 1px 2px 4px rgba(0,0,0,.13)}#sidebar>.download:active,.hero .download>div>a:active,.log-out-button:active{padding-top:2px;padding-bottom:0}.im2-style main{font:1em/1.5 helvetica,sans-serif}.im2-style h2,.im2-style h3,.im2-style h4{font-weight:400}.im2-style table{font:inherit}.im2-style samp{font:inherit}.im2-style code,.im2-style pre{background:rgba(0,0,0,.03)}.im2-style pre>code{background:0 0;padding:0}.im2-style pre{padding:1em;white-space:pre-wrap}.im2-style .samp,.im2-style samp{color:#844;background:rgba(255,200,0,.1)}.im2-style .samp,.im2-style code,.im2-style samp{padding:2px 4px;border-radius:2px}.im2-style ul ul{margin-bottom:1em}.im2-style .badge,.im2-style var{font-family:helvetica,sans-serif;font-size:.8em;border-radius:1em;padding:.05em .5em .08em .45em;vertical-align:5%;white-space:nowrap}.im2-style var>a{color:inherit;text-decoration:none}.im2-style var>a:hover{text-decoration:underline}.im2-style th>var{line-height:1.8;vertical-align:1%}.im2-style .badge{border:1px solid #ded;color:#8c8;margin:1em 0;display:inline-block}.im2-style var{color:#fff;background:rgba(0,0,60,.43);font-style:italic;font-weight:700;border:1px solid #000;border-color:#444 #777 #777 #444;text-shadow:1px 1px 0 #000;margin:0 .1em}.im2-style var.c1{color:#fff;background:rgba(35,0,0,.43)}.im2-style var.c2{color:#fff;background:rgba(0,30,0,.43)}.im2-style var.c3{color:#fff;background:rgba(0,0,45,.43)}.im2-style .exampleurl-desc,.im2-style .exampleurl-template{text-align:center;background:#eee;padding:1em;font-size:1.5em;font-family:consolas,courier,monospace,sans-serif}.im2-style .exampleurl-desc{overflow:hidden;text-overflow:ellipsis;background:#f8f8f8;border:1px solid #ddd;position:relative;font-size:1em;padding:2.5em 1em 4em 1em}.im2-style .exampleurl-desc samp{background:0 0;padding:0 .1em}.im2-style .exampleurl-desc span{font-size:.88em;font-family:helvetica,sans-serif;white-space:nowrap}.im2-style .c1{color:#700}.im2-style .c2{color:#060}.im2-style .c3{color:#009}.im2-style td,.im2-style th{vertical-align:top;padding:.5em;font-weight:400}.im2-style th:first-child{text-align:right}.im2-style #options-list{margin:2em 0}@media screen and (min-width:1100px){.im2-style #options-list{margin-left:-6em}}.im2-style #url-parts td,.im2-style #url-parts th{padding-right:0;padding-left:.2em}.im2-style #options-list tr:not(.suboption)>td,.im2-style #options-list tr:not(.suboption)>th{border-top:1px solid #eee;padding:1em .5em}.im2-style #options-list tr.suboption>td,.im2-style #options-list tr.suboption>th{padding-top:0}.im2-style #options-list th{padding:1em 0}.im2-style .urlexample{color:#888;display:block;margin:.5em 0;white-space:nowrap}.im2-style td p{margin-top:0}.im2-style aside{display:block;font-size:.8em;color:#833;margin:1em 0 1em 1em;border-left:4px solid #fed;padding:0 0 0 1em}.im2-style summary{font-weight:700;margin-bottom:.5em;cursor:pointer}.im2-style details>summary:focus{outline:0;color:#000}.im2-style details:not([open])>summary:focus:not(:active){text-decoration:underline}.im2-style p.more{text-align:right;font-size:.8em;margin:.5em 0}.im2-style table p.more{text-align:center}.im2-style p.more code{padding-left:0;padding-right:0;background:0 0}.im2-style table p.more a{display:block;line-height:2}.im2-style p.more a{border-bottom:1px solid transparent}.im2-style p.more a:hover{background:#f8f8ff;border-bottom:1px solid #eef}.im2-style .error{font-weight:700;color:#060}@-webkit-keyframes appear{0%,20%{background-color:#fffa78}10%,100%{background-color:rgba(255,250,120,0)}}@keyframes appear{0%,20%{background-color:#fffa78}10%,100%{background-color:rgba(255,250,120,0)}}.im2-style #post:target .real_username{-webkit-animation:appear 5s;animation:appear 5s}.im2-style .terminal{padding:1em;background:#444;color:#8f8;text-shadow:1px 1px 0 #000;border-radius:3px}.im2-style .error-detail{color:#aaa}.os-mac .not-mac{display:none}.os-not-mac .mac-only{display:none}html{font:300 1em/1.5 Roboto,"Open Sans","Helvetica Neue","SF UI Text",Lato,Arial,sans-serif;font-size-adjust:none}@media (max-width:500px){html{line-height:1.4}}@media (min-width:1700px){html{line-height:1.6}}body,html{margin:0;padding:0}a:not(:hover){-webkit-text-decoration-color:rgba(0,0,255,.25);text-decoration-color:rgba(0,0,255,.25)}a:not(:hover):visited{-webkit-text-decoration-color:rgba(102,0,170,.25);text-decoration-color:rgba(102,0,170,.25)}h1,h2,h3,h4{font-size:1.6em;font-weight:300;font-family:Roboto,"Open Sans","SF UI Display","Segoe UI","Helvetica Neue",Lato,Arial,sans-serif}h3{font-size:1.4em}h4{font-size:1.15em;margin:.87em 0}dt{font-weight:400;margin:1em 0 0;color:#444}hr{border:0;border-top:1px solid #ddd}dd{padding:0;margin:0 0 0 1em}@media (min-width:700px){dd{margin-left:2em}}dd p{margin:.5em 0}samp{background:#f8f8f8;padding:1px 2px;font-family:Helvetica,"Lucida Grande",sans-serif}abbr{font-size:.98em}.brand{font-family:"Open Sans",Lato,Roboto,"SF UI Display","Segoe UI","Helvetica Neue",Lato,Arial,sans-serif;font-style:normal;font-weight:400}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){b,strong{font-family:"Open Sans",Lato,Roboto,"SF UI Display","Segoe UI","Helvetica Neue",Lato,Arial,sans-serif;font-style:normal;font-weight:400}}p.warning{background:#ffe;padding:1em;border:1px solid #ec8;border-radius:2px;overflow:hidden}.pullquote{min-width:6em;clear:right;font-style:italic;color:#fff;font-family:Georgia,serif;text-shadow:0 1px 0 rgba(0,0,0,.5);border-radius:3px;background:#b70c54;padding:1em;text-align:center;border-bottom:4px solid rgba(0,0,0,.25)}.pullquote>p{margin:0}@media (min-width:700px){.pullquote{font-size:1.4em}}@media (min-width:400px){.pullquote{float:right;margin:0 0 .5em 1em;max-width:25%}}.reference:not(:hover){color:inherit;-webkit-text-decoration-color:rgba(0,0,136,.25);text-decoration-color:rgba(0,0,136,.25)}.sponsor{background:#fafafa;border:1px solid #f3eeee;padding:1em;margin:1em 0;overflow:hidden}#header>nav>a.current::after,#header>nav>a.current::before,#header>nav>a:hover::after,#header>nav>a:hover::before{content:"";position:absolute;top:100%;left:50%;margin-left:-10px;border:10px solid}#header>nav{background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:999;border-bottom:1px solid rgba(0,0,0,.25);background-clip:padding-box;margin-bottom:-1px;color:#777;display:flex;align-items:flex-end}#header>nav h1{white-space:nowrap;font-family:"Open Sans",Lato,Roboto,"SF UI Display","Segoe UI","Helvetica Neue",Lato,Arial,sans-serif;font-weight:400}@media (min-width:600px){#header>nav h1{flex:1 0}}#header>nav h1>a{color:#333;text-decoration:none}#header>nav h1>a:hover{color:#88a}#header>nav h1>a:hover img{opacity:.9}#header>nav h1 img{vertical-align:-12%}@media (min-width:800px){#header>nav::after{content:"";flex:.5}}@media (min-width:1000px){#header>nav::after{content:"";flex:1}}#header>nav>a,#header>nav>h1{padding:.25em .5em;margin:0;font-size:1.5em;line-height:2}#header>nav>a{flex:1;font-weight:200;color:#889;position:relative;text-decoration:none;text-align:center}#header>nav>a:not(.current):not(:hover){overflow:hidden}@media (max-width:800px){#header>nav>a{font-size:1.4em;line-height:2.14}}@media (max-width:555px){#header>nav>a{font-size:1.2em;line-height:2.5}}@media (max-width:470px){#header>nav>a span{display:none}}#header>nav>a.current{color:#556;cursor:default}#header>nav>a.current::before,#header>nav>a:hover::before{border-color:rgba(0,0,0,.25) transparent transparent transparent;margin:1px 0 0 -9px;border-width:9px}#header>nav>a.current::after,#header>nav>a:hover::after{border-color:#fff transparent transparent transparent;margin-top:-1px}#header>nav>a:hover:not(.current){color:#88a;text-decoration:underline;-webkit-text-decoration-color:rgba(136,136,204,.25);text-decoration-color:rgba(136,136,204,.25)}.hero{text-shadow:0 1px 0 rgba(0,0,0,.7);text-align:center;padding:16px 1em;color:#fff;background:#824;background:url(squares.png) 50% 100%,linear-gradient(#201,#5b0a2c,#6e0d36 15%,#ad1353 78%,#b70c54 83%,#c90b5d 91%,#f0237e);margin:0 0 2em}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.hero{background:url(squares@2x.png) 50% 100%,linear-gradient(#201,#5b0a2c,#6e0d36 15%,#ad1353 78%,#b70c54 83%,#c90b5d 91%,#f0237e);background-size:200px 200px,auto}}@media (max-width:1000px){.hero{background-size:100px 100px,auto}}.hero h2{font-size:2.1em;font-weight:200;margin:1.1em 0 0}@media (max-width:500px){.hero h2{font-size:1.7em}}@media (min-width:1500px){.hero h2{font-size:2.5em}}.hero h2>a{color:inherit;text-decoration:none}.hero h2>a:hover{border-bottom:1px solid rgba(255,255,255,.4)}.hero.compact h2{margin:.2em 0 0}.hero.compact p{margin:.5em 0}.hero .screenshot{display:block;padding:0;margin:0;box-shadow:0 3px 30px rgba(0,0,0,.3);border-radius:6px 6px 5px 5px;opacity:.98;margin:1.88em auto -55px;border:1px solid rgba(0,0,0,.5);border-top-color:rgba(0,0,0,.3);background:#ddd;color:#555;text-shadow:none;vertical-align:bottom;line-height:160px}@media (max-width:600px){.hero .screenshot{max-width:90%;height:auto!important}}.withimage .hero{margin-bottom:71px}.withcomparison .hero{padding-bottom:80px}@media (max-width:700px){.withcomparison .hero{padding-bottom:1px}}.hero .brand abbr{background:#fff;color:#914;text-shadow:0 -1px 0 rgba(51,0,0,.8);padding:0 .5ex 0 .46ex;border-radius:4px;box-shadow:0 1px 0 rgba(0,0,0,.5)}.hero .download{margin:3em 0 2em}.hero .download>img{margin:1em auto 2em;opacity:.96}.hero .download>div{display:flex;justify-content:center}.hero .download>div>a{margin:0 1em}@media (max-width:600px){.hero .download>div>a{margin:0 .75em}}.os-not-mac .hero .download>div>a.alt{background:#44d}.os-not-mac .hero .download>div>a.alt:hover{background:#38a}@media (max-width:410px){.hero .download>div{flex-direction:column}.hero .download>div>.now{margin-bottom:1em}}.hero .download>div>.now{background:#199900;-webkit-animation:blink 3s linear forwards;animation:blink 3s linear forwards;box-shadow:0 3px 10px rgba(0,0,0,.15)}.os-not-mac .hero .download>div>.now.for-mac{background:rgba(0,0,0,.1);-webkit-animation:none;animation:none}.hero .download>div>.now:hover{-webkit-animation:none;animation:none;background:#1b0;border-color:rgba(255,255,255,.6);box-shadow:0 2px 4px rgba(0,0,0,.25)}.hero .download>div>.now:active{-webkit-animation:none;animation:none;background:#2d1;box-shadow:inset 0 1px 3px rgba(0,0,0,.5);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.hero .download .notes{font-size:.8em}.hero .download .notes>a{color:inherit;text-decoration:none}.hero .download .notes>a:hover{color:#fff;text-decoration:underline}.hero .download p{color:#eea5c0;text-shadow:0 1px 0 rgba(0,0,0,.3)}@-webkit-keyframes blink{0%,100%,94%{background:#199900}97%{background:#1d0}}@keyframes blink{0%,100%,94%{background:#199900}97%{background:#1d0}}@media (max-width:500px){.sidebarcontainer{display:flex;flex-direction:column}}@media (min-width:600px){.nexttosidebar{overflow:hidden}.nexttosidebar>h2{margin-top:0}}#sidebar{float:right;margin:0 -2em .5em 1.5em;background:#fdfdfd;background:linear-gradient(to right,#fcfcfc,#fff);border-left:1px solid #eee;padding:1em 0 1em 1.2em;max-width:10em;font-size:.9em}#sidebar .download-info{font-size:.8em;text-align:center;font-weight:400;color:#888}#sidebar li,#sidebar ul{margin:0;padding:0;list-style:none}#sidebar li>a{display:block;color:#ad1353;padding:.25em 0 .25em 17px;background:transparent 0 .64em no-repeat;background-size:13px 13px;-webkit-text-decoration-color:rgba(136,17,51,.25);text-decoration-color:rgba(136,17,51,.25)}#sidebar li>a:visited{color:#888;-webkit-text-decoration-color:rgba(136,136,136,.25);text-decoration-color:rgba(136,136,136,.25)}#sidebar li>a:hover{color:#00f;-webkit-text-decoration-color:rgba(0,0,255,.25);text-decoration-color:rgba(0,0,255,.25)}#sidebar .bugs,#sidebar .source{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAQAAADY4iz3AAAAIElEQVQY02NgYFj0HxtkAAEohQKIlUI1avjowiGFPQwBcchoQRih8kYAAAAASUVORK5CYII=)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){#sidebar .bugs,#sidebar .source{background-image:url(/changelog@2x.png)}}#sidebar .changelog{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAAAAABXgLugAAAAAnRSTlMA/1uRIrUAAAB7SURBVHgBPcfFFcIAEEDB7f89XCpA42kCd+eK67bw45nbCOjRadbq/Z1CuJM9uuptbKyjnfwHkae7Rs5OlD7w6p/FGZKOkSmNa757TSoaL4QWpXYj8yiJMcw37snBfqZ5t0+iWy9qGGemAhtjdNf7qDeFcJyderlqHIEAg3yT66/IMfMAAAAASUVORK5CYII=)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){#sidebar .changelog{background-image:url(/older@2x.png)}}#sidebar .donate{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAQAAADY4iz3AAAAY0lEQVR4AY3Jp2HGMBSAwWNmYZ5ATMwTaAkxs7C3/wDJn7h3f+o6yHqhSkiq0MvQ+ZYM57BIwzkAZCGDAYXkWBIUxaHhtxVam5a/TtVYalSdIWXACRTY4wEm/DrChHGEqexdv5XLEFTu+pj/AAAAAElFTkSuQmCC)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){#sidebar .donate{background-image:url(/donate@2x.png)}}.os-old-mac #sidebar .older{font-weight:400;color:#283;text-decoration:underline}.os-old-mac #sidebar .beta{display:none}#sidebar .beta,#sidebar .older{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAQAAADY4iz3AAAAUElEQVQY04XOsQ3AMAhEUfZvqZBSMZUXYI6fIkEYGclHcYLXIHKPkzNQ7y0PvbcovW/kOEaR1TPr+MpZeVkY8S+BFXyoBCKBdkgUGSBxhDMvavxKAK0e/twAAAAASUVORK5CYII=)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){#sidebar .beta,#sidebar .older{background-image:url(/download@2x.png)}}#sidebar .langs a:not(:hover){color:inherit;-webkit-text-decoration-color:rgba(0,0,0,.25);text-decoration-color:rgba(0,0,0,.25)}@media (max-width:1000px){#sidebar{margin-right:0}}@media (min-width:700px){#sidebar{position:relative}#sidebar::after,#sidebar::before{position:absolute;left:-1px;right:0;height:1em;content:"";background:linear-gradient(#fff,rgba(255,255,255,.5) 70%,rgba(255,255,255,0));pointer-events:none}#sidebar::after{top:0}#sidebar::before{bottom:0;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.5) 30%,#fff)}}@media (max-width:700px){#sidebar{border-left:0;padding-left:0;margin-right:-.5em;background:0 0;max-width:9em}#sidebar .langs{font-size:.9em}}@media (max-width:500px){#sidebar{float:none;max-width:none;padding:1em 0 0;margin:1em 0;order:99;border-top:1px solid #eee}#sidebar .beta,#sidebar .download,#sidebar .older{display:none}#sidebar .download-info{box-sizing:border-box;float:left;text-align:left;clear:left;margin:.5em 1em .5em 0}#sidebar .langs{opacity:.5}#sidebar .links{display:flex;flex-wrap:wrap}#sidebar .links a{margin-left:10px}}#sidebar>.download{box-shadow:inset 0 1px 3px rgba(0,0,0,.08)}.os-not-mac #sidebar>.download{display:none}#sidebar>.download:not(.now){color:#333;background:#f8f8f8;border-color:#bbb;text-shadow:none}#sidebar>.download:not(.now):hover{background:#efe;border-color:#0b2}#sidebar>.now{background:#2c3;border-color:#0b2}#sidebar>.now:hover{background:#1b0}#sidebar>.now:active{background:#2d1;text-shadow:0 -1px 0 rgba(0,0,0,.2)}.os-old-mac #sidebar>.now{background:#ccc;border:#777}.kornel{font-family:Helvetica,sans-serif}#footer{clear:both;margin:2em 0 0;background:#150622;color:#fff;overflow:hidden}#footer a,#footer span{white-space:nowrap}#footer a{color:#fff;text-decoration:underline}#footer a:hover{color:#aaf}#newsletter+#footer{margin-top:0}#features{padding:0;display:flex;flex-wrap:wrap;font-size:1em}#features>section{min-width:15em;padding:0 1em 1em}@media (max-width:600px){#features>section{padding-right:.5em}}@media (min-width:600px){#features>section{flex:1 15em}}#features>section strong{font-family:inherit;font-weight:500;white-space:nowrap}#features h2{margin:0 0 .5em;font-size:1.3em;color:#666}@media (min-width:600px){#features h2{white-space:nowrap}}body>#newsletter{clear:both;margin:2em 0 0;padding:0 0 1em;overflow:hidden;background:#557;text-shadow:0 1px 0 #224;color:#fff}body>#newsletter a{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}body>#newsletter a:hover{color:#bbf}body>#newsletter input{font-size:inherit}body>#newsletter [type=email]{width:13em;max-width:66%}body>#newsletter [type=submit]{background:#779;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:3px;text-shadow:0 1px 0 rgba(0,0,0,.5)}body>#newsletter [type=submit]:hover{background:#88a}#header+#newsletter{margin:0 0 2em}#header.withimage+#newsletter{margin-top:-71px;padding-top:71px}#header.withimage+#newsletter h2{margin-top:0}.quotes{background:#f8f9fa;color:#6f7891;overflow:hidden;padding:1em;margin:0 0 2em}.quotes div{display:flex;justify-content:center;flex-wrap:wrap}.quotes blockquote{text-align:left;vertical-align:bottom;max-width:28em;min-width:12em;flex:1;-webkit-flex:1 1 15em;margin:0 2em;padding:0;page-break-inside:avoid}@media (max-width:800px){.quotes blockquote{margin:0 1em}}.quotes blockquote a:not(:hover){color:#448;text-decoration:none;white-space:nowrap}#faq+#features{margin-top:2em;border-top:1px solid #eee;padding-top:2em}.about-pngout{font-size:.86em;color:#888}.about-pngout a:not(:hover){color:inherit;-webkit-text-decoration-color:rgba(170,170,170,.5);text-decoration-color:rgba(170,170,170,.5)}</style> <meta content="A free app that makes images load faster and take less disk space, without sacrificing quality. Removes private EXIF data from photos and improves compression." name=og:description> <meta content=the property=og:determiner> <meta content=product property=og:type> <meta content=0 property=product:price:amount> <meta content=USD property=product:price:currency> <link href=/pl.html rel=alternate hreflang=pl><link href=/be.html rel=alternate hreflang=be><link href=/fr.html rel=alternate hreflang=fr><link href=/pt-br.html rel=alternate hreflang=pt-br><link href=/pt.html rel=alternate hreflang=pt-pt> <meta content="ImageOptim — better Save for Web" name=og:title> <meta content=ImageOptim name=og:site_name> <meta content=/ImageOptimIcon.png name=og:image> <meta content=256 name=og:image:width> <meta content=256 name=og:image:height> <meta content=/ImageOptimShare.jpg name=og:image> <meta content=703 name=og:image:width> <meta content=255 name=og:image:height> <link href=https://kornel.ski rel=author> <link href="https://flattr.com/submit/auto?url=https://imageoptim.com&user_id=pornel&title=ImageOptim" rel=payment type=text/html> <link href=/icon.png rel=icon> </head> <body> <p style="position:absolute;top:0;left:0"> <b> </b></p><header class=withimage id=header> <nav> <h1><a href=/ ><img alt="" height=32 src=/icon.png srcset="/icon@2x.png 2x" width=32> ImageOptim</a></h1> <a class=current> Mac <span>app</span> </a> <a href=/api>Web <span>service</span></a> </nav> <div class=hero><div> <h2> <span class=brand>ImageOptim</span> makes images load faster </h2> <p class=sub> Removes bloated metadata. Saves disk space & bandwidth by compressing images without losing quality. </p> <div class=download> <div> <a href=/ImageOptim.tbz2 class="now for-mac" rel=nofollow download> Download for <span class=not-mac>Mac</span> <span class=mac-only>Free</span> </a> <a href=/versions.html class=alt> <span class=not-mac>See alternative</span> <span class=mac-only>Other</span> versions </a> </div> <p class=notes> Requires macOS 11+. Works with Sonoma. It's <a href=https://github.com/ImageOptim/ImageOptim>Free and Open Source</a>. <a href=/donate.html>Donate</a>. </p> </div> <img alt="Simple drag'n'drop interface" height=166 src=ImageOptim-app.png srcset="ImageOptim-app@2x.png 2x" width=514 class=screenshot> </div></div> </header> <section id=features> <section> <h2>Faster web pages and apps</h2> <p><strong>Reduces image file sizes</strong> — so they take up less disk space and download faster — by applying advanced compression that preserves quality.</p> </section> <section> <h2>Image files scrubbed clean</h2> <p><strong>Removes invisible junk</strong>: private <abbr>EXIF</abbr> metadata from digital cameras, embedded thumbnails, comments, and unnecessary <a href=/color-profiles.html class=reference>color profiles</a>.</p> <p></p> </section> <section> <h2>Best tools with drag'n'drop</h2> <p>Seamlessly combines all the best image optimization tools: <a href=http://calendar.perfplanet.com/2014/mozjpeg-3-0/ class=reference>MozJPEG</a>, <a href=https://pngquant.org class=reference>pngquant</a>, <a href=http://pmt.sourceforge.net/pngcrush/ class=reference>Pngcrush</a>, <a href=http://advancemame.sourceforge.net/doc-advpng.html class=reference>7zip</a>, <a href=https://github.com/svg/svgo class=reference>SVGO</a> and <a href=https://googledevelopers.blogspot.co.uk/2013/02/compress-data-more-densely-with-zopfli.html class=reference>Google Zopfli</a>. <strong>All Free and Open-Source</strong>.</p> </section> </section> <section class=quotes> <div> <blockquote> <p>“The app works efficiently, it’s brain-dead simple to use, and it does just what it promises” <cite>— <a href=http://www.macworld.com/article/1168044/shrink_image_file_sizes_with_imageoptim.html>MacWorld</a></cite></p> </blockquote> <blockquote> <p>“Basically, ImageOptim works like magic, cutting down the size of images without making them look worse” <cite>— <a href=https://www.macstories.net/roundups/my-must-have-mac-apps-2012-edition/ >MacStories</a></cite></p> </blockquote> </div> </section> <section class=sidebarcontainer> <aside id=sidebar> <a href=/ImageOptim.tbz2 class="download now" rel=nofollow download itemprop=downloadURL>Download</a> <p class=download-info> Version 1.9.3 <br><span i18n:attributes=title itemprop=requiredFeatures title="Compatible with Sonoma">macOS 11+</span> <br><span>Compatible with macOS Sonoma</span> </p> <ul class=links> <li><a href=/changelog.html class=changelog itemprop=versionChanges>What's new?</a></li> <li><a href=/ImageOptim1.8.8.tar.bz2 class=older rel=nofollow download>Old Mac? Download for <strong>Yosemite (10.10)</strong></a></li> <li><a href=https://github.com/ImageOptim/ImageOptim/issues class=bugs>Bugs</a></li> <li><a href=https://github.com/ImageOptim/ImageOptim class=source>Source code</a></li> <li><a href=/donate.html class=donate>Donate</a></li> </ul> <p class=langs> <b>Available in:</b><br> <a href=/mac rel=alternate hreflang=en>English</a>, <a href=/fr.html rel=alternate hreflang=fr>French</a>, <a hreflang=de>German</a>, <a href=/es.html rel=alternate hreflang=es>Spanish</a>, <a href=/pt.html rel=alternate hreflang=pt>Portuguese</a>, <a href=/it.html hreflang=it>Italian</a>, <a hreflang=nl>Dutch</a>, <a hreflang=no>Norwegian</a>, <a hreflang=sv>Swedish</a>, <a hreflang=da>Danish</a>, <a hreflang=ja>Japanese</a>, <a hreflang=zh-TW>Chinese</a>, <a hreflang=ko>Korean</a>, <a hreflang=ko>Vietnamese</a>, <a hreflang=tr>Turkish</a>, <a hreflang=ru>Russian</a>, <a hreflang=lt>Lithuanian</a>, <a hreflang=cs>Czech</a> <a href=/pl.html rel=alternate hreflang=pl>and Polish</a>. <a href=https://www.transifex.com/projects/p/imageoptim/ rel=nofollow>Help translate it!</a> </p> </aside> <p><span class=brand>ImageOptim</span> is excellent for publishing images on the web (easily shrinks images “Saved for Web” in Photoshop). It's useful for making Mac and <a href=/tweetbot.html>iPhone</a>/<a href=/ipad.html>iPad</a> applications smaller (if you <a href=/xcode.html>configure Xcode</a> to allow better optimization).</p> <p>ImageOptim removes <abbr>EXIF</abbr> metadata, such as <abbr>GPS</abbr> position and camera's serial number, so that you can publish images without exposing private information (but there's an option to keep the metadata if you need it).</p> <section id=howto class=nexttosidebar> <h2>How does it work?</h2> <p>When you <strong>drag'n'drop</strong> images into ImageOptim's window it will run several image optimization tools automatically and combine their results, ensuring that you always get the smallest file.</p> <p>See <a href=/howto.html>installation and usage instructions</a>.</p> <p>ImageOptim integrates well with <abbr>macOS</abbr>, so you can also drop files on ImageOptim's Dock icon, or use <samp>Services</samp> menu in Finder, or <samp>Markup</samp> menu on attached images in Apple Mail. ImageOptim can also be launched from <a href=/command-line.html>command line</a> or <a href=/sketch>Sketch</a>. </p> <section id=lossy> <h3>A special option for even smaller files</h3> <p>If you enable <samp>Lossy minification</samp> you'll get smallest file sizes possible.</p> <p>By default ImageOptim is very cautious and exactly preserves image quality, but if you allow it to change the quality — even only a little — it will be free to use much more aggressive optimizations that give the biggest results. You can configure lossy optimizations in ImageOptim's <samp>Preferences</samp>. ImageOptim can apply lossy compression not only to <abbr>JPEG</abbr>, but <abbr>SVG</abbr>, <a href=https://kornel.ski/lossygif>anim <abbr>GIF</abbr></a> and <a href=https://pngmini.com/lossypng.html><abbr>PNG</abbr> as well</a>!</p> </section> </section> <section id=opensource> <h2>Open Source</h2><p>ImageOptim is free, open-source software under terms of the <a href=https://www.gnu.org/licenses/gpl-2.0.txt class=reference>GPL v2 or later</a>. You can fork <a href=https://github.com/ImageOptim/ImageOptim>the code on GitHub</a> and <a href=https://github.com/ImageOptim/ImageOptim/issues>improve it</a>! Feel free to <a class='email href="mailto:x@yz.com" ' href = '  mailto:%20%6b%6fr%6eel%40i%6d%61%67eopti%6d%2e%63%6fm?subject=ImageOptim%20code ' >contact me</a > for assistance.</p> <p class=about-pngout><abbr>PNGOUT</abbr> is bundled with permission of <a href=http://www.ardfry.com>Ardfry Imaging, <abbr>LLC</abbr></a> and is not covered by the <abbr>GPL</abbr>.</p> </section> <section id=faq> <h2>Frequent answers</h2> <dl> <dt id=tinypng>How does ImageOptim compare to TinyPNG, MozJPEG or Guetzli?</dt> <dd> <p>You can get the same or better compression if you enable <samp>Lossy minification</samp> option in in ImageOptim preferences.</p> <p>Tools like <a href=https://gif.ski class=reference onclick='im2ev("pngmini","click","faq")'>gif.ski</a>/<a href=https://pngquant.org class=reference>pngquant</a>/<a href=https://tinypng.com class=reference rel=nofollow>TinyPNG</a><wbr>/<a href=http://jpegmini.com class=reference rel=nofollow>JPEGMini</a>/<a href=/mozjpeg class=reference>MozJPEG</a> make files smaller by using <strong>lossy</strong> compression which lowers image quality, which ImageOptim doesn't do by default, but can if you allow it.</p> </dd> <dt id=metadata>Can I keep embedded copyright, camera information?</dt> <dd><p>Yes. Uncheck <samp>Strip JPEG metadata</samp> in <a href=/howto.html#metadata>Preferences</a>.</dd> <dt id=speed>It's slow on <abbr>PNG</abbr> files. How can I make it faster?</dt> <dd><p>In preferences uncheck <samp>PNGOUT</samp> and <samp>Zopfli</samp>. Without these tools optimization will run much quicker, but will be a bit less effective.</dd> <dt id=appstore>Will ImageOptim be in the App Store?</dt> <dd> <p>No, and please beware of knock-offs in the App Store! Apple's has been selling three already.</p> <p>ImageOptim is given for free on terms that basically say “you can do whatever you want <em>except taking this freedom away from others</em>”. Apple <a href=https://www.fsf.org/blogs/licensing/more-about-the-app-store-gpl-enforcement>does not allow such permissive terms</a>. Apple requires all App Store users to accept <abbr title="Digital Restrictions">DRM</abbr> (copy protection) and legal restrictions in the iTunes <abbr title="License Agreement">EULA</abbr>.</p> <p>You can get ImageOptim <a href=/ImageOptim.tbz2 class=reference rel=nofollow download>here</a>, <abbr>DRM</abbr>-free. Its license allows you to share it, modify it, use it in any country in the world — even sell it — if you don't forbid anybody else from doing the same.</p> <p>You can <a href=donate.html>donate to support the project</a>.</p> </dd> </dl> </section> </section> <section id=newsletter> <form action=/subscribe.html method=post> <h2>Subscribe to an occasional newsletter</h2> <p>Pro tips about ImageOptim, <a href=https://gif.ski class=reference>gif.ski</a> and image formats in general. News about upcoming features and access to preview versions of apps I develop.</p> <div> <p><label for=newsletter-email>Your e-mail address:</label> <nobr><input type=email id=newsletter-email name=email placeholder=you@example.com required> <input type=submit value=Subscribe></nobr></p> </div> </form> </section> <footer id=footer><div> <p>Created by <a href=https://kornel.ski class=kornel rel=author>Kornel Lesiński</a>. <a class='email href="mailto:x@y.com" ' href = '  mailto:%20%6b%6fr%6eel%40i%6d%61%67eopti%6d%2e%63%6fm?subject=ImageOptim%20website ' >Contact</a >. <a href=https://mastodon.social/@kornel>Follow on Mastodon</a>. <span>App icon by <a href=https://icons8.com>icons8</a>.</span> <a href=https://github.com/ImageOptim/ImageOptim>GitHub project</a>. <a href=https://gif.ski>gif.ski</a>. <a href=https://pngquant.org>pngquant2</a>. <a href=/api>API</a>. </p> </div></footer> <script>document.body.addEventListener("click",function(o){for(var e=o.target;e&&"A"!=e.tagName;)e=e.parentNode;e&&e.hasAttribute("download")&&(localStorage.downloaded=Date.now()+36e5,window.showThanks&&(showThanks(!0),setTimeout(function(){history.pushState({},"","/howto.html")},3e4)),ga("send","pageview","/download"),im2ev("download",e.pathname))},!1)</script> <script>!function(){if("#newsletter"==location.hash){var e=document.getElementById("newsletter"),t=document.getElementById("header");function n(){e.scrollIntoView(!1)}t.parentNode.insertBefore(e,t.nextSibling),n(),addEventListener("load",n,!1)}}()</script> <div class="fade hidden" hidden id=thanks inert lang=en style=display:none> <div class=highlight> <h2>Thanks for downloading!</h2> <p>If you like ImageOptim, <a href=donate.html onclick='im2ev("donate","click","fromthanks")'>please donate</a> and <a href=https://github.com/ImageOptim/ImageOptim>star the project on GitHub</a>.</p> <p><a href=https://mastodon.social/@kornel class=twitter-follow-button data-dnt=true data-show-count=false>Follow @kornel on Mastodon</a> <a href=https://twitter.com/share class=twitter-share-button data-dnt=true data-hashtags=perfmatters data-text="Crunching images!" data-url=https://imageoptim.com data-via=kornelski>Post on Muskverse</a></p> </div> <p><a href=/howto.html>See detailed installation and usage instructions</a>. In case the archive doesn't open, try <a href=https://theunarchiver.com/ >The Unarchiver</a> (the non-AppStore version).</p> <p>Try <a href=https://gif.ski onclick='im2ev("pngmini","click","thanks")'>gif.ski</a> — my <abbr>GIF</abbr> compressor that makes high-quality animations.</p> </div> <script>function showThanks(a){var e,t,n,r,o;setTimeout(function(){var e=document.getElementById("thanks"),t=document.getElementById("header");if(e&&t){var n=document.getElementById("faq");n&&t.parentNode.insertBefore(n,t.nextSibling);var r=document.getElementById("newsletter");r&&t.parentNode.insertBefore(r,t.nextSibling),t.parentNode.insertBefore(e,t.nextSibling),e.style.display="",e.removeAttribute("inert"),e.removeAttribute("hidden"),a||(e.className="fade"),setTimeout(function(){e.className="fade"},0)}},a?500:0),e=document,t="script",n="twitter-wjs",o=e.getElementsByTagName(t)[0],e.getElementById(n)||((r=e.createElement(t)).id=n,r.src="//platform.twitter.com/widgets.js",o.parentNode.insertBefore(r,o))}try{localStorage.downloaded>Date.now()&&showThanks(!1)}catch(e){}</script>