{"_id":"@343dev/guetzli","_rev":"5-f9cd0f9ce02f4992117448b8c3fe61d1","name":"@343dev/guetzli","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"@343dev/guetzli","version":"1.0.0","keywords":["guetzli","image-compression","image","img","jpeg","jpg","optimize","compress","minify"],"author":{"url":"https://github.com/343dev","name":"Andrey Warkentin"},"license":"Apache-2.0","_id":"@343dev/guetzli@1.0.0","maintainers":[{"name":"343dev","email":"343dev@gmail.com"}],"homepage":"https://github.com/343dev/guetzli#readme","bugs":{"url":"https://github.com/343dev/guetzli/issues"},"bin":{"guetzli":"cli.js"},"dist":{"shasum":"947f2cc3cbd77ed8ddd9f6bd9443e19c616e1191","tarball":"https://registry.npmjs.org/@343dev/guetzli/-/guetzli-1.0.0.tgz","fileCount":9,"integrity":"sha512-w5UZzXDgytwscvZu3CKSR4n59OSZuVuvjsrkasp1zK0S6Fe77KCaqlWieI0fu/Q+5yQa6KJZjEO6RuktIRMR/g==","signatures":[{"sig":"MEYCIQDDwi0kiosG01SGVt3Q7ah4nusW48g8bF+91tp3+y/EfQIhAK2v4peVIX92gxpayLm2F65wyhdb7CcdmZ43OOAF89Vq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1357955},"type":"module","engines":{"node":">=18.17"},"exports":"./index.js","gitHead":"3a6e3f0db2797e1e5a1a0dffa430175d02edb443","scripts":{"lint":"npx eslint ./","postinstall":"./postinstall.js","update-git-hooks":"npx simple-git-hooks"},"_npmUser":{"name":"343dev","email":"343dev@gmail.com"},"repository":{"url":"git+https://github.com/343dev/guetzli.git","type":"git"},"_npmVersion":"10.8.2","description":"guetzli binary wrapper","directories":{},"lint-staged":{"*.js":["eslint --fix"]},"_nodeVersion":"20.17.0","eslintConfig":{"extends":"@343dev"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","lint-staged":"^15.2.10","simple-git-hooks":"^2.11.1","@343dev/eslint-config":"^1.0.0"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/guetzli_1.0.0_1729593419126_0.9364219624869554","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@343dev/guetzli","version":"1.0.1","keywords":["guetzli","image-compression","image","img","jpeg","jpg","optimize","compress","minify"],"author":{"url":"https://github.com/343dev","name":"Andrey Warkentin"},"license":"Apache-2.0","_id":"@343dev/guetzli@1.0.1","maintainers":[{"name":"343dev","email":"343dev@gmail.com"}],"homepage":"https://github.com/343dev/guetzli#readme","bugs":{"url":"https://github.com/343dev/guetzli/issues"},"bin":{"guetzli":"cli.js"},"dist":{"shasum":"359b3fb5e82428641dd4aa322ed4d0cc3c39ffc8","tarball":"https://registry.npmjs.org/@343dev/guetzli/-/guetzli-1.0.1.tgz","fileCount":9,"integrity":"sha512-M+hjr0IIuXrmAlUO/Qz92jE9ZkPUSMg28J8hu2JscCEH7SUDUL4G1uiWlNVGZwh7K3G+9Ln0nLctF9WGWy/D8Q==","signatures":[{"sig":"MEUCICvpJF3ufKjtOR7rGdmaYDVNJYfocOIBwFJ/ISW8z5cQAiEAmaZV2wc59vLDV4qLQ7ONi2WZN3HhYQXuVUBfXPqIPSM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1357958},"type":"module","engines":{"node":">=18.17"},"exports":"./index.js","gitHead":"98810add3a4ac9013dc17eaa0103242f0b98fe75","scripts":{"lint":"npx eslint ./","postinstall":"node postinstall.js","update-git-hooks":"npx simple-git-hooks"},"_npmUser":{"name":"343dev","email":"343dev@gmail.com"},"repository":{"url":"git+https://github.com/343dev/guetzli.git","type":"git"},"_npmVersion":"10.8.2","description":"guetzli binary wrapper","directories":{},"lint-staged":{"*.js":["eslint --fix"]},"_nodeVersion":"20.17.0","eslintConfig":{"extends":"@343dev"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","lint-staged":"^15.2.10","simple-git-hooks":"^2.11.1","@343dev/eslint-config":"^1.0.0"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/guetzli_1.0.1_1729596194931_0.7606561817213024","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@343dev/guetzli","version":"1.1.0","keywords":["guetzli","image-compression","image","img","jpeg","jpg","optimize","compress","minify"],"author":{"url":"https://github.com/343dev","name":"Andrey Warkentin"},"license":"Apache-2.0","_id":"@343dev/guetzli@1.1.0","maintainers":[{"name":"343dev","email":"343dev@gmail.com"}],"homepage":"https://github.com/343dev/guetzli#readme","bugs":{"url":"https://github.com/343dev/guetzli/issues"},"bin":{"guetzli":"cli.js"},"dist":{"shasum":"0a98bc1becc6d67b71c9fae18d7b5dc88d7ec566","tarball":"https://registry.npmjs.org/@343dev/guetzli/-/guetzli-1.1.0.tgz","fileCount":12,"integrity":"sha512-mcarbcAG2RnguYhQsbKmjQpvsRsCmvcjukqfy5MDIGVepj5BNOd6maFjoR45ePcyO7eqVYt2S6h34XGxc09DUA==","signatures":[{"sig":"MEYCIQDRNEKcIhalEDZN02WdnFbBTg9qZVt9Ne+hTChKs7ydXwIhAPlbofNznGQjvDQ5+sm6yVQ6Czh2iUCE7Xf3A0LztAsJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2269872},"type":"module","engines":{"node":">=18.17"},"exports":"./index.js","gitHead":"638aaafc18dd688ec1d42391a88768e254dcbfaa","scripts":{"lint":"npx eslint ./","postinstall":"node postinstall.js","update-git-hooks":"npx simple-git-hooks"},"_npmUser":{"name":"343dev","email":"343dev@gmail.com"},"repository":{"url":"git+https://github.com/343dev/guetzli.git","type":"git"},"_npmVersion":"10.8.2","description":"guetzli binary wrapper","directories":{},"lint-staged":{"*.js":["eslint --fix"]},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.13.0","lint-staged":"^15.5.0","simple-git-hooks":"^2.12.1","@343dev/eslint-config":"^2.0.0"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/guetzli_1.1.0_1744278841345_0.2579433831153255","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@343dev/guetzli","version":"1.2.0","keywords":["guetzli","image-compression","image","img","jpeg","jpg","optimize","compress","minify"],"author":{"url":"https://github.com/343dev","name":"Andrey Warkentin"},"license":"Apache-2.0","_id":"@343dev/guetzli@1.2.0","maintainers":[{"name":"343dev","email":"343dev@gmail.com"}],"homepage":"https://github.com/343dev/guetzli#readme","bugs":{"url":"https://github.com/343dev/guetzli/issues"},"bin":{"guetzli":"cli.js"},"dist":{"shasum":"746156679174e6fede016230986d4d27aa687e30","tarball":"https://registry.npmjs.org/@343dev/guetzli/-/guetzli-1.2.0.tgz","fileCount":12,"integrity":"sha512-GswMS7rhpMw8eLSvTtspZG0PsbcyjtvhrcMO8ayzA4gp9gt2bTF7+LuLIr7Yycgz1xYgolcMJ8Y68ZwXjaJHrQ==","signatures":[{"sig":"MEUCIQCpNhZ47vNcCx2FMC0UFpH8YqO+ogFETOmoie6Sc4fANQIgc5YWEFNdQOl0WonZ77kMxAhEOprYly1N1zb9cSolSRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3470408},"type":"module","engines":{"node":">=18.17"},"exports":"./index.js","gitHead":"a341dfc14b078307dc7842a171d1dbaee7bbff78","scripts":{"lint":"npx eslint ./","postinstall":"node postinstall.js","update-git-hooks":"npx simple-git-hooks"},"_npmUser":{"name":"343dev","email":"343dev@gmail.com"},"repository":{"url":"git+https://github.com/343dev/guetzli.git","type":"git"},"_npmVersion":"11.6.2","description":"guetzli binary wrapper","directories":{},"lint-staged":{"*.js":["eslint --fix"]},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"9.39.2","lint-staged":"16.2.7","simple-git-hooks":"2.13.1","@343dev/eslint-config":"4.0.0"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/guetzli_1.2.0_1767323321210_0.013384494821643278","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@343dev/guetzli","version":"1.3.0","description":"guetzli binary wrapper","keywords":["guetzli","image-compression","image","img","jpeg","jpg","optimize","compress","minify"],"license":"Apache-2.0","author":{"name":"Andrey Warkentin","url":"https://github.com/343dev"},"repository":{"type":"git","url":"git+https://github.com/343dev/guetzli.git"},"type":"module","engines":{"node":">=18.17"},"bin":{"guetzli":"cli.js"},"exports":"./index.js","scripts":{"lint":"npx eslint ./","update-git-hooks":"npx simple-git-hooks"},"devDependencies":{"@343dev/eslint-config":"4.0.0","eslint":"9.39.2","lint-staged":"16.2.7","simple-git-hooks":"2.13.1"},"lint-staged":{"*.js":["eslint --fix"]},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"gitHead":"b2fd55302145d36df9a89e0f30c0a0cc2fa0145e","_id":"@343dev/guetzli@1.3.0","bugs":{"url":"https://github.com/343dev/guetzli/issues"},"homepage":"https://github.com/343dev/guetzli#readme","_nodeVersion":"24.14.1","_npmVersion":"11.17.0","dist":{"integrity":"sha512-vIOlor+UtNf22IxMj9sQPc/BAwxdpiDVDg7a8kUCkgjuokcHlfYDlS0DeDsB5Nf75HtDXub6zDfPWVUNzNHwIQ==","shasum":"fafc6824bf0e94939a8d169f66c11fbe749b3e4f","tarball":"https://registry.npmjs.org/@343dev/guetzli/-/guetzli-1.3.0.tgz","fileCount":11,"unpackedSize":3470448,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDe1dkHvK8oKEthO0+COU2kqgoEKvAlZdrstJ7FP8lI3wIhAP7czw3SI/PXETY8nV0p6qmDuWMYI6UD0kExcB6wA42Z"}]},"_npmUser":{"name":"343dev","email":"343dev@gmail.com"},"directories":{},"maintainers":[{"name":"343dev","email":"343dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/guetzli_1.3.0_1782384837835_0.8144531091640967"},"_hasShrinkwrap":false}},"time":{"created":"2024-10-22T10:36:59.034Z","modified":"2026-06-25T10:53:58.124Z","1.0.0":"2024-10-22T10:36:59.389Z","1.0.1":"2024-10-22T11:23:15.143Z","1.1.0":"2025-04-10T09:54:01.626Z","1.2.0":"2026-01-02T03:08:41.463Z","1.3.0":"2026-06-25T10:53:58.029Z"},"bugs":{"url":"https://github.com/343dev/guetzli/issues"},"author":{"name":"Andrey Warkentin","url":"https://github.com/343dev"},"license":"Apache-2.0","homepage":"https://github.com/343dev/guetzli#readme","keywords":["guetzli","image-compression","image","img","jpeg","jpg","optimize","compress","minify"],"repository":{"type":"git","url":"git+https://github.com/343dev/guetzli.git"},"description":"guetzli binary wrapper","maintainers":[{"name":"343dev","email":"343dev@gmail.com"}],"readme":"# @343dev/guetzli\n\n<img align=\"right\" width=\"64\" height=\"64\"\n     alt=\"Guetzli avatar: A graphic representation of a round biscuit with a scalloped edge, yellow in color, and topped with three evenly spaced red circles.\"\n     src=\"./logo.svg\">\n\n[![npm](https://img.shields.io/npm/v/@343dev/guetzli.svg)](https://www.npmjs.com/package/@343dev/guetzli)\n\n[google/guetzli](https://github.com/google/guetzli) binary wrapper for Node.js\n\nSupported:\n- OS platform: `darwin`, `linux`, `win32`.\n- CPU architecture: `arm64`, `x64`.\n\n## Introduction\n\nGuetzli is a JPEG encoder that aims for excellent compression density at high visual quality. Guetzli-generated images are typically 20-30% smaller than images of equivalent quality generated by libjpeg. Guetzli generates only sequential (nonprogressive) JPEGs due to faster decompression speeds they offer.\n\n## Usage\n\nInstall:\n\n```sh\nnpm i -g @343dev/guetzli\n```\n\nCompress:\n\n```sh\nguetzli [flags] input_filename output_filename\n# or\ncat image.jpg | guetzli - - > result.jpg\n```\n\n## Command line flags\n\n- `--verbose` — Print a verbose trace of all attempts to standard output.\n- `--quality Q` — Visual quality to aim for, expressed as a JPEG quality value (in units equivalent to libjpeg quality).\n- `--memlimit M` — Memory limit in MB. Guetzli will fail if unable to stay under the limit. Default is 6000 MB.\n- `--nomemlimit` — Do not limit memory usage.\n\n## Notes\n\nGuetzli uses a large amount of memory. You should provide 300MB of memory per 1MPix of the input image.\n\nGuetzli uses a significant amount of CPU time. You should count on using about 1 minute of CPU per 1 MPix of input image.\n\nGuetzli assumes that input is in **sRGB profile** with a **gamma of 2.2**. Guetzli will ignore any color-profile metadata in the image.\n\nGuetzli is designed to work on high quality images. You should always prefer providing uncompressed input images (e.g. that haven't been already compressed with any JPEG encoders, including Guetzli). While it will work on other images too, results will be poorer. You can try compressing an enclosed sample high quality image.\n\nJPEG images do not support alpha channel (transparency). If the input is a PNG with an alpha channel, it will be overlaid on black background before encoding.\n\n","readmeFilename":"README.md"}