Choose a version:
35% The original file has 265218 bytes (259.0k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 93435 bytes (91.2k, 35%).

After GZIP compression these minified files vary in size:
Microsoft
  42584 bytes (41.6k)
CDN
Boot
  38784 bytes (37.9k)
CDN
jsdelivr
  38784 bytes (37.9k)
CDN
Baidu
  33695 bytes (32.9k)
CDN
cdnjs
  33695 bytes (32.9k)
CDN
gzip -6 (default)
  33450 bytes (32.7k)
local copy
Google
  33430 bytes (32.6k)
CDN
gzip -9
  33404 bytes (32.6k)
local copy
libdeflate -12
  32398 bytes (31.6k)
local copy
7zip -mx=9 -tgzip
  32341 bytes (31.6k)
local copy
kzip -s0 -rn -b1
  32324 bytes (31.6k)
local copy
zultra
  32282 bytes (31.5k)
local copy
Yandex
  32280 bytes (31.5k)
CDN
pigz -11 -n
  32257 bytes (31.5k)
local copy
Zopfli
  32238 bytes (31.5k)
local copy

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

You will automatically get the smallest jQuery 1.8.2 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 42 bytes by using my jQuery 1.8.2 Zopfli version instead of the best available CDN (0.13% smaller than Yandex, 32238 vs. 32280 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 --mls8192 --bsr6 --lazy --ohh

(found September 7, 2015)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 8192  --mls8192
block splitting recursion 6  --bsr6
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

Verify file integrity

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

MD5:
curl --silent --compressed https://code.jquery.com/jquery-1.8.2.min.js --location | md5sum
0b6ecf17e30037994d3ffee51b525914  -
curl --silent --compressed https://minime.stephan-brumme.com/files/jquery/jquery-1.8.2.min.zopfli.js.gz | md5sum
0b6ecf17e30037994d3ffee51b525914  -

SHA1:
curl --silent --compressed https://code.jquery.com/jquery-1.8.2.min.js --location | sha1sum
d09d3a99ed25d0f1fbe6856de9e14ffd33557256  -
curl --silent --compressed https://minime.stephan-brumme.com/files/jquery/jquery-1.8.2.min.zopfli.js.gz | sha1sum
d09d3a99ed25d0f1fbe6856de9e14ffd33557256  -

These CDNs send you the original file:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Boot 38784 bytes 0b6ecf17e30037994d3ffee51b525914 March 18, 2015 @ 09:42
jsdelivr 38784 bytes 0b6ecf17e30037994d3ffee51b525914 (invalid)
Google 33430 bytes 0b6ecf17e30037994d3ffee51b525914 (invalid)

And some CDNs send you a different file:
CDN Size (compressed) MD5 (uncompressed) Comment / Diff Timestamp
Microsoft 42584 bytes cfa9051cc0b05eb519f1e16b2a6645d7 only whitespaces differ (invalid)
Baidu 33695 bytes cfa9051cc0b05eb519f1e16b2a6645d7 only whitespaces differ January 7, 2015 @ 10:16
cdnjs 33695 bytes cfa9051cc0b05eb519f1e16b2a6645d7 only whitespaces differ (invalid)
Yandex 32280 bytes cfa9051cc0b05eb519f1e16b2a6645d7 only whitespaces differ June 15, 2015 @ 21:17

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

Other Versions

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

3.6.1, 3.6.0,
3.5.1, 3.5.0,
3.4.1, 3.4.0,
3.3.1, 3.3.0,
3.2.1, 3.2.0,
3.1.1, 3.1.0, 3.0.0,
2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0,
2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0,
2.0.3, 2.0.2, 2.0.1, 2.0.0,
1.12.4, 1.12.3, 1.12.2, 1.12.1, 1.12.0,
1.11.3, 1.11.2, 1.11.1, 1.11.0,
1.10.2, 1.10.1, 1.10.0,
1.9.1, 1.9.0,
1.8.3, 1.8.2, 1.8.1, 1.8.0,
1.7.2, 1.7.1, 1.7.0,
1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6,
1.5.2, 1.5.1, 1.5,
1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4,
1.3.2, 1.3.1, 1.3,
1.2.6, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2,
1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1,
1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0

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

Changelog

Best Zopfli parameters so far:
Size Improvement Parameters Found
32238 bytes -1 byte zopfli --i100000 --mls8192 --bsr6 --lazy --ohh September 7, 2015 @ 09:32
32239 bytes -2 bytes zopfli --i100000 --mls8192 --bsr9 --lazy --ohh September 2, 2015 @ 00:02
32241 bytes -3 bytes zopfli --i10000 --mls8192 --bsr9 --lazy --ohh September 1, 2015 @ 21:04
32244 bytes -6 bytes zopfli --i1000 --mls8192 --bsr9 --lazy --ohh September 1, 2015 @ 20:36
32250 bytes zopfli --i100 --mls8192 --bsr9 --lazy --ohh September 1, 2015 @ 20: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:43.

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
32259 32257 32265 32258 32260 32265 32265 32263 32259 32260 32256 32255 32247 32261 32268
32262 32262 32262 32262 32262 32263 32262 32261 32260 32242 32257 32242 32240 32257 32262
32263 32263 32250 32263 32261 32264 32254 32263 32260 32252 32248 32243 32238 32260 32250
32258 32257 32248 32250 32248 32248 32253 32258 32257 32260 32248 32249 32239 32253 32257
32261 32261 32248 32250 32248 32247 32259 32255 32252 32251 32244 32242 32241 32254 32246
32262 32251 32248 32250 32249 32249 32261 32261 32252 32243 32246 32243 32239 32253 32264
32257 32248 32247 32250 32249 32246 32253 32255 32253 32247 32243 32244 32241 32260 32247
32264 32245 32248 32248 32248 32246 32264 32254 32261 32250 32243 32251 32239 32261 32270
32258 32247 32249 32253 32248 32261 32253 32262 32260 32246 32244 32244 32240 32256 32245
32257 32248 32247 32252 32248 32251 32264 32263 32252 32251 32247 32245 32239 32252 32249
32256 32263 32248 32250 32248 32248 32262 32258 32260 32246 32247 32243 32245 32259 32244
32258 32246 32247 32248 32248 32248 32253 32256 32257 32260 32248 32247 32248 32260 32251
32259 32246 32248 32248 32255 32246 32253 32262 32258 32251 32246 32240 32244 32256 32244
32257 32261 32248 32247 32248 32250 32253 32263 32264 32246 32245 32242 32262 32252 32244
32259 32249 32247 32250 32248 32247 32258 32258 32263 32245 32246 32247 32247 32255 32249
32258 32249 32251 32253 32252 32252 32257 32257 32263 32246 32250 32250 32246 32257 32244
32258 32258 32254 32265 32248 32254 32254 32256 32254 32256 32249 32246 32242 32253 32243
32257 32248 32249 32250 32248 32261 32263 32256 32258 32254 32248 32242 32247 32252 32244
32258 32246 32249 32249 32249 32246 32253 32263 32263 32252 32252 32247 32248 32254 32244
32257 32248 32249 32247 32248 32245 32257 32263 32263 32256 32246 32242 32247 32253 32245
32257 32246 32249 32252 32249 32245 32264 32263 32255 32246 32247 32244 32242 32254 32244
32256 32248 32245 32252 32248 32248 32253 32255 32255 32257 32250 32248 32246 32254 32244
32256 32245 32247 32250 32248 32246 32257 32263 32255 32245 32246 32247 32248 32259 32244

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 32250 bytes 100%
1,000 32243 bytes -7 bytes 100%
10,000 32240 bytes -3 bytes 100%
100,000 32238 bytes -2 bytes 15.36%
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
32325 bytes +87 bytes (+0.27%) +1 byte
32324 bytes +86 bytes (+0.27%)
32356 bytes +118 bytes (+0.37%) +32 bytes
32387 bytes +149 bytes (+0.46%) +63 bytes
32399 bytes +161 bytes (+0.50%) +75 bytes
32427 bytes +189 bytes (+0.59%) +103 bytes
32462 bytes +224 bytes (+0.69%) +138 bytes
32479 bytes +241 bytes (+0.75%) +155 bytes
32489 bytes +251 bytes (+0.78%) +165 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 25869 bytes -6369 bytes (-19.76%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 26748 bytes -5490 bytes (-17.03%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 28463 bytes -3775 bytes (-11.71%)
Brotli (Wikipedia) brotli brotli -q 11 29801 bytes -2437 bytes (-7.56%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 29820 bytes -2418 bytes (-7.50%)
LZMA2 (Wikipedia) xz xz -9 30908 bytes -1330 bytes (-4.13%)
Zstandard (Wikipedia) zstd zstd -19 31607 bytes -631 bytes (-1.96%)

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.