Choose a version:
28% The original file has 246468 bytes (240.7k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 70183 bytes (68.5k, 28%).

After GZIP compression these minified files vary in size:
Boot
  28033 bytes (27.4k)
CDN
cdnjs
  24209 bytes (23.6k)
CDN
gzip -6 (default)
  24041 bytes (23.5k)
local copy
jsdelivr
  23973 bytes (23.4k)
CDN
unpkg
  23960 bytes (23.4k)
CDN
gzip -9
  23944 bytes (23.4k)
local copy
7zip -mx=9 -tgzip
  23177 bytes (22.6k)
local copy
libdeflate -12
  23161 bytes (22.6k)
local copy
kzip -s0 -rn -b4
  23129 bytes (22.6k)
local copy
pigz -11 -n
  23122 bytes (22.6k)
local copy
zultra
  23118 bytes (22.6k)
local copy
Zopfli
  23081 bytes (22.5k)
local copy
Zopfli (defluff)
  23079 bytes (22.5k)
local copy

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

You will automatically get the smallest Vue 1.0.9 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 879 bytes by using my Vue 1.0.9 Zopfli version instead of the best available CDN (3.81% smaller than unpkg, 23081 vs. 23960 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 --mls8 --bsr20 --lazy --ohh

(found April 9, 2017)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 8  --mls8
block splitting recursion 20  --bsr20
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 2 more bytes (23079 bytes).

Verify file integrity

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

MD5:
curl --silent --compressed https://raw.githubusercontent.com/vuejs/vue/vue-1.0.9.min.js --location | md5sum
ee074b929d846915705b79d776a0f4a0  -
curl --silent --compressed https://minime.stephan-brumme.com/files/vue/vue-1.0.9.min.zopfli.js.gz | md5sum
ee074b929d846915705b79d776a0f4a0  -

SHA1:
curl --silent --compressed https://raw.githubusercontent.com/vuejs/vue/vue-1.0.9.min.js --location | sha1sum
8ac0d7be42499e4854820d8d592048cba7dd81e8  -
curl --silent --compressed https://minime.stephan-brumme.com/files/vue/vue-1.0.9.min.zopfli.js.gz | sha1sum
8ac0d7be42499e4854820d8d592048cba7dd81e8  -

All listed CDNs deliver identical contents:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Boot 28033 bytes ee074b929d846915705b79d776a0f4a0 (invalid)
cdnjs 24209 bytes ee074b929d846915705b79d776a0f4a0 (invalid)
jsdelivr 23973 bytes ee074b929d846915705b79d776a0f4a0 (invalid)
unpkg 23960 bytes ee074b929d846915705b79d776a0f4a0 April 6, 2017 @ 17:25

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

Other Versions

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

2.6.14, 2.6.13, 2.6.12, 2.6.11, 2.6.10, 2.6.9, 2.6.8, 2.6.7, 2.6.6, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.22, 2.5.21, 2.5.20, 2.5.19, 2.5.18, 2.5.17, 2.5.16, 2.5.15, 2.5.14, 2.5.13, 2.5.12, 2.5.11, 2.5.10, 2.5.9, 2.5.8, 2.5.7, 2.5.6, 2.5.5, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.10, 2.1.9, 2.1.8, 2.1.7, 2.1.6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0,
1.0.28, 1.0.27, 1.0.26, 1.0.25, 1.0.24, 1.0.23, 1.0.22, 1.0.21, 1.0.20, 1.0.19, 1.0.18, 1.0.17, 1.0.16, 1.0.15, 1.0.14, 1.0.13, 1.0.12, 1.0.11, 1.0.10, 1.0.9,
0.10.6, 0.10.5, 0.10.4, 0.10.3, 0.10.2, 0.10.1, 0.10.0,
0.9.3, 0.9.2, 0.9.1, 0.9.0

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

Changelog

Best Zopfli parameters so far:
Size Improvement Parameters Found
23081 bytes -1 byte zopfli --i100000 --mls8 --bsr20 --lazy --ohh April 9, 2017 @ 06:34
23082 bytes -1 byte zopfli --i10000 --mls8 --bsr20 --lazy --ohh April 7, 2017 @ 01:29
23083 bytes -1 byte zopfli --i10000 --mls8 --bsr25 --lazy --ohh April 7, 2017 @ 00:47
23084 bytes -3 bytes zopfli --i10000 --mls8192 --bsr16 --lazy --ohh April 7, 2017 @ 00:43
23087 bytes -3 bytes zopfli --i1000 --mls8 --bsr20 --lazy --ohh April 6, 2017 @ 19:06
23090 bytes -3 bytes zopfli --i1000 --mls16384 --bsr12 --lazy --ohh April 6, 2017 @ 18:56
23093 bytes zopfli --i100 --mls16384 --bsr12 --lazy --ohh April 6, 2017 @ 18:36

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

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
23099 23100 23100 23100 23099 23099 23101 23106 23104 23103 23101 23089 23097 23109 23109
23098 23099 23106 23098 23104 23105 23104 23095 23099 23100 23097 23100 23099 23107 23101
23099 23099 23090 23096 23105 23104 23106 23105 23099 23096 23095 23101 23100 23091 23101
23098 23099 23107 23106 23105 23104 23097 23100 23099 23095 23095 23102 23101 23089 23099
23099 23097 23088 23097 23099 23089 23106 23099 23099 23096 23096 23103 23100 23090 23101
23104 23097 23105 23106 23106 23106 23106 23099 23099 23099 23097 23102 23100 23109 23097
23097 23101 23105 23106 23100 23104 23106 23095 23099 23096 23100 23102 23099 23090 23101
23098 23097 23105 23097 23105 23105 23106 23105 23099 23104 23095 23102 23100 23092 23098
23098 23098 23105 23104 23102 23106 23106 23105 23105 23104 23100 23106 23093 23087 23101
23099 23098 23081 23106 23098 23105 23106 23099 23099 23095 23100 23103 23100 23102 23102
23100 23097 23099 23106 23105 23106 23106 23106 23099 23099 23100 23104 23100 23089 23101
23099 23097 23105 23106 23105 23106 23106 23099 23099 23105 23095 23102 23100 23088 23100
23104 23104 23082 23086 23103 23104 23106 23081 23099 23094 23100 23105 23084 23102 23102
23097 23098 23099 23106 23103 23106 23105 23104 23099 23094 23100 23104 23100 23089 23100
23099 23098 23106 23107 23107 23105 23105 23099 23099 23096 23101 23102 23100 23090 23101
23097 23099 23090 23106 23107 23104 23106 23099 23104 23099 23100 23105 23100 23088 23105
23098 23103 23081 23106 23106 23104 23105 23105 23106 23095 23100 23103 23101 23088 23101
23098 23100 23105 23107 23105 23106 23106 23107 23099 23095 23096 23098 23100 23088 23101
23098 23096 23088 23105 23103 23106 23107 23106 23099 23095 23100 23104 23100 23102 23101
23098 23097 23105 23106 23105 23104 23107 23105 23099 23096 23100 23100 23100 23091 23101
23104 23098 23083 23086 23107 23105 23106 23105 23104 23096 23100 23103 23101 23092 23102
23095 23102 23105 23087 23106 23106 23106 23099 23099 23095 23100 23102 23102 23091 23101
23097 23103 23106 23099 23103 23104 23106 23099 23099 23099 23101 23102 23099 23089 23101

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 23093 bytes 100%
1,000 23087 bytes -6 bytes 100%
10,000 23082 bytes -5 bytes 100%
100,000 23081 bytes -1 byte 1.74%
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
23143 bytes +62 bytes (+0.27%) +14 bytes
23145 bytes +64 bytes (+0.28%) +16 bytes
23139 bytes +58 bytes (+0.25%) +10 bytes
23152 bytes +71 bytes (+0.31%) +23 bytes
23129 bytes +48 bytes (+0.21%)
23173 bytes +92 bytes (+0.40%) +44 bytes
23189 bytes +108 bytes (+0.47%) +60 bytes
23236 bytes +155 bytes (+0.67%) +107 bytes
23273 bytes +192 bytes (+0.83%) +144 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 19260 bytes -3821 bytes (-16.55%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 19512 bytes -3569 bytes (-15.46%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 20003 bytes -3078 bytes (-13.34%)
Brotli (Wikipedia) brotli brotli -q 11 21587 bytes -1494 bytes (-6.47%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 21905 bytes -1176 bytes (-5.10%)
LZMA2 (Wikipedia) xz xz -9 22412 bytes -669 bytes (-2.90%)
Zstandard (Wikipedia) zstd zstd -19 22886 bytes -195 bytes (-0.84%)

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.