Choose a version:
47% The original file has 116798 bytes (114.1k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 55026 bytes (53.7k, 47%).

After GZIP compression these minified files vary in size:
cdnjs
  19141 bytes (18.7k)
CDN
gzip -6 (default)
  19057 bytes (18.6k)
local copy
Google
  19039 bytes (18.6k)
CDN
gzip -9
  19034 bytes (18.6k)
local copy
libdeflate -12
  18449 bytes (18.0k)
local copy
zultra
  18427 bytes (18.0k)
local copy
7zip -mx=9 -tgzip
  18409 bytes (18.0k)
local copy
Yandex
  18409 bytes (18.0k)
CDN
pigz -11 -n
  18393 bytes (18.0k)
local copy
kzip -s0 -rn -b3
  18392 bytes (18.0k)
local copy
Zopfli
  18374 bytes (17.9k)
local copy

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

You will automatically get the smallest jQuery 1.3 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 35 bytes by using my jQuery 1.3 Zopfli version instead of the best available CDN (0.19% smaller than Yandex, 18374 vs. 18409 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 --bsr12 --lazy --ohh

(found November 23, 2015)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 8192  --mls8192
block splitting recursion 12  --bsr12
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.3.min.js --location | md5sum
35b4c35c2eb30b510eb0e9c8b5d4d146  -
curl --silent --compressed https://minime.stephan-brumme.com/files/jquery/jquery-1.3.min.zopfli.js.gz | md5sum
35b4c35c2eb30b510eb0e9c8b5d4d146  -

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

All listed CDNs deliver identical contents:
CDN Size (compressed) MD5 (uncompressed) Timestamp
cdnjs 19141 bytes 35b4c35c2eb30b510eb0e9c8b5d4d146 (invalid)
Google 19039 bytes 35b4c35c2eb30b510eb0e9c8b5d4d146 (invalid)
Yandex 18409 bytes 35b4c35c2eb30b510eb0e9c8b5d4d146 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
18374 bytes -1 byte zopfli --i100000 --mls8192 --bsr12 --lazy --ohh November 23, 2015 @ 14:41
18375 bytes -1 byte zopfli --i10000 --mls8192 --bsr40 --lazy --ohh November 23, 2015 @ 13:27
18376 bytes -2 bytes zopfli --i100000 --mls2048 --bsr9 --lazy --ohh September 2, 2015 @ 02:06
18378 bytes -3 bytes zopfli --i10000 --mls2048 --bsr9 --lazy --ohh September 1, 2015 @ 21:40
18381 bytes -5 bytes zopfli --i1000 --mls2048 --bsr9 --lazy --ohh September 1, 2015 @ 20:39
18386 bytes zopfli --i100 --mls8192 --bsr14 --lazy --ohh September 1, 2015 @ 20:15

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

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
18405 18405 18405 18404 18406 18405 18405 18402 18403 18401 18396 18399 18399 18397 18400
18392 18401 18403 18394 18399 18400 18397 18384 18394 18403 18394 18390 18388 18393 18400
18382 18378 18394 18392 18388 18393 18387 18387 18379 18388 18394 18389 18378 18394 18391
18389 18390 18390 18389 18386 18380 18388 18377 18388 18379 18393 18391 18389 18406 18397
18381 18381 18381 18381 18387 18386 18394 18379 18382 18381 18376 18391 18382 18385 18379
18396 18382 18394 18403 18380 18386 18379 18387 18397 18379 18376 18396 18381 18380 18397
18396 18391 18393 18394 18388 18391 18387 18398 18396 18386 18389 18388 18394 18390 18385
18383 18386 18393 18388 18387 18387 18381 18384 18387 18383 18382 18383 18383 18381 18392
18403 18401 18401 18391 18404 18386 18392 18387 18389 18379 18397 18395 18374 18380 18391
18380 18383 18386 18383 18384 18390 18381 18387 18387 18387 18375 18382 18380 18392 18391
18381 18381 18381 18393 18381 18385 18383 18379 18396 18386 18375 18382 18375 18375 18397
18387 18380 18380 18379 18380 18394 18394 18379 18388 18380 18393 18381 18384 18409 18389
18392 18397 18391 18396 18386 18392 18395 18396 18395 18379 18393 18401 18391 18381 18393
18382 18382 18381 18385 18380 18393 18380 18379 18388 18380 18378 18385 18381 18382 18390
18391 18382 18380 18388 18387 18394 18379 18380 18388 18379 18385 18383 18381 18386 18388
18397 18394 18397 18388 18387 18387 18380 18388 18381 18379 18388 18392 18383 18381 18392
18384 18384 18381 18384 18381 18386 18387 18379 18382 18380 18377 18379 18378 18382 18387
18395 18383 18395 18397 18381 18386 18387 18381 18387 18379 18388 18392 18377 18394 18388
18397 18382 18394 18390 18381 18382 18388 18381 18388 18379 18388 18384 18392 18382 18392
18376 18378 18378 18379 18381 18386 18380 18380 18387 18380 18379 18376 18385 18375 18388
18398 18393 18393 18395 18393 18399 18393 18382 18388 18380 18394 18396 18384 18380 18387
18397 18395 18392 18388 18387 18386 18381 18379 18387 18380 18378 18378 18381 18376 18386
18398 18393 18391 18394 18399 18387 18380 18380 18387 18393 18390 18383 18374 18392 18390

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 18386 bytes 100%
1,000 18377 bytes -9 bytes 100%
10,000 18375 bytes -2 bytes 100%
100,000 18374 bytes -1 byte 2.61%
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
18470 bytes +96 bytes (+0.52%) +78 bytes
18470 bytes +96 bytes (+0.52%) +78 bytes
18429 bytes +55 bytes (+0.30%) +37 bytes
18392 bytes +18 bytes (+0.10%)
18410 bytes +36 bytes (+0.20%) +18 bytes
18433 bytes +59 bytes (+0.32%) +41 bytes
18467 bytes +93 bytes (+0.51%) +75 bytes
18499 bytes +125 bytes (+0.68%) +107 bytes
18517 bytes +143 bytes (+0.78%) +125 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 15352 bytes -3022 bytes (-16.45%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 15613 bytes -2761 bytes (-15.03%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 16730 bytes -1644 bytes (-8.95%)
Brotli (Wikipedia) brotli brotli -q 11 16912 bytes -1462 bytes (-7.96%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 17488 bytes -886 bytes (-4.82%)
LZMA2 (Wikipedia) xz xz -9 17908 bytes -466 bytes (-2.54%)
Zstandard (Wikipedia) zstd zstd -19 18358 bytes -16 bytes (-0.09%)

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.