Choose a version:
33% The original file has 216942 bytes (211.9k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 70910 bytes (69.2k, 33%).

After GZIP compression these minified files vary in size:
Boot
  29644 bytes (28.9k)
CDN
gzip -6 (default)
  25945 bytes (25.3k)
local copy
cdnjs
  25936 bytes (25.3k)
CDN
unpkg
  25936 bytes (25.3k)
CDN
gzip -9
  25924 bytes (25.3k)
local copy
jsdelivr
  25912 bytes (25.3k)
CDN
7zip -mx=9 -tgzip
  25076 bytes (24.5k)
local copy
kzip -s0 -rn -b2
  25071 bytes (24.5k)
local copy
libdeflate -12
  25058 bytes (24.5k)
local copy
pigz -11 -n
  25040 bytes (24.5k)
local copy
zultra
  25032 bytes (24.4k)
local copy
Zopfli
  24965 bytes (24.4k)
local copy
Zopfli (defluff)
  24964 bytes (24.4k)
local copy

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

You will automatically get the smallest Vue 2.1.6 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 947 bytes by using my Vue 2.1.6 Zopfli version instead of the best available CDN (3.79% smaller than jsdelivr, 24965 vs. 25912 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 --mls64 --bsr13 --lazy --ohh

(found April 4, 2017)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 64  --mls64
block splitting recursion 13  --bsr13
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 (24964 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-2.1.6.min.js --location | md5sum
d728355b9fdf7e321210519492f2e97c  -
curl --silent --compressed https://minime.stephan-brumme.com/files/vue/vue-2.1.6.min.zopfli.js.gz | md5sum
d728355b9fdf7e321210519492f2e97c  -

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

All listed CDNs deliver identical contents:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Boot 29644 bytes d728355b9fdf7e321210519492f2e97c (invalid)
cdnjs 25936 bytes d728355b9fdf7e321210519492f2e97c (invalid)
unpkg 25936 bytes d728355b9fdf7e321210519492f2e97c April 4, 2017 @ 10:09
jsdelivr 25912 bytes d728355b9fdf7e321210519492f2e97c (invalid)

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
24965 bytes -2 bytes zopfli --i100000 --mls64 --bsr13 --lazy --ohh April 4, 2017 @ 19:18
24967 bytes -2 bytes zopfli --i10000 --mls64 --bsr13 --lazy --ohh April 4, 2017 @ 13:00
24969 bytes -2 bytes zopfli --i10000 --mls16 --bsr21 --lazy --ohh April 4, 2017 @ 12:52
24971 bytes -3 bytes zopfli --i1000 --mls16 --bsr21 --lazy --ohh April 4, 2017 @ 10:40
24974 bytes -1 byte zopfli --i1000 --mls64 --bsr25 --lazy --ohh April 4, 2017 @ 10:39
24975 bytes zopfli --i100 --mls16 --bsr21 --lazy --ohh April 4, 2017 @ 10:22

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
24981 24979 24985 24980 24975 24978 25010 25014 24972 25030 25021 25024 25023 25027 25028
25015 25014 24999 25015 25000 25010 24984 25010 25004 25023 25023 25007 25014 25024 25023
25003 25001 25007 24990 25013 24977 25006 25003 24977 25021 25023 25023 25021 25012 25028
24993 24973 25006 25016 24978 24999 24998 24999 25004 25021 25022 25019 25020 25010 25025
24969 24969 24979 24995 24973 24972 24988 24975 25005 25021 25021 25024 25020 25014 25010
25015 24998 25010 25012 24984 24981 24978 24998 25001 25024 25007 25007 25023 25009 25008
25010 25010 25012 24995 24968 24994 25001 24996 25001 25003 25006 25006 25004 25011 25008
24997 24997 25002 24994 24973 24970 24966 24995 24978 25001 25005 25006 25004 25002 25005
25010 25013 25009 25002 25006 25005 24971 24996 25002 25002 25006 25007 25016 25006 25006
25005 24992 25005 25007 25005 24965 25001 24994 25000 25007 25003 25005 25007 25003 25008
25000 24999 25010 25008 25009 24996 24999 24994 24994 25002 25008 25008 25003 25003 25008
24998 24995 24993 24994 24994 24994 25000 24995 25002 25003 25009 25004 25006 25001 25006
24997 24998 25010 24996 24974 24973 24998 24994 24972 25021 25007 25004 25005 25006 25002
24999 24995 25009 25000 24996 24994 24971 24995 25000 25021 25022 25023 25001 25015 25007
25002 24997 25000 24995 25005 24993 24972 24994 25001 25021 25001 25022 25021 25012 25025
24992 24995 24998 25009 24972 24971 25001 24996 25003 25021 25007 25006 25009 25005 25007
25015 24996 24983 24994 24997 24993 25000 24996 24974 25021 25006 25005 25019 25008 25006
25000 24995 25012 24969 25000 24971 24999 24996 25002 25021 25002 25007 25018 25013 25025
24993 24992 25003 24994 24994 24996 24970 24994 25002 25017 25004 25005 25003 25003 25025
24997 24996 25009 24995 24999 24971 24970 24994 25001 25003 25003 25003 25011 25006 25007
25003 24996 24996 24996 24973 24973 25001 24996 25002 25002 25009 25005 25004 25006 25007
25013 25011 25010 25005 25004 25000 25000 24995 24996 25001 25008 25007 25007 25004 25002
25003 24996 24994 25001 25005 24984 24996 24994 25003 25004 25010 25007 25009 25005 25010

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 24975 bytes 100%
1,000 24971 bytes -4 bytes 100%
10,000 24967 bytes -4 bytes 100%
100,000 24965 bytes -2 bytes 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
25074 bytes +109 bytes (+0.44%) +3 bytes
25072 bytes +107 bytes (+0.43%) +1 byte
25071 bytes +106 bytes (+0.42%)
25076 bytes +111 bytes (+0.44%) +5 bytes
25084 bytes +119 bytes (+0.48%) +13 bytes
25098 bytes +133 bytes (+0.53%) +27 bytes
25135 bytes +170 bytes (+0.68%) +64 bytes
25164 bytes +199 bytes (+0.80%) +93 bytes
25172 bytes +207 bytes (+0.83%) +101 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 20953 bytes -4012 bytes (-16.07%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 21424 bytes -3541 bytes (-14.18%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 21484 bytes -3481 bytes (-13.94%)
Brotli (Wikipedia) brotli brotli -q 11 23431 bytes -1534 bytes (-6.14%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 24057 bytes -908 bytes (-3.64%)
LZMA2 (Wikipedia) xz xz -9 24092 bytes -873 bytes (-3.50%)
Zstandard (Wikipedia) zstd zstd -19 24668 bytes -297 bytes (-1.19%)

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.