150 WINS / 0 LOSSES

Best JSON Compression Tool

Up to 97.3% smaller than LZMA. 150 wins, 0 losses across real-world JSON files. Lossless, verified, free to try.

97.3%
Best Saving vs LZMA
85.1%
Median Saving
150W / 0T
Win / Tie Record
0
Losses

How PZIP Compresses JSON

PZIP extracts a key dictionary from your JSON, storing repeated keys once. For arrays of objects, values are reorganized column-wise. The restructured data is then compressed with Brotli — beating standalone Brotli because the input is cleaner and more repetitive.

Codec: Key dictionary + Brotli
Lossless
Byte-exact round-trip verified on every file
Never-Worse
Falls back to LZMA if it can't beat it
Automatic
Type detection + codec selection is automatic

History of JSON

Est. 2001Created by Douglas Crockford

JSON (JavaScript Object Notation) was popularized by Douglas Crockford in 2001 as a lightweight data interchange format. Standardized as ECMA-404 and RFC 8259, JSON became the dominant format for web APIs, configuration files, and NoSQL databases.

Compression Timeline

2001

Douglas Crockford introduces JSON

2006

RFC 4627 — first JSON specification

2013

ECMA-404 standardizes JSON

2017

RFC 8259 — latest JSON standard

2026

PZIP beats LZMA on JSON with schema-aware compression

Real-World Benchmark Results

Every file tested with LZMA-9 (maximum compression) as baseline. Round-trip correctness verified on every file.

FileSizePZIP vs LZMAResultDownload
npm_mocha.json3.8 MB
-97.3%
WIN Source
ghcontrib_expressjs_express.json94.2 KB
-95.3%
WIN Source
ghcontrib_pallets_flask.json93.7 KB
-95.3%
WIN Source
ghcontrib_facebook_react.json93.3 KB
-95.2%
WIN Source
ghcontrib_golang_go.json93.0 KB
-95.2%
WIN Source
ghcontrib_vuejs_vue.json93.2 KB
-95.2%
WIN Source
ghcontrib_apache_kafka.json94.1 KB
-95.1%
WIN Source
ghcontrib_denoland_deno.json93.4 KB
-95.1%
WIN Source
ghcontrib_docker_compose.json94.2 KB
-95.1%
WIN Source
ghcontrib_elastic_elasticsearch.json94.2 KB
-95.1%
WIN Source
ghcontrib_grafana_grafana.json95.4 KB
-95.1%
WIN Source
ghcontrib_kubernetes_kubernetes.json93.5 KB
-95.1%
WIN Source
ghcontrib_microsoft_TypeScript.json94.4 KB
-95.1%
WIN Source
ghcontrib_nodejs_node.json93.9 KB
-95.1%
WIN Source
ghcontrib_prometheus_prometheus.json94.6 KB
-95.1%
WIN Source
ghcontrib_rust-lang_rust.json93.5 KB
-95.1%
WIN Source
ghcontrib_vercel_next.js.json94.1 KB
-95.1%
WIN Source
ghcontrib_microsoft_vscode.json94.2 KB
-95%
WIN Source
ghissues_elastic_elasticsearch.json505.9 KB
-94.6%
WIN Source
ghissues_vuejs_vue.json406.9 KB
-94.6%
WIN Source
ghissues_kubernetes_kubernetes.json853.8 KB
-94.4%
WIN Source
ghissues_django_django.json455.9 KB
-94.1%
WIN Source
ghissues_torvalds_linux.json349.5 KB
-93.9%
WIN Source
npm_next.json27.6 MB
-93.8%
WIN Source
ghissues_grafana_grafana.json569.1 KB
-93.7%
WIN Source
ghissues_python_cpython.json454.6 KB
-93.7%
WIN Source
countries-data.json1.3 MB
-93.3%
WIN Source
npm_sequelize.json4.1 MB
-93.3%
WIN Source
ghissues_prometheus_prometheus.json524.5 KB
-92.7%
WIN Source
ghissues_apache_kafka.json399.6 KB
-92.6%
WIN Source
npm_webpack.json4.7 MB
-92.5%
WIN Source
ghissues_microsoft_vscode.json704.8 KB
-92.3%
WIN Source
ghissues_pallets_flask.json458.1 KB
-92.2%
WIN Source
npm_gatsby.json22.5 MB
-92.1%
WIN Source
npm_rollup.json5.8 MB
-92%
WIN Source
ghissues_vercel_next.js.json422.4 KB
-91.7%
WIN Source
npm_redux.json540.9 KB
-91.7%
WIN Source
ghissues_denoland_deno.json387.3 KB
-91.5%
WIN Source
ghissues_docker_compose.json544.6 KB
-91.1%
WIN Source
npm_rxjs.json957.1 KB
-91%
WIN Source
npm_eslint.json1.8 MB
-90.6%
WIN Source
npm_knex.json1.3 MB
-90.5%
WIN Source
npm_nx.json10.0 MB
-90.4%
WIN Source
ghissues_facebook_react.json509.1 KB
-90.3%
WIN Source
ghissues_golang_go.json592.7 KB
-90.2%
WIN Source
ghissues_nodejs_node.json659.3 KB
-90.1%
WIN Source
schemaorg-current.json1.5 MB
-90.1%
WIN Source
ghissues_microsoft_TypeScript.json616.0 KB
-90%
WIN Source
npm_axios.json733.9 KB
-89.8%
WIN Source
npm_nuxt.json1.5 MB
-89.8%
WIN Source
npm_express.json782.4 KB
-89.7%
WIN Source
npm_pm2.json1.0 MB
-89.7%
WIN Source
lockfile_microsoft_TypeScript.json376.9 KB
-89.2%
WIN Source
npm_typescript.json14.5 MB
-88.8%
WIN Source
npm_mysql2.json627.4 KB
-88.5%
WIN Source
npm_webpack-dev-server.json826.7 KB
-88.1%
WIN Source
npm_vue.json1.9 MB
-87.9%
WIN Source
npm_mobx.json1007.1 KB
-87.1%
WIN Source
npm_prettier.json638.4 KB
-86.9%
WIN Source
npm_cypress.json1.0 MB
-86.7%
WIN Source
npm_moment.json235.9 KB
-86.4%
WIN Source
npm_ts-node.json561.1 KB
-86.3%
WIN Source
npm_d3.json715.7 KB
-86%
WIN Source
npm_three.json888.7 KB
-86%
WIN Source
pypi_sqlalchemy.json3.9 MB
-85.9%
WIN Source
npm_puppeteer.json3.8 MB
-85.8%
WIN Source
pypi_aiohttp.json7.3 MB
-85.7%
WIN Source
npm_sass-loader.json413.5 KB
-85.5%
WIN Source
pypi_matplotlib.json1.9 MB
-85.4%
WIN Source
pypi_numpy.json2.7 MB
-85.4%
WIN Source
pypi_pillow.json2.6 MB
-85.4%
WIN Source
npm_babel-loader.json245.3 KB
-85.3%
WIN Source
pypi_mypy.json1.3 MB
-85.2%
WIN Source
pypi_scikit_learn.json1.1 MB
-85.2%
WIN Source
npm_bcrypt.json200.6 KB
-85.1%
WIN Source
npm_webpack-cli.json521.9 KB
-85.1%
WIN Source
pypi_tensorflow.json1.3 MB
-85.1%
WIN Source
pypi_scipy.json1.8 MB
-85%
WIN Source
npm_body-parser.json211.7 KB
-84.9%
WIN Source
npm_inquirer.json576.6 KB
-84.9%
WIN Source
pypi_pandas.json1.7 MB
-84.9%
WIN Source
npm_serve-static.json146.9 KB
-84.8%
WIN Source
pypi_tornado.json371.3 KB
-84.8%
WIN Source
npm_ts-loader.json600.5 KB
-84.7%
WIN Source
npm_css-loader.json504.2 KB
-84.5%
WIN Source
npm_uuid.json219.3 KB
-84.4%
WIN Source
pypi_boto3.json2.7 MB
-84.4%
WIN Source
npm_nodemon.json636.9 KB
-84.3%
WIN Source
npm_html-webpack-plugin.json481.9 KB
-84.2%
WIN Source
npm_yargs.json725.6 KB
-84.2%
WIN Source
npm_compression.json96.2 KB
-83.8%
WIN Source
npm_express-validator.json302.4 KB
-83.8%
WIN Source
npm_jsonwebtoken.json179.4 KB
-83.7%
WIN Source
npm_jimp.json1.1 MB
-83.6%
WIN Source
npm_mini-css-extract-plugin.json387.3 KB
-83.6%
WIN Source
npm_lodash.json238.5 KB
-83.5%
WIN Source
npm_listr2.json1020.9 KB
-83.4%
WIN Source
npm_postcss-loader.json271.8 KB
-83.4%
WIN Source
pypi_django.json536.0 KB
-83.4%
WIN Source
pypi_black.json676.7 KB
-83.3%
WIN Source
pypi_pytest.json252.6 KB
-83.3%
WIN Source
pypi_sphinx.json390.8 KB
-83.3%
WIN Source
npm_lerna.json862.8 KB
-83.1%
WIN Source
npm_nodemailer.json549.9 KB
-83.1%
WIN Source
pypi_fastapi.json408.3 KB
-83.1%
WIN Source
pypi_requests.json168.8 KB
-83%
WIN Source
npm_bull.json602.0 KB
-82.9%
WIN Source
npm_file-loader.json155.6 KB
-82.9%
WIN Source
npm_socket.io.json370.3 KB
-82.9%
WIN Source
pypi_plotly.json311.0 KB
-82.9%
WIN Source
pypi_isort.json216.3 KB
-82.8%
WIN Source
pypi_uvicorn.json186.9 KB
-82.8%
WIN Source
npm_leaflet.json143.2 KB
-82.7%
WIN Source
pypi_httpx.json104.7 KB
-82.4%
WIN Source
npm_terser-webpack-plugin.json377.6 KB
-82.3%
WIN Source
pypi_celery.json270.7 KB
-82.3%
WIN Source
npm_pg.json459.7 KB
-82.2%
WIN Source
npm_style-loader.json209.1 KB
-82.2%
WIN Source
pypi_flask.json79.5 KB
-82.2%
WIN Source
pypi_gunicorn.json97.8 KB
-82.2%
WIN Source
npm_react.json6.2 MB
-82%
WIN Source
npm_cors.json76.1 KB
-81.7%
WIN Source
npm_multer.json142.4 KB
-81.3%
WIN Source
pypi_seaborn.json47.9 KB
-81.2%
WIN Source
npm_rimraf.json204.0 KB
-81.1%
WIN Source
npm_morgan.json74.6 KB
-80.9%
WIN Source
npm_debug.json191.2 KB
-80.6%
WIN Source
npm_turbo.json1.6 MB
-80.6%
WIN Source
npm_helmet.json333.5 KB
-80.3%
WIN Source
geojson_countries.json14.0 MB
-80.2%
WIN Source
npm_parcel.json2.6 MB
-80.2%
WIN Source
npm_concurrently.json198.8 KB
-80%
WIN Source
npm_url-loader.json95.9 KB
-80%
WIN Source
npm_playwright.json15.0 MB
-79.9%
WIN Source
npm_jest.json833.6 KB
-79.8%
WIN Source
npm_dotenv.json257.3 KB
-78.7%
WIN Source
npm_passport.json73.8 KB
-78.5%
WIN Source
npm_electron.json3.6 MB
-78.4%
WIN Source
npm_commander.json340.3 KB
-78.3%
WIN Source
npm_chalk.json115.1 KB
-78.1%
WIN Source
npm_minimatch.json299.1 KB
-78.1%
WIN Source
npm_cookie-parser.json43.7 KB
-77.8%
WIN Source
npm_chalk-animation.json40.1 KB
-77.7%
WIN Source
npm_mkdirp.json113.7 KB
-77%
WIN Source
npm_boxen.json94.0 KB
-76.8%
WIN Source
npm_minimist.json75.3 KB
-76.5%
WIN Source
npm_dotenv-cli.json74.5 KB
-76.1%
WIN Source
npm_ora.json139.0 KB
-75.9%
WIN Source
npm_esbuild.json1.2 MB
-74.5%
WIN Source
npm_terminal-link.json26.1 KB
-69.4%
WIN Source

Frequently Asked Questions

How much smaller does PZIP make JSON files?

+

PZIP achieves up to 22% savings vs LZMA-9 on JSON files. Key dictionary extraction + Brotli beats both LZMA and standalone Brotli across all 150 tested files.

Is PZIP good for compressing API responses?

+

Yes — JSON API responses with repeated key names benefit from key dictionary extraction. The more repetitive the schema, the bigger the savings.

PZIP vs Other Compressors for JSON

FeaturePZIPLZMA / xzgzipzstd
Type-AwareYesNoNoNo
LosslessYesYesYesYes
Never-Worse GuaranteeYesN/AN/AN/A
Best JSON Saving97.3%BaselineWorse~Similar
Round-Trip VerifiedEvery fileManualManualManual

Try PZIP on Your JSON Files

Upload any JSON file up to 30 MB. Free during beta — no signup required. See how much smaller PZIP makes it.

Baseline:     LZMA-9 (maximum compression)
Competitors:  gzip-9, bz2-9, brotli-11, zstd-19, PPMd 2-24
Verification: Byte-exact round-trip on every file
Guarantee:    Never-worse (PZIP <= LZMA, always)
Test files:   150 real-world JSON files
Updated:      2026-02-15