Choose a version:
28% The original file has 1824388 bytes (1,781.6k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 517506 bytes (505.4k, 28%).

After GZIP compression these minified files vary in size:
Boot
  165201 bytes (161.3k)
CDN
Baidu
  136270 bytes (133.1k)
CDN
cdnjs
  136121 bytes (132.9k)
CDN
gzip -6 (default)
  134330 bytes (131.2k)
local copy
gzip -9
  133894 bytes (130.8k)
local copy
jsdelivr
  133862 bytes (130.7k)
CDN
7zip -mx=9 -tgzip
  129586 bytes (126.5k)
local copy
zultra
  129300 bytes (126.3k)
local copy
libdeflate -12
  129264 bytes (126.2k)
local copy
pigz -11 -n
  129198 bytes (126.2k)
local copy
kzip -s0 -rn -b1
  129062 bytes (126.0k)
local copy
Zopfli
  129013 bytes (126.0k)
local copy
Zopfli (defluff)
  129007 bytes (126.0k)
local copy

perma-link to the smallest file on my server:
http://minime.stephan-brumme.com/files/ember/ember-1.13.0.min.js (or via HTTPS)

You will automatically get the smallest Ember 1.13.0 file, ETag caching is available and
if your browser doesn't support GZIP decompression then the uncompressed version will be sent.

Currently best Zopfli settings

Save 4849 bytes by using my Ember 1.13.0 Zopfli version instead of the best available CDN (3.76% smaller than jsdelivr, 129013 vs. 133862 bytes):
You can use my super-compressed files for whatever purpose you like as long as you respect the library's original license agreement.
There are no restrictions from my side - but please avoid hot-linking if you run a high-traffic website.

These command-line settings yielded the best compression ratio so far (Linux version of zopfli-krzymod):
zopfli --i100000 --mb8 --mls4 --bsr6 --lazy --ohh

(found March 27, 2017)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 4  --mls4
block splitting recursion 6  --bsr6
lazy matching in LZ77 yes  --lazy
optimized Huffman headers yes  --ohh
initial random W for iterations 1  --rw1
initial random Z for iterations 2  --rz2

Even Smaller Files Thanks To Defluff

Zopfli's output can be further optimized by the defluff tool.
In this particular case, defluff saves 6 more bytes (129007 bytes).

Verify file integrity

After decompression, my uncompressed files are identical to the original ones:

MD5:
curl --silent --compressed https://builds.emberjs.com/tags/v1.13.0/ember.min.js --location | md5sum
8d242db9d91144c9db30972c68df0638  -
curl --silent --compressed https://minime.stephan-brumme.com/files/ember/ember-1.13.0.min.zopfli.js.gz | md5sum
8d242db9d91144c9db30972c68df0638  -

SHA1:
curl --silent --compressed https://builds.emberjs.com/tags/v1.13.0/ember.min.js --location | sha1sum
22e99c135b4671979b59eb9b72342db25ca7cb90  -
curl --silent --compressed https://minime.stephan-brumme.com/files/ember/ember-1.13.0.min.zopfli.js.gz | sha1sum
22e99c135b4671979b59eb9b72342db25ca7cb90  -

These CDNs send you the original file:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Boot 165201 bytes 8d242db9d91144c9db30972c68df0638 June 13, 2015 @ 22:17
cdnjs 136121 bytes 8d242db9d91144c9db30972c68df0638 June 13, 2015 @ 12:30
jsdelivr 133862 bytes 8d242db9d91144c9db30972c68df0638 June 13, 2015 @ 10:13

And some CDNs send you a different file:
CDN Size (compressed) MD5 (uncompressed) Comment / Diff Timestamp
Baidu 136270 bytes ed127dabc56fbc220924e6aed3e3488e < var G=n["default"]({},r.hooks);G.keywords=O["default"],n[" [...]
< var o=this.expectElement&&this.renderNode.firstNode;x(r,o) [...]
< }),e.SafeString=t.SafeString,e.htmlSafe=n,e.escapeExpressi [...]
> var G=n["default"]({},r.hooks);G.keywords=O["default"],n[" [...]
> var i=e.childWithView(r),a=k(n);i.renderer.componentInitAt [...]
> return null===e||void 0===e?"":("string"!=typeof e&&(e=""+ [...]
< 1===c.length)t["default"].assert('You can only use the {{r [...]
> 1===c.length)t["default"].assert('You can only use the {{r [...]
< },toString:function(){var e="";return r.forEach(this._oper [...]
< this.elementId=null),s&&(this.dom.setAttribute(p,"class",s [...]
[...]
July 3, 2015 @ 08:31

Note: only the MD5 hashes are shown to keep things simple.

Other Versions

Available Ember versions at minime.stephan-brumme.com:

3.0.0,
2.18.2, 2.18.1, 2.18.0,
2.17.2, 2.17.1, 2.17.0,
2.16.2, 2.16.1, 2.16.0,
2.15.3, 2.15.2, 2.15.1, 2.15.0,
2.14.1, 2.14.0,
2.13.4, 2.13.3, 2.13.2, 2.13.1, 2.13.0,
2.12.2, 2.12.1, 2.12.0,
2.11.3, 2.11.2, 2.11.1, 2.11.0,
2.10.2, 2.10.1, 2.10.0,
2.9.1, 2.9.0,
2.8.3, 2.8.2, 2.8.1, 2.8.0,
2.7.3, 2.7.2, 2.7.1, 2.7.0,
2.6.2, 2.6.1, 2.6.0,
2.5.1, 2.5.0,
2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0,
2.3.1, 2.3.0,
2.2.2, 2.2.1, 2.2.0,
2.1.2, 2.1.1, 2.1.0,
2.0.3, 2.0.2, 2.0.1, 2.0.0,
1.13.13, 1.13.12, 1.13.11, 1.13.10, 1.13.9, 1.13.8, 1.13.7, 1.13.6, 1.13.5, 1.13.4, 1.13.3, 1.13.2, 1.13.1, 1.13.0,
1.12.2, 1.12.1, 1.12.0,
1.11.4, 1.11.3, 1.11.2, 1.11.1, 1.11.0,
1.10.1, 1.10.0,
1.9.1, 1.9.0,
1.8.1, 1.8.0,
1.7.1, 1.7.0,
1.6.1, 1.6.0,
1.5.1, 1.5.0,
1.4.0,
1.3.2, 1.3.1, 1.3.0,
1.2.2, 1.2.1, 1.2.0,
1.0.1, 1.0.0

The project site contains an overview how well these versions were compressed.
Other interesting projects are AngularJS, BackboneJS, Bootstrap, D3, Dojo, jQuery, Knockout, lodash, React, Socket.IO, ThreeJS, UnderscoreJS and Vue.

Changelog

Best Zopfli parameters so far:
Size Improvement Parameters Found
129013 bytes -10 bytes zopfli --i100000 --mls4 --bsr6 --lazy --ohh March 27, 2017 @ 01:16
129023 bytes -3 bytes zopfli --i100000 --mls128 --bsr40 --lazy --ohh July 21, 2016 @ 22:55
129026 bytes -10 bytes zopfli --i100000 --mls1024 --bsr18 --lazy --ohh July 21, 2016 @ 20:31
129036 bytes -1 byte zopfli --i10000 --mls1024 --bsr18 --lazy --ohh November 22, 2015 @ 13:26
129037 bytes -8 bytes zopfli --i10000 --mls64 --bsr9 --lazy --ohh October 6, 2015 @ 15:23
129045 bytes -1 byte zopfli --i1000 --mls1024 --bsr18 --lazy --ohh October 6, 2015 @ 13:43
129046 bytes -1 byte zopfli --i1000 --mls2 --bsr22 --lazy --ohh October 6, 2015 @ 13:22
129047 bytes -8 bytes zopfli --i1000 --mls16 --bsr16 --lazy --ohh October 6, 2015 @ 11:44
129055 bytes -1 byte zopfli --i1000 --mls16 --bsr30 --lazy --ohh October 6, 2015 @ 11:43
129056 bytes -25 bytes zopfli --i1000 --mls16 --bsr9 --lazy --ohh October 6, 2015 @ 11:35
129081 bytes zopfli --i100 --mls256 --bsr22 --lazy --ohh October 5, 2015 @ 11:49

If there are multiple parameter sets yielding the same compressed size, only the first one found is shown.

Most recent activity on July 20, 2020 @ 12:47.

Heatmaps

This Zopfli heatmap visualizes how compression changes when modifying the --bsr and --mls parameter.
Cell's contents is the best filesize achieved (in bytes, hover with mouse over cells to see number of iterations).

Good parameters are green, bad are red. The best and worst are bold as well.
The brightness of the blue background color indicates how many iterations were processed:
10,000 or 100,000.
bsr \ mls
2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768
bsr \ mls
2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768
129118 129121 129109 129110 129118 129116 129114 129046 129103 129095 129120 129116 129111 129095 129123
129051 129042 129034 129035 129043 129052 129044 129044 129049 129037 129044 129058 129052 129095 129053
129057 129013 129051 129057 129053 129116 129114 129038 129103 129095 129047 129049 129049 129095 129123
129047 129038 129033 129042 129037 129036 129041 129045 129045 129047 129056 129149 129060 129064 129065
129043 129042 129053 129033 129037 129037 129036 129046 129048 129046 129042 129048 129049 129049 129054
129043 129053 129043 129042 129037 129037 129041 129038 129045 129039 129053 129037 129048 129050 129065
129043 129043 129048 129042 129037 129037 129036 129045 129050 129037 129038 129044 129048 129052 129047
129047 129044 129033 129033 129049 129047 129043 129046 129045 129037 129037 129150 129052 129050 129057
129042 129042 129047 129054 129048 129037 129037 129045 129048 129037 129038 129150 129064 129063 129055
129043 129050 129044 129034 129037 129042 129036 129038 129048 129037 129047 129043 129042 129064 129065
129043 129038 129043 129042 129037 129037 129037 129037 129045 129037 129047 129044 129058 129049 129047
129046 129050 129033 129026 129037 129037 129037 129045 129045 129037 129037 129044 129045 129052 129055
129044 129044 129048 129037 129046 129043 129049 129045 129045 129042 129038 129047 129054 129063 129054
129046 129042 129045 129046 129042 129037 129047 129048 129050 129043 129042 129045 129053 129062 129065
129021 129043 129042 129043 129041 129047 129037 129051 129045 129026 129038 129046 129053 129063 129053
129043 129044 129043 129039 129037 129041 129026 129039 129046 129042 129047 129044 129051 129050 129065
129071 129050 129043 129034 129037 129037 129037 129044 129045 129037 129047 129044 129044 129062 129049
129038 129043 129043 129054 129042 129035 129036 129044 129050 129046 129047 129044 129052 129064 129065
129039 129038 129033 129054 129037 129037 129036 129046 129050 129037 129040 129150 129052 129065 129031
129043 129044 129033 129043 129037 129042 129042 129042 129045 129037 129044 129044 129045 129060 129046
129043 129043 129033 129034 129037 129037 129036 129045 129048 129039 129052 129044 129052 129052 129055
129038 129040 129083 129034 129037 129037 129043 129039 129045 129038 129037 129044 129053 129062 129049
129053 129043 129034 129033 129049 129037 129023 129154 129046 129037 129047 129052 129042 129063 129065

Due to the Monte Carlo design of my search algorithm, not all parameters have reached the same number of iterations yet:
Iterations Min. Bytes Reduction Coverage
100 129081 bytes 100%
1,000 129045 bytes -36 bytes 100%
10,000 129025 bytes -20 bytes 100%
100,000 129013 bytes -12 bytes 1.16%
1,000,000
10,000,000

KZIP has far less options available for tuning/optimization. I only played around with the number of blocks (parameter -n):
Blocks Min. Bytes Compared To Best Zopfli Compared To Best KZIP
129092 bytes +79 bytes (+0.06%) +30 bytes
129062 bytes +49 bytes (+0.04%)
129101 bytes +88 bytes (+0.07%) +39 bytes
129172 bytes +159 bytes (+0.12%) +110 bytes
129187 bytes +174 bytes (+0.13%) +125 bytes
129153 bytes +140 bytes (+0.11%) +91 bytes
129129 bytes +116 bytes (+0.09%) +67 bytes
129168 bytes +155 bytes (+0.12%) +106 bytes
129155 bytes +142 bytes (+0.11%) +93 bytes

Non-DEFLATE Algorithms

Archivers based on completely different compression algorithms often produce superior results.
Unfortunately, browsers only support gzip compression at the moment.
However, support for Brotli is constantly growing - but your browser doesn't support it.
Algorithm Program Parameters Size Compared To Best Zopfli
ZPAQ (Wikipedia) zpaq zpaq -method 69 87574 bytes -41439 bytes (-32.12%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 93603 bytes -35410 bytes (-27.45%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 102275 bytes -26738 bytes (-20.73%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 106639 bytes -22374 bytes (-17.34%)
Brotli (Wikipedia) brotli brotli -q 11 111441 bytes -17572 bytes (-13.62%)
LZMA2 (Wikipedia) xz xz -9 113928 bytes -15085 bytes (-11.69%)
Zstandard (Wikipedia) zstd zstd -19 116958 bytes -12055 bytes (-9.34%)

Detailled Analysis

I wrote a DEFLATE decoder in Javascript. Click the button below to start a client-side analysis of the smallest gzipped files (may take a second):


Notes: pigz is a fast open source multi-threaded implementation of gzip written by one of the original authors of gzip.
However, when using compression level 11, pigz actually switches to the slower Zopfli algorithm and isn't multi-threaded anymore.
KrzyMOD's extensions to Zopfli offer the highest level of configuration and is therefore used for my brute-force search.
Ken Silverman wrote the closed-source KZIP compression program and Jonathon Fowler ported it to Linux.
Defluff was created by Joachim Henke; DeflOpt is a tool by Ben Jos Walbeehm.

website made by Stephan Brumme in 2015 and still improving in 2024.
all timestamps are displayed in central european time. see my changelog.
no flash, not even images or external css files - and everything squeezed into a single html file.
which was handsomely compressed before releasing it into the wild internet - obviously.

please visit my homepage and my blog, too.
email: minime (at) stephan-brumme.com

All trademarks are property of their respective owners. You know, the boring legal stuff.