Choose a version:
24% The original file has 980036 bytes (957.1k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 235520 bytes (230.0k, 24%).

After GZIP compression these minified files vary in size:
Boot
  80408 bytes (78.5k)
CDN
Baidu
  66676 bytes (65.1k)
CDN
cdnjs
  66656 bytes (65.1k)
CDN
gzip -6 (default)
  65723 bytes (64.2k)
local copy
gzip -9
  65408 bytes (63.9k)
local copy
7zip -mx=9 -tgzip
  62982 bytes (61.5k)
local copy
pigz -11 -n
  62835 bytes (61.4k)
local copy
zultra
  62821 bytes (61.3k)
local copy
libdeflate -12
  62813 bytes (61.3k)
local copy
kzip -s0 -rn -b1
  62793 bytes (61.3k)
local copy
Zopfli
  62700 bytes (61.2k)
local copy
Zopfli (defluff)
  62699 bytes (61.2k)
local copy

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

You will automatically get the smallest Ember 1.0.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 3956 bytes by using my Ember 1.0.1 Zopfli version instead of the best available CDN (6.31% smaller than cdnjs, 62700 vs. 66656 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 --mls2 --bsr15 --lazy --ohh

(found November 21, 2015)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 2  --mls2
block splitting recursion 15  --bsr15
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 1 more byte (62699 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.0.1/ember.min.js --location | md5sum
b99afdd6b2cd82314c4943c0841ee77b  -
curl --silent --compressed https://minime.stephan-brumme.com/files/ember/ember-1.0.1.min.zopfli.js.gz | md5sum
b99afdd6b2cd82314c4943c0841ee77b  -

SHA1:
curl --silent --compressed https://builds.emberjs.com/tags/v1.0.1/ember.min.js --location | sha1sum
f691fc58cb2f6521c3e508168caaddb72bbaf4e3  -
curl --silent --compressed https://minime.stephan-brumme.com/files/ember/ember-1.0.1.min.zopfli.js.gz | sha1sum
f691fc58cb2f6521c3e508168caaddb72bbaf4e3  -

These CDNs send you the original file:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Boot 80408 bytes b99afdd6b2cd82314c4943c0841ee77b March 19, 2015 @ 17:29
cdnjs 66656 bytes b99afdd6b2cd82314c4943c0841ee77b January 14, 2014 @ 20:15

And some CDNs send you a different file:
CDN Size (compressed) MD5 (uncompressed) Comment / Diff Timestamp
Baidu 66676 bytes c0995a774853ced0857f88c838da287b 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
62700 bytes -1 byte zopfli --i100000 --mls2 --bsr15 --lazy --ohh November 21, 2015 @ 15:15
62701 bytes -1 byte zopfli --i100000 --mls16 --bsr11 --lazy --ohh November 21, 2015 @ 10:48
62702 bytes -1 byte zopfli --i100000 --mls8192 --bsr16 --lazy --ohh November 21, 2015 @ 09:23
62703 bytes -1 byte zopfli --i10000 --mls8192 --bsr16 --lazy --ohh November 20, 2015 @ 22:18
62704 bytes -6 bytes zopfli --i10000 --mls4 --bsr16 --lazy --ohh October 14, 2015 @ 10:48
62710 bytes -4 bytes zopfli --i1000 --mls8192 --bsr16 --lazy --ohh September 11, 2015 @ 02:38
62714 bytes -1 byte zopfli --i1000 --mls8192 --bsr13 --lazy --ohh September 11, 2015 @ 02:35
62715 bytes -2 bytes zopfli --i1000 --mls2048 --bsr10 --lazy --ohh September 11, 2015 @ 02:27
62717 bytes -1 byte zopfli --i1000 --mls512 --bsr16 --lazy --ohh September 11, 2015 @ 02:24
62718 bytes -2 bytes zopfli --i1000 --mls512 --bsr6 --lazy --ohh September 11, 2015 @ 02:21
62720 bytes -24 bytes zopfli --i1000 --mls512 --bsr9 --lazy --ohh September 11, 2015 @ 02:20
62744 bytes zopfli --i100 --mls1024 --bsr10 --lazy --ohh September 10, 2015 @ 13:55

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

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
62725 62724 62722 62722 62724 62723 62725 62717 62715 62722 62718 62725 62726 62725 62727
62712 62707 62707 62705 62714 62712 62721 62714 62713 62712 62709 62712 62715 62719 62721
62711 62714 62717 62716 62717 62713 62717 62711 62711 62715 62715 62712 62713 62719 62720
62707 62706 62706 62707 62707 62715 62713 62716 62714 62704 62705 62713 62703 62719 62717
62719 62715 62715 62700 62704 62713 62716 62715 62709 62714 62715 62712 62715 62713 62716
62710 62705 62713 62710 62708 62711 62715 62713 62713 62712 62707 62712 62712 62726 62712
62701 62719 62712 62706 62712 62711 62719 62710 62713 62708 62706 62710 62714 62715 62713
62721 62712 62714 62701 62704 62712 62715 62711 62713 62715 62710 62713 62716 62718 62719
62708 62704 62705 62702 62701 62713 62704 62706 62714 62706 62708 62712 62713 62716 62720
62706 62712 62716 62702 62706 62715 62715 62705 62706 62714 62706 62712 62708 62711 62714
62708 62705 62714 62704 62706 62714 62717 62713 62714 62713 62707 62710 62714 62711 62704
62700 62706 62705 62704 62710 62711 62701 62706 62705 62707 62705 62708 62707 62718 62720
62704 62704 62705 62705 62706 62715 62700 62713 62704 62707 62706 62707 62702 62716 62711
62705 62705 62705 62714 62707 62714 62704 62710 62708 62708 62705 62711 62714 62720 62712
62700 62716 62705 62704 62707 62712 62705 62706 62714 62712 62705 62715 62712 62721 62715
62711 62715 62716 62708 62702 62712 62715 62713 62711 62712 62707 62715 62717 62720 62712
62717 62704 62716 62707 62706 62705 62714 62706 62714 62713 62707 62713 62710 62716 62710
62703 62704 62705 62715 62716 62714 62716 62704 62711 62714 62707 62712 62716 62724 62712
62706 62717 62716 62716 62706 62715 62717 62706 62711 62713 62707 62711 62711 62723 62719
62713 62717 62715 62714 62705 62711 62715 62706 62716 62713 62707 62712 62715 62722 62715
62708 62715 62717 62716 62712 62710 62715 62706 62714 62715 62715 62713 62713 62718 62715
62702 62704 62705 62704 62712 62714 62715 62706 62705 62705 62705 62710 62702 62720 62719
62706 62706 62714 62708 62706 62712 62717 62716 62711 62715 62707 62711 62715 62712 62713

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 62741 bytes 100%
1,000 62710 bytes -31 bytes 100%
10,000 62703 bytes -7 bytes 100%
100,000 62700 bytes -3 bytes 5.22%
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
62853 bytes +153 bytes (+0.24%) +60 bytes
62793 bytes +93 bytes (+0.15%)
62852 bytes +152 bytes (+0.24%) +59 bytes
62862 bytes +162 bytes (+0.26%) +69 bytes
62833 bytes +133 bytes (+0.21%) +40 bytes
62890 bytes +190 bytes (+0.30%) +97 bytes
62908 bytes +208 bytes (+0.33%) +115 bytes
62956 bytes +256 bytes (+0.41%) +163 bytes
62973 bytes +273 bytes (+0.44%) +180 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 45782 bytes -16918 bytes (-26.98%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 48363 bytes -14337 bytes (-22.87%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 52103 bytes -10597 bytes (-16.90%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 55001 bytes -7699 bytes (-12.28%)
Brotli (Wikipedia) brotli brotli -q 11 56016 bytes -6684 bytes (-10.66%)
LZMA2 (Wikipedia) xz xz -9 57632 bytes -5068 bytes (-8.08%)
Zstandard (Wikipedia) zstd zstd -19 59148 bytes -3552 bytes (-5.67%)

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.