Choose a version:
32% The original file has 224170 bytes (218.9k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 72696 bytes (71.0k, 32%).

After GZIP compression these minified files vary in size:
Boot
  30392 bytes (29.7k)
CDN
cdnjs
  26636 bytes (26.0k)
CDN
unpkg
  26503 bytes (25.9k)
CDN
gzip -6 (default)
  26499 bytes (25.9k)
local copy
gzip -9
  26472 bytes (25.9k)
local copy
jsdelivr
  26462 bytes (25.8k)
CDN
kzip -s0 -rn -b4
  25632 bytes (25.0k)
local copy
7zip -mx=9 -tgzip
  25625 bytes (25.0k)
local copy
libdeflate -12
  25615 bytes (25.0k)
local copy
pigz -11 -n
  25554 bytes (25.0k)
local copy
Zopfli
  25530 bytes (24.9k)
local copy
Zopfli (defluff)
  25529 bytes (24.9k)
local copy

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

You will automatically get the smallest Vue 2.1.10 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 932 bytes by using my Vue 2.1.10 Zopfli version instead of the best available CDN (3.65% smaller than jsdelivr, 25530 vs. 26462 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 --mls1024 --bsr22 --lazy --ohh

(found April 4, 2017)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 1024  --mls1024
block splitting recursion 22  --bsr22
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 (25529 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.10.min.js --location | md5sum
278e59025c240af0ab1a133059b5ea22  -
curl --silent --compressed https://minime.stephan-brumme.com/files/vue/vue-2.1.10.min.zopfli.js.gz | md5sum
278e59025c240af0ab1a133059b5ea22  -

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

All listed CDNs deliver identical contents:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Boot 30392 bytes 278e59025c240af0ab1a133059b5ea22 (invalid)
cdnjs 26636 bytes 278e59025c240af0ab1a133059b5ea22 (invalid)
unpkg 26503 bytes 278e59025c240af0ab1a133059b5ea22 April 4, 2017 @ 10:09
jsdelivr 26462 bytes 278e59025c240af0ab1a133059b5ea22 (invalid)

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

Other Versions

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

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
25530 bytes -3 bytes zopfli --i100000 --mls1024 --bsr22 --lazy --ohh April 4, 2017 @ 19:47
25533 bytes -2 bytes zopfli --i10000 --mls1024 --bsr22 --lazy --ohh April 4, 2017 @ 11:56
25535 bytes -2 bytes zopfli --i1000 --mls1024 --bsr22 --lazy --ohh April 4, 2017 @ 10:42
25537 bytes zopfli --i100 --mls1024 --bsr22 --lazy --ohh April 4, 2017 @ 10:33

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

Most recent activity on April 11, 2017 @ 08:06.

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
25573 25573 25575 25570 25576 25576 25572 25565 25574 25584 25586 25581 25584 25564 25582
25565 25568 25565 25578 25569 25568 25565 25567 25571 25582 25583 25590 25593 25557 25579
25565 25566 25562 25563 25575 25574 25571 25562 25572 25582 25581 25581 25562 25559 25557
25566 25557 25559 25565 25562 25561 25562 25566 25560 25579 25586 25582 25553 25560 25559
25571 25567 25561 25571 25568 25562 25575 25566 25574 25542 25581 25582 25586 25556 25557
25563 25563 25557 25567 25560 25564 25557 25560 25564 25535 25584 25562 25566 25560 25561
25562 25562 25562 25564 25563 25565 25563 25577 25561 25581 25564 25557 25564 25560 25558
25567 25563 25559 25569 25568 25561 25560 25561 25562 25576 25560 25561 25552 25560 25557
25570 25566 25564 25562 25560 25564 25559 25544 25544 25537 25563 25564 25566 25556 25561
25564 25566 25561 25563 25565 25566 25565 25563 25559 25541 25562 25563 25561 25555 25560
25562 25568 25563 25564 25559 25565 25564 25562 25566 25555 25568 25559 25560 25557 25560
25562 25559 25564 25569 25565 25566 25561 25562 25561 25556 25564 25557 25554 25560 25559
25564 25569 25565 25564 25565 25565 25561 25563 25560 25563 25564 25559 25566 25557 25566
25562 25564 25557 25566 25563 25562 25558 25565 25559 25542 25586 25581 25565 25559 25558
25562 25564 25557 25563 25567 25558 25558 25563 25564 25565 25581 25582 25565 25559 25558
25564 25558 25558 25564 25558 25560 25560 25561 25561 25541 25585 25560 25555 25558 25555
25558 25562 25558 25560 25567 25566 25561 25563 25561 25578 25557 25559 25552 25558 25553
25561 25563 25559 25564 25562 25565 25560 25559 25566 25566 25562 25560 25566 25559 25558
25561 25567 25559 25564 25566 25563 25563 25572 25562 25530 25563 25558 25553 25557 25559
25562 25564 25556 25571 25559 25562 25560 25561 25562 25568 25563 25558 25553 25559 25556
25561 25563 25557 25566 25562 25565 25559 25559 25551 25544 25563 25558 25562 25556 25555
25563 25566 25559 25568 25569 25564 25564 25562 25561 25562 25563 25558 25554 25554 25552
25563 25564 25560 25561 25560 25564 25564 25572 25564 25571 25566 25558 25567 25559 25553

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 25537 bytes 100%
1,000 25535 bytes -2 bytes 100%
10,000 25533 bytes -2 bytes 100%
100,000 25530 bytes -3 bytes 2.03%
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
25641 bytes +111 bytes (+0.43%) +9 bytes
25641 bytes +111 bytes (+0.43%) +9 bytes
25639 bytes +109 bytes (+0.43%) +7 bytes
25636 bytes +106 bytes (+0.42%) +4 bytes
25632 bytes +102 bytes (+0.40%)
25654 bytes +124 bytes (+0.49%) +22 bytes
25689 bytes +159 bytes (+0.62%) +57 bytes
25716 bytes +186 bytes (+0.73%) +84 bytes
25714 bytes +184 bytes (+0.72%) +82 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 21315 bytes -4215 bytes (-16.51%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 21803 bytes -3727 bytes (-14.60%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 21875 bytes -3655 bytes (-14.32%)
Brotli (Wikipedia) brotli brotli -q 11 23881 bytes -1649 bytes (-6.46%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 24446 bytes -1084 bytes (-4.25%)
LZMA2 (Wikipedia) xz xz -9 24600 bytes -930 bytes (-3.64%)
Zstandard (Wikipedia) zstd zstd -19 25169 bytes -361 bytes (-1.41%)

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 2018.
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