Choose a version:
38% The original file has 248235 bytes (242.4k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 93868 bytes (91.7k, 38%).

After GZIP compression these minified files vary in size:
Microsoft
  42060 bytes (41.1k)
CDN
Boot
  38374 bytes (37.5k)
CDN
jsdelivr
  38374 bytes (37.5k)
CDN
Baidu
  33416 bytes (32.6k)
CDN
cdnjs
  33409 bytes (32.6k)
CDN
gzip -6 (default)
  33206 bytes (32.4k)
local copy
Google
  33186 bytes (32.4k)
CDN
gzip -9
  33140 bytes (32.4k)
local copy
libdeflate -12
  32082 bytes (31.3k)
local copy
7zip -mx=9 -tgzip
  32029 bytes (31.3k)
local copy
kzip -s0 -rn -b0
  32022 bytes (31.3k)
local copy
pigz -11 -n
  31980 bytes (31.2k)
local copy
Yandex
  31975 bytes (31.2k)
CDN
zultra
  31975 bytes (31.2k)
local copy
Zopfli
  31935 bytes (31.2k)
local copy
Zopfli (defluff)
  31934 bytes (31.2k)
local copy

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

You will automatically get the smallest jQuery 1.7.1 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 40 bytes by using my jQuery 1.7.1 Zopfli version instead of the best available CDN (0.13% smaller than Yandex, 31935 vs. 31975 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 --mls32 --bsr25 --lazy --ohh

(found November 23, 2015)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 32  --mls32
block splitting recursion 25  --bsr25
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 (31934 bytes).

Verify file integrity

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

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

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

These CDNs send you the original file:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Microsoft 42060 bytes ddb84c1587287b2df08966081ef063bf (invalid)
Boot 38374 bytes ddb84c1587287b2df08966081ef063bf March 18, 2015 @ 09:42
jsdelivr 38374 bytes ddb84c1587287b2df08966081ef063bf (invalid)
cdnjs 33409 bytes ddb84c1587287b2df08966081ef063bf (invalid)
Google 33186 bytes ddb84c1587287b2df08966081ef063bf (invalid)
Yandex 31975 bytes ddb84c1587287b2df08966081ef063bf June 15, 2015 @ 21:17

And some CDNs send you a different file:
CDN Size (compressed) MD5 (uncompressed) Comment / Diff Timestamp
Baidu 33416 bytes db2cccefedcc741a45a582e91a5afe8d only whitespaces differ January 7, 2015 @ 10:16

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
31935 bytes -3 bytes zopfli --i100000 --mls32 --bsr25 --lazy --ohh November 23, 2015 @ 11:32
31938 bytes -1 byte zopfli --i10000 --mls32 --bsr25 --lazy --ohh November 23, 2015 @ 10:55
31939 bytes -3 bytes zopfli --i100000 --mls4096 --bsr2 --lazy --ohh September 2, 2015 @ 00:31
31942 bytes -6 bytes zopfli --i10000 --mls4096 --bsr2 --lazy --ohh September 1, 2015 @ 21:26
31948 bytes -6 bytes zopfli --i1000 --mls4096 --bsr2 --lazy --ohh September 1, 2015 @ 20:36
31954 bytes zopfli --i100 --mls8192 --bsr6 --lazy --ohh September 1, 2015 @ 20:27

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

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
31961 31960 31961 31961 31953 31951 31961 31963 31965 31966 31947 31939 31948 31945 31940
31956 31956 31954 31958 31959 31958 31966 31966 31959 31964 31959 31946 31946 31948 31947
31952 31963 31953 31952 31961 31960 31961 31962 31965 31946 31962 31944 31947 31949 31950
31963 31950 31953 31951 31962 31962 31962 31952 31964 31948 31940 31948 31948 31946 31950
31956 31948 31956 31952 31964 31962 31962 31962 31949 31961 31964 31948 31947 31949 31949
31952 31952 31954 31951 31952 31954 31953 31959 31948 31965 31946 31950 31950 31949 31949
31951 31952 31954 31952 31953 31955 31954 31951 31949 31946 31959 31953 31949 31949 31949
31961 31952 31952 31954 31962 31962 31949 31951 31958 31962 31946 31947 31949 31949 31949
31962 31948 31954 31962 31953 31946 31951 31951 31952 31946 31952 31948 31945 31949 31948
31962 31948 31955 31962 31962 31962 31961 31965 31949 31946 31960 31945 31948 31949 31949
31962 31953 31955 31962 31951 31945 31952 31954 31949 31949 31949 31945 31946 31948 31946
31963 31952 31954 31953 31962 31962 31961 31955 31949 31946 31960 31945 31948 31948 31947
31948 31960 31954 31951 31956 31956 31949 31955 31949 31955 31944 31948 31947 31949 31949
31953 31952 31952 31951 31952 31945 31961 31960 31949 31949 31948 31946 31951 31947 31949
31962 31961 31962 31951 31962 31962 31962 31951 31949 31953 31962 31948 31948 31946 31949
31962 31956 31962 31962 31962 31962 31962 31958 31949 31946 31959 31948 31948 31947 31946
31962 31952 31951 31961 31963 31962 31962 31951 31958 31962 31962 31948 31949 31947 31951
31962 31946 31962 31962 31962 31961 31961 31953 31949 31953 31951 31950 31945 31948 31949
31962 31946 31951 31961 31953 31947 31963 31954 31949 31947 31962 31946 31946 31949 31949
31961 31948 31954 31962 31962 31961 31962 31953 31948 31948 31950 31949 31945 31949 31949
31962 31953 31955 31962 31935 31962 31961 31960 31966 31962 31951 31948 31946 31948 31949
31962 31948 31951 31955 31962 31962 31964 31951 31949 31946 31947 31948 31948 31946 31948
31959 31948 31962 31962 31957 31957 31961 31958 31953 31946 31949 31948 31949 31946 31949

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 31953 bytes 100%
1,000 31944 bytes -9 bytes 100%
10,000 31938 bytes -6 bytes 100%
100,000 31935 bytes -3 bytes 0.58%
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
32022 bytes +87 bytes (+0.27%)
32022 bytes +87 bytes (+0.27%)
32058 bytes +123 bytes (+0.39%) +36 bytes
32082 bytes +147 bytes (+0.46%) +60 bytes
32112 bytes +177 bytes (+0.55%) +90 bytes
32130 bytes +195 bytes (+0.61%) +108 bytes
32137 bytes +202 bytes (+0.63%) +115 bytes
32165 bytes +230 bytes (+0.72%) +143 bytes
32196 bytes +261 bytes (+0.82%) +174 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 25524 bytes -6411 bytes (-20.08%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 26328 bytes -5607 bytes (-17.56%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 28004 bytes -3931 bytes (-12.31%)
Brotli (Wikipedia) brotli brotli -q 11 29334 bytes -2601 bytes (-8.14%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 29427 bytes -2508 bytes (-7.85%)
LZMA2 (Wikipedia) xz xz -9 30492 bytes -1443 bytes (-4.52%)
Zstandard (Wikipedia) zstd zstd -19 31176 bytes -759 bytes (-2.38%)

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.