Choose a version:
23% The original file has 1181980 bytes (1,154.3k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 276830 bytes (270.3k, 23%).

After GZIP compression these minified files vary in size:
Boot
  94414 bytes (92.2k)
CDN
Baidu
  78339 bytes (76.5k)
CDN
cdnjs
  78318 bytes (76.5k)
CDN
gzip -6 (default)
  77301 bytes (75.5k)
local copy
gzip -9
  76923 bytes (75.1k)
local copy
jsdelivr
  76905 bytes (75.1k)
CDN
7zip -mx=9 -tgzip
  74196 bytes (72.5k)
local copy
libdeflate -12
  74043 bytes (72.3k)
local copy
pigz -11 -n
  74042 bytes (72.3k)
local copy
zultra
  73968 bytes (72.2k)
local copy
kzip -s0 -rn -b1
  73963 bytes (72.2k)
local copy
Zopfli
  73876 bytes (72.1k)
local copy
Zopfli (defluff)
  73873 bytes (72.1k)
local copy

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

You will automatically get the smallest Ember 1.5.1 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 3029 bytes by using my Ember 1.5.1 Zopfli version instead of the best available CDN (4.10% smaller than jsdelivr, 73876 vs. 76905 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 --mls16 --bsr10 --lazy --ohh

(found July 23, 2016)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 16  --mls16
block splitting recursion 10  --bsr10
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 3 more bytes (73873 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.5.1/ember.min.js --location | md5sum
5e58a160bb5c01d9342809f957e418a7  -
curl --silent --compressed https://minime.stephan-brumme.com/files/ember/ember-1.5.1.min.zopfli.js.gz | md5sum
5e58a160bb5c01d9342809f957e418a7  -

SHA1:
curl --silent --compressed https://builds.emberjs.com/tags/v1.5.1/ember.min.js --location | sha1sum
5589ed57f3a6741a23fcc509f5ea6b07d2618ad5  -
curl --silent --compressed https://minime.stephan-brumme.com/files/ember/ember-1.5.1.min.zopfli.js.gz | sha1sum
5589ed57f3a6741a23fcc509f5ea6b07d2618ad5  -

These CDNs send you the original file:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Boot 94414 bytes 5e58a160bb5c01d9342809f957e418a7 March 19, 2015 @ 18:10
cdnjs 78318 bytes 5e58a160bb5c01d9342809f957e418a7 April 23, 2014 @ 06:15
jsdelivr 76905 bytes 5e58a160bb5c01d9342809f957e418a7 August 7, 2014 @ 19:18

And some CDNs send you a different file:
CDN Size (compressed) MD5 (uncompressed) Comment / Diff Timestamp
Baidu 78339 bytes ee643c5d4413b9db8bf1cda2274787e4 only whitespaces differ June 5, 2014 @ 10:05

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
73876 bytes -1 byte zopfli --i100000 --mls16 --bsr10 --lazy --ohh July 23, 2016 @ 01:29
73877 bytes -1 byte zopfli --i10000 --mls16 --bsr10 --lazy --ohh November 20, 2015 @ 23:00
73878 bytes -11 bytes zopfli --i10000 --mls64 --bsr40 --lazy --ohh November 20, 2015 @ 22:39
73889 bytes -1 byte zopfli --i1000 --mls16 --bsr10 --lazy --ohh September 20, 2015 @ 04:45
73890 bytes -1 byte zopfli --i1000 --mls64 --bsr4 --lazy --ohh September 17, 2015 @ 10:50
73891 bytes -1 byte zopfli --i1000 --mls2048 --bsr16 --lazy --ohh September 11, 2015 @ 01:22
73892 bytes -3 bytes zopfli --i1000 --mls2048 --bsr10 --lazy --ohh September 11, 2015 @ 01:14
73895 bytes -2 bytes zopfli --i1000 --mls512 --bsr8 --lazy --ohh September 11, 2015 @ 01:07
73897 bytes -3 bytes zopfli --i1000 --mls512 --bsr4 --lazy --ohh September 11, 2015 @ 01:05
73900 bytes -1 byte zopfli --i1000 --mls512 --bsr2 --lazy --ohh September 11, 2015 @ 01:03
73901 bytes zopfli --i100 --mls2048 --bsr16 --lazy --ohh September 10, 2015 @ 13:50

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:56.

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
73890 73888 73887 73888 73891 73889 73887 73883 73884 73881 73881 73881 73881 73887 73892
73883 73879 73878 73881 73886 73879 73884 73892 73882 73883 73879 73884 73889 73898 73885
73882 73881 73876 73878 73881 73880 73883 73879 73880 73882 73885 73882 73885 73891 73884
73882 73882 73878 73878 73883 73879 73879 73883 73880 73880 73878 73880 73881 73898 73883
73881 73880 73878 73878 73880 73884 73881 73881 73880 73878 73881 73883 73886 73886 73887
73883 73876 73878 73880 73882 73879 73884 73880 73883 73878 73882 73879 73887 73888 73888
73879 73878 73880 73876 73883 73881 73880 73879 73883 73880 73878 73883 73887 73892 73898
73879 73878 73879 73883 73881 73877 73878 73881 73881 73882 73885 73885 73884 73902 73884
73882 73877 73879 73878 73881 73878 73878 73883 73876 73877 73880 73881 73879 73901 73888
73883 73878 73880 73878 73883 73882 73878 73883 73880 73880 73885 73884 73891 73891 73887
73879 73880 73880 73878 73878 73884 73878 73880 73884 73880 73879 73887 73884 73904 73883
73883 73876 73882 73878 73878 73880 73879 73879 73880 73880 73878 73883 73879 73903 73882
73882 73879 73881 73881 73883 73882 73880 73879 73880 73882 73878 73883 73881 73892 73888
73880 73878 73878 73878 73881 73879 73880 73880 73878 73883 73880 73881 73881 73890 73891
73883 73881 73878 73878 73881 73879 73880 73883 73882 73883 73880 73878 73882 73890 73884
73883 73879 73879 73879 73883 73878 73879 73879 73881 73882 73879 73880 73883 73893 73884
73884 73879 73880 73883 73883 73879 73885 73880 73883 73882 73882 73882 73883 73890 73891
73877 73879 73878 73878 73881 73879 73878 73883 73880 73882 73883 73881 73887 73900 73891
73883 73881 73878 73878 73881 73879 73888 73879 73880 73878 73883 73884 73890 73898 73891
73879 73879 73880 73878 73883 73880 73878 73879 73880 73882 73883 73885 73879 73887 73880
73882 73881 73878 73879 73880 73881 73878 73878 73881 73881 73878 73881 73882 73904 73885
73880 73878 73879 73880 73882 73880 73879 73879 73882 73879 73885 73887 73879 73890 73890
73883 73878 73878 73876 73883 73878 73883 73883 73879 73882 73882 73879 73884 73902 73888

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 73898 bytes 100%
1,000 73889 bytes -9 bytes 100%
10,000 73877 bytes -12 bytes 100%
100,000 73876 bytes -1 byte 2.90%
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
73999 bytes +123 bytes (+0.17%) +36 bytes
73963 bytes +87 bytes (+0.12%)
73995 bytes +119 bytes (+0.16%) +32 bytes
74007 bytes +131 bytes (+0.18%) +44 bytes
74071 bytes +195 bytes (+0.26%) +108 bytes
74041 bytes +165 bytes (+0.22%) +78 bytes
74079 bytes +203 bytes (+0.27%) +116 bytes
74114 bytes +238 bytes (+0.32%) +151 bytes
74164 bytes +288 bytes (+0.39%) +201 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 53463 bytes -20413 bytes (-27.63%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 56758 bytes -17118 bytes (-23.17%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 59057 bytes -14819 bytes (-20.06%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 64555 bytes -9321 bytes (-12.62%)
Brotli (Wikipedia) brotli brotli -q 11 65892 bytes -7984 bytes (-10.81%)
LZMA2 (Wikipedia) xz xz -9 67656 bytes -6220 bytes (-8.42%)
Zstandard (Wikipedia) zstd zstd -19 69468 bytes -4408 bytes (-5.97%)

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.