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

After GZIP compression these minified files vary in size:
unpkg
  39634 bytes (38.7k)
CDN
Boot
  38925 bytes (38.0k)
CDN
cdnjs
  34074 bytes (33.3k)
CDN
gzip -6 (default)
  33874 bytes (33.1k)
local copy
gzip -9
  33806 bytes (33.0k)
local copy
libdeflate -12
  32707 bytes (31.9k)
local copy
7zip -mx=9 -tgzip
  32638 bytes (31.9k)
local copy
kzip -s0 -rn -b5
  32599 bytes (31.8k)
local copy
zultra
  32599 bytes (31.8k)
local copy
pigz -11 -n
  32579 bytes (31.8k)
local copy
Zopfli
  32545 bytes (31.8k)
local copy
Zopfli (defluff)
  32544 bytes (31.8k)
local copy

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

You will automatically get the smallest Vue 2.6.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 1529 bytes by using my Vue 2.6.6 Zopfli version instead of the best available CDN (4.70% smaller than cdnjs, 32545 vs. 34074 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 --i1000000 --mb8 --mls8 --bsr8 --lazy --ohh

(found February 16, 2019)
Description Value Parameter
iterations 1000000  --i1000000
maximum blocks 8  --mb8
maximum length score 8  --mls8
block splitting recursion 8  --bsr8
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 (32544 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.6.6.min.js --location | md5sum
baa2f3e9801a1924119f400d8046e56a  -
curl --silent --compressed https://minime.stephan-brumme.com/files/vue/vue-2.6.6.min.zopfli.js.gz | md5sum
baa2f3e9801a1924119f400d8046e56a  -

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

All listed CDNs deliver identical contents:
CDN Size (compressed) MD5 (uncompressed) Timestamp
unpkg 39634 bytes baa2f3e9801a1924119f400d8046e56a (invalid)
Boot 38925 bytes baa2f3e9801a1924119f400d8046e56a (invalid)
cdnjs 34074 bytes baa2f3e9801a1924119f400d8046e56a (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
32545 bytes -1 byte zopfli --i1000000 --mls8 --bsr8 --lazy --ohh February 16, 2019 @ 09:26
32546 bytes -3 bytes zopfli --i100000 --mls8 --bsr8 --lazy --ohh February 16, 2019 @ 01:28
32549 bytes -1 byte zopfli --i10000 --mls8 --bsr8 --lazy --ohh February 15, 2019 @ 08:19
32550 bytes -1 byte zopfli --i10000 --mls2 --bsr9 --lazy --ohh February 14, 2019 @ 03:28
32551 bytes -2 bytes zopfli --i10000 --mls8 --bsr18 --lazy --ohh February 14, 2019 @ 02:07
32553 bytes -1 byte zopfli --i10000 --mls8 --bsr10 --lazy --ohh February 13, 2019 @ 22:48
32554 bytes -2 bytes zopfli --i1000 --mls2 --bsr9 --lazy --ohh February 13, 2019 @ 15:07
32556 bytes -3 bytes zopfli --i1000 --mls8 --bsr8 --lazy --ohh February 13, 2019 @ 15:06
32559 bytes zopfli --i100 --mls8192 --bsr13 --lazy --ohh February 13, 2019 @ 13:23

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 @ 13: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, 100,000 or 1,000,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
32563 32563 32564 32568 32574 32574 32569 32567 32579 32576 32557 32557 32558 32573 32581
32580 32562 32563 32562 32561 32576 32579 32581 32571 32579 32570 32567 32556 32570 32576
32562 32579 32588 32576 32592 32581 32561 32584 32583 32562 32567 32568 32556 32555 32578
32561 32562 32564 32564 32563 32580 32576 32581 32578 32579 32570 32566 32560 32568 32576
32563 32563 32545 32562 32563 32575 32563 32582 32580 32580 32562 32566 32556 32571 32579
32548 32563 32545 32571 32568 32565 32578 32580 32580 32571 32568 32568 32556 32570 32584
32566 32563 32553 32583 32561 32575 32581 32581 32582 32579 32570 32563 32555 32555 32576
32562 32562 32561 32561 32568 32579 32579 32581 32580 32575 32566 32557 32555 32573 32562
32562 32562 32563 32566 32567 32563 32563 32589 32593 32575 32565 32563 32555 32571 32577
32563 32563 32563 32593 32577 32570 32580 32580 32582 32585 32566 32564 32555 32558 32577
32580 32547 32553 32566 32577 32580 32593 32582 32571 32579 32569 32564 32554 32573 32578
32582 32563 32564 32595 32594 32581 32580 32581 32580 32579 32571 32563 32560 32567 32579
32562 32547 32563 32594 32579 32580 32587 32581 32580 32568 32564 32566 32560 32573 32577
32561 32563 32554 32595 32594 32564 32580 32581 32583 32579 32567 32565 32555 32570 32561
32562 32564 32551 32594 32561 32564 32579 32581 32588 32579 32566 32563 32560 32573 32578
32563 32564 32563 32571 32580 32580 32584 32581 32582 32581 32564 32566 32555 32571 32580
32563 32563 32576 32593 32578 32564 32591 32589 32582 32578 32570 32565 32555 32572 32580
32580 32579 32578 32595 32562 32578 32580 32580 32581 32579 32570 32566 32555 32570 32579
32562 32561 32562 32561 32576 32565 32581 32581 32582 32579 32571 32563 32555 32571 32579
32562 32560 32567 32578 32561 32564 32581 32581 32580 32584 32565 32565 32556 32571 32563
32580 32577 32554 32592 32580 32576 32592 32581 32582 32580 32570 32564 32560 32571 32576
32562 32561 32562 32569 32579 32580 32587 32581 32585 32578 32564 32563 32555 32571 32578
32561 32561 32553 32563 32560 32582 32580 32581 32582 32581 32566 32565 32555 32570 32579

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 32559 bytes 100%
1,000 32554 bytes -5 bytes 100%
10,000 32549 bytes -5 bytes 100%
100,000 32546 bytes -3 bytes 1.45%
1,000,000 32545 bytes -1 byte 0.58%
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
32653 bytes +108 bytes (+0.33%) +54 bytes
32660 bytes +115 bytes (+0.35%) +61 bytes
32662 bytes +117 bytes (+0.36%) +63 bytes
32650 bytes +105 bytes (+0.32%) +51 bytes
32657 bytes +112 bytes (+0.34%) +58 bytes
32599 bytes +54 bytes (+0.17%)
32626 bytes +81 bytes (+0.25%) +27 bytes
32622 bytes +77 bytes (+0.24%) +23 bytes
32659 bytes +114 bytes (+0.35%) +60 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 26809 bytes -5736 bytes (-17.62%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 27748 bytes -4797 bytes (-14.74%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 28757 bytes -3788 bytes (-11.64%)
Brotli (Wikipedia) brotli brotli -q 11 30499 bytes -2046 bytes (-6.29%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 31117 bytes -1428 bytes (-4.39%)
LZMA2 (Wikipedia) xz xz -9 31252 bytes -1293 bytes (-3.97%)
Zstandard (Wikipedia) zstd zstd -19 31862 bytes -683 bytes (-2.10%)

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.