{"id":15653718,"url":"https://github.com/jamiemason/image-optimisation-tools-comparison","last_synced_at":"2025-04-30T21:49:32.780Z","repository":{"id":20205624,"uuid":"23477059","full_name":"JamieMason/image-optimisation-tools-comparison","owner":"JamieMason","description":"A Benchmarking Suite for popular Image Optimisation Tools","archived":false,"fork":false,"pushed_at":"2021-05-10T15:37:23.000Z","size":49279,"stargazers_count":28,"open_issues_count":9,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-30T21:49:15.384Z","etag":null,"topics":["codekit","image-optimisation","imagealpha","imagemagick","imagemin","imageoptim","jpegmini","kraken","photoshop","pngquant","ssim","tinypng","webperf"],"latest_commit_sha":null,"homepage":"https://foldleft.io/image-tools","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JamieMason.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"open_collective":"fold_left","custom":["https://www.paypal.me/foldleft"]}},"created_at":"2014-08-29T20:36:53.000Z","updated_at":"2023-04-14T18:15:08.000Z","dependencies_parsed_at":"2022-09-03T21:24:29.167Z","dependency_job_id":null,"html_url":"https://github.com/JamieMason/image-optimisation-tools-comparison","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamieMason%2Fimage-optimisation-tools-comparison","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamieMason%2Fimage-optimisation-tools-comparison/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamieMason%2Fimage-optimisation-tools-comparison/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamieMason%2Fimage-optimisation-tools-comparison/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamieMason","download_url":"https://codeload.github.com/JamieMason/image-optimisation-tools-comparison/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251789307,"owners_count":21644081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codekit","image-optimisation","imagealpha","imagemagick","imagemin","imageoptim","jpegmini","kraken","photoshop","pngquant","ssim","tinypng","webperf"],"created_at":"2024-10-03T12:46:43.750Z","updated_at":"2025-04-30T21:49:32.762Z","avatar_url":"https://github.com/JamieMason.png","language":"TypeScript","funding_links":["https://opencollective.com/fold_left","https://www.paypal.me/foldleft"],"categories":[],"sub_categories":[],"readme":"# image-optimisation-tools-comparison\n\n\u003e A benchmarking suite for popular image optimisation tools.\n\n[![NPM version](http://img.shields.io/npm/v/image-optimisation-tools-comparison.svg?style=flat-square)](https://www.npmjs.com/package/image-optimisation-tools-comparison) [![NPM downloads](http://img.shields.io/npm/dm/image-optimisation-tools-comparison.svg?style=flat-square)](https://www.npmjs.com/package/image-optimisation-tools-comparison) [![Build Status](http://img.shields.io/travis/JamieMason/image-optimisation-tools-comparison/master.svg?style=flat-square)](https://travis-ci.org/JamieMason/image-optimisation-tools-comparison) [![Maintainability](https://api.codeclimate.com/v1/badges/a470dd5c2957de2ede65/maintainability)](https://codeclimate.com/github/JamieMason/image-optimisation-tools-comparison/maintainability)\n\n## Table of Contents\n\n-   [🌩 Installation](#-installation)\n-   [🕹 Usage](#-usage)\n-   [⚙️ Contributing](#️-contributing)\n-   [🚶🏽‍♀️ Manual Steps](#♀️-manual-steps)\n-   [🙋🏾‍♀️ Getting Help](#♀️-getting-help)\n-   [👀 Other Projects](#-other-projects)\n-   [🤓 Author](#-author)\n\n## 🌩 Installation\n\n    npm install image-optimisation-tools-comparison\n\n## 🕹 Usage\n\nThere are no runtime dependencies, `getResults()` parses and returns [`results.json`](./src/data/results.json).\n\n```ts\nimport { getResults } from \"image-optimisation-tools-comparison\";\n\nconst array = getResults();\n```\n\n## ⚙️ Contributing\n\nThe [pyssim](https://github.com/jterrace/pyssim) Python module is used to compute the **Structural Similarity Image Metric** (SSIM). It can be installed on Mac using `brew install python` then `pip install pyssim`.\n\nThe original, unoptimised images are located in [`/images/photoshop`](./images/photoshop). Each time a tool is tested, its directory (eg. [`/images/codekit`](./images/codekit)) is replaced with the original images from [`/images/photoshop`](./images/photoshop), the tool is then run over the images to update the benchmark.\n\n[`/images/worst`](./images/worst) is a copy of the original images at [`/images/photoshop`](./images/photoshop) which is then compressed to the worst possible image quality. This value lets us calculate the quality loss percentage for each image.\n\nEach time the [`/images`](./images) directory changes, [`/src/data/results.json`](./src/data/results.json) needs to be updated using `yarn update-results`.\n\nThese images used are exported from a .psd kindly given to us by [Daan Jobsis](http://www.twitter.com./daanjobsis) from his tests carried out for the article [Retina Revolution: Follow Up]\\(\u003chttp://blog.netvlies.nl/design-interactie\u003e /retina-revolutie-follow-up/), containing photographs of varying levels of detail, simple patterns, and logos.\n\nThe images are exported using \"Save for Web\" as;\n\n-   GIF (+Interlaced).\n-   JPEG (+Optimised, Progressive).\n-   PNG 8 (+Interlaced).\n-   PNG 24 (+Interlaced).\n\n## 🚶🏽‍♀️ Manual Steps\n\n-   [`/images/codekit`](./images/codekit) is compressed using \u003chttps://incident57.com/codekit/\u003e.\n-   [`/images/kraken`](./images/kraken) is uploaded using the File Uploader at \u003chttps://kraken.io/web-interface\u003e. The Zip file is then downloaded and extracted into this directory.\n-   [`/images/smushit`](./images/smushit) is uploaded one-by-one using the Uploader view at \u003chttp://www.smushit.com/ysmush.it\u003e. The Zip file is then downloaded and extracted into this directory.\n-   [`/images/tinypng`](./images/tinypng) is uploaded in batches of 20 at a time using the uploader at \u003chttps://tinypng.com\u003e, downloaded one-by-one then moved into this directory.\n\n## 🙋🏾‍♀️ Getting Help\n\nGet help with issues by creating a [Bug Report] or discuss ideas by opening a [Feature Request].\n\n[bug report]: https://github.com/JamieMason/image-optimisation-tools-comparison/issues/new?template=bug_report.md\n\n[feature request]: https://github.com/JamieMason/image-optimisation-tools-comparison/issues/new?template=feature_request.md\n\n## 👀 Other Projects\n\nIf you find my Open Source projects useful, please share them ❤️\n\n-   [**eslint-formatter-git-log**](https://github.com/JamieMason/eslint-formatter-git-log)\u003cbr\u003eESLint Formatter featuring Git Author, Date, and Hash\n-   [**eslint-plugin-move-files**](https://github.com/JamieMason/eslint-plugin-move-files)\u003cbr\u003eMove and rename files while keeping imports up to date\n-   [**eslint-plugin-prefer-arrow-functions**](https://github.com/JamieMason/eslint-plugin-prefer-arrow-functions)\u003cbr\u003eConvert functions to arrow functions\n-   [**ImageOptim-CLI**](https://github.com/JamieMason/ImageOptim-CLI)\u003cbr\u003eAutomates ImageOptim, ImageAlpha, and JPEGmini for Mac to make batch optimisation of images part of your automated build process.\n-   [**Jasmine-Matchers**](https://github.com/JamieMason/Jasmine-Matchers)\u003cbr\u003eWrite Beautiful Specs with Custom Matchers\n-   [**karma-benchmark**](https://github.com/JamieMason/karma-benchmark)\u003cbr\u003eRun Benchmark.js over multiple Browsers, with CI compatible output\n-   [**self-help**](https://github.com/JamieMason/self-help#readme)\u003cbr\u003eInteractive Q\u0026A Guides for Web and the Command Line\n-   [**syncpack**](https://github.com/JamieMason/syncpack#readme)\u003cbr\u003eManage multiple package.json files, such as in Lerna Monorepos and Yarn Workspaces\n\n## 🤓 Author\n\n\u003cimg src=\"https://www.gravatar.com/avatar/acdf106ce071806278438d8c354adec8?s=100\" align=\"left\"\u003e\n\nI'm [Jamie Mason] from [Leeds] in England, I began Web Design and Development in 1999 and have been Contracting and offering Consultancy as Fold Left Ltd since 2012. Who I've worked with includes [Sky Sports], [Sky Bet], [Sky Poker], The [Premier League], [William Hill], [Shell], [Betfair], and Football Clubs including [Leeds United], [Spurs], [West Ham], [Arsenal], and more.\n\n\u003cdiv align=\"center\"\u003e\n\n[![Follow JamieMason on GitHub][github badge]][github]      [![Follow fold_left on Twitter][twitter badge]][twitter]\n\n\u003c/div\u003e\n\n\u003c!-- images --\u003e\n\n[github badge]: https://img.shields.io/github/followers/JamieMason.svg?style=social\u0026label=Follow\n\n[twitter badge]: https://img.shields.io/twitter/follow/fold_left.svg?style=social\u0026label=Follow\n\n\u003c!-- links --\u003e\n\n[arsenal]: https://www.arsenal.com\n\n[betfair]: https://www.betfair.com\n\n[github]: https://github.com/JamieMason\n\n[jamie mason]: https://www.linkedin.com/in/jamiemasonleeds\n\n[leeds united]: https://www.leedsunited.com/\n\n[leeds]: https://www.instagram.com/visitleeds\n\n[premier league]: https://www.premierleague.com\n\n[shell]: https://www.shell.com\n\n[sky bet]: https://www.skybet.com\n\n[sky poker]: https://www.skypoker.com\n\n[sky sports]: https://www.skysports.com\n\n[spurs]: https://www.tottenhamhotspur.com\n\n[twitter]: https://twitter.com/fold_left\n\n[west ham]: https://www.whufc.com\n\n[william hill]: https://www.williamhill.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamiemason%2Fimage-optimisation-tools-comparison","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamiemason%2Fimage-optimisation-tools-comparison","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamiemason%2Fimage-optimisation-tools-comparison/lists"}