SneakyPack is The Best JPEG Optimizer available as a web service. Compress your photos without quality loss.
60% of the usual JPEG size

Human Vision - Oriented

SneakyPack employs adaptive quality compression, where each spot of an image is evaluated from the human eye perspective. To achieve 40% savings, SneakyPack mimics characteristics of human vision: detects faces, contrast objects, certain color patterns, and textures, thus eliminating only visible compression artifacts.

Fix Incoming JPEGs

Already got JPEGs and not satisfied with the quality? Upload the low-quality JPEG files and get rid of artifacts.

Webservice

Accepts more than 30 image formats. Simple RESTful API. Upload an image file and receive the gzipped JPEG. See How to configure web server to support gzipped JPEGs.
To compress an image, POST it to the following URL, and receive the gzipped jpeg file. CORS supported.
Method:POST
URL:https://api.sneakypack.com/compress?parameters
URL parameters:
NameValue
keyAPI key from your profile. This is the only required parameter.
qRequired image quality, integer number from 75 to 99. Default is 90.
filenameInput file name. Some RAW image formats require file name to detect the type and size of the image.
dontimproveNo value. Include this parameter if you do not want to improve incoming JPEGs
dontgzipNo value. Include this parameter if you do not want to gzip the resulting JPEGs
max_widthIf present, the image is resized to match the limitations and at the same time preserving aspect ratio
max_height
HTTP status:
CodeMeaning
200Success. The response body is the gzipped JPEG file. See Webserver configuration for instructions on how to configure your web server to support compression.
403No api key/wrong api key supplied. Please add the 'key' parameter to the request. You can find it in your profile.
402Payment required to proceed. Please visit your profile for details.
451Please validate your email. Click the validation link that you received by email, or visit your profile to regenerate the validation email.
406Unknown file format.
400Bad number format for one of the integer parameters: q, max_width, max_height
SneakyPack relies on gzip compression to achieve adaptive quality. Both REST API and the web form return gzipped .jpg files by default. There are several options:

Zero configuration (JavaScript library)

We provide a small JavaScript library that whould download and unpack the .jpg.gz files. You should no worry about CPU load: gzip decompression is as fast as 50Mb/sec on modern processors. Installation is easy: download the sneakypack.min.js and add to the head:
<head>
    <script src="/sneakypack.min.js">
    ...
Then invoke the load procedure like this:
<img src="" onerror="SneakyPack.load('image.jpg.gz',this)">
Alternatively, handle the image manually:
<img id="photo">
<script>
    SneakyPack.load('image.jpg.gz',function(url){
        $('#photo').attr('src', url);
    });
</script>
No futher server configuration is required.

Apache web server

Following is instruction on how to make Apache web server recognize the .jpg.gz files and serve them properly.
  1. Install the mod_precompress module
  2. Put image.jpg.gz files in your htdocs folder
  3. Reference image.jpg.gz without the .gz prefix: <img src="image.jpg">

Tomcat and other servlet containers

Following is instruction on how to make Java-based web servers recognize the .jpg.gz files and serve them properly.
  1. Download GZipServletFilter-1.0-SNAPSHOT.jar and put it into the $CATALINA_HOME/lib directory along with other .jar files. Alternatively, build GzipJPEG-1.0-SNAPSHOT.jar from sources.
  2. Open $CATALINA_HOME/config/web.xml and add the following lines along with other <filter> definitions:
        <filter>
          <filter-name>GZipServletFilter</filter-name>
          <filter-class>com.sneakypack.GZipServletFilter</filter-class>
        </filter>
    
        <filter-mapping>
          <filter-name>GZipServletFilter</filter-name>
          <url-pattern>*.gz</url-pattern>
        </filter-mapping>
    
  3. Restart Tomcat
  4. Include compressed JPEGs into your webpages: <img src="image.jpg.gz">
Compress Image options
  • Limit image size
  • Fix incoming JPEG
Upload & optimize
Gzipped .jpg size: Kb
We charge by megapixel of the resulting compressed image size, which may differ from the original image size if you choose to limit your image size in the REST API or in the "Options" form. The price does not depend on other compression options.
Up to 1000 Megapixels$0.01/Megapixel
Up to 10000 Megapixels$0.006/Megapixel
Up to 100000 Megapixels$0.004/Megapixel
Above 100000 Megapixels$0.002/Megapixel

Pay only upon reaching -$5.00 on your account!

It is safe to close the account without paying the remainder.

Examples:
a big website with lots of hi-def photos:~ $10.00
a moderate photography hosting:~ $300.00
Instagram:~ $20 000 000.00
E-mail addresss
 
 
  
Password Password changed
Wrong password
  
  
API Key
Account created