Skip to main content

Fast HEIC to JPEG converter.

Project description

heic2jpg

heic2jpg is a fast HEIC to JPEG converter designed to resolve the compatibility gap between iPhone image files and common desktop workflows. Conversion runs in parallel across worker threads using pillow-heif for fast, in-process decoding in macOS, Linux or Windows.

🚀 Installation

  1. Install the uv package manager with the official installer (or brew install uv on macOS / Linux).

  2. Install the tool:

uv tool install heic2jpg

📖 Usage

Convert a single file:

heic2jpg path/to/photo.HEIC

Convert all files in directory:

heic2jpg path/to/photo/album

Convert all files in current directory:

heic2jpg

Other options:

  -q, --quality [1-100]] : Target quality (default: 30)
  -k, --keep             : Keep originals (default: delete after conversion)
  -f, --force            : Overwrite existing .jpg

📊 Performance

pillow-heif's C code releases the Python's GIL during HEIF decode and JPEG encode. The default ThreadPoolExecutor therefore gets full CPU parallelism with no per-worker process startup cost. That offers almost 7x the speed of traditional ImageMagick workflows.

Version Backend 100 files
heic2jpg 2.0.0 pillow-heif ~2.3s
heic2jpg 1.1.0 ImageMagick ~15.5s

Note: absolute throughput will vary with CPU and disk speed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

heic2jpg-2.0.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

heic2jpg-2.0.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file heic2jpg-2.0.0.tar.gz.

File metadata

  • Download URL: heic2jpg-2.0.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for heic2jpg-2.0.0.tar.gz
Algorithm Hash digest
SHA256 8de66dbf27fe605ebb3da3d36329ddf911edcab51dd09c9fabbd8446ad592129
MD5 e73fd9163be29049d4e177d70a05a93d
BLAKE2b-256 dcbb1c853a93481dee3952840bce5ea4c15b7dffdaac5f426adca5c373d80f96

See more details on using hashes here.

File details

Details for the file heic2jpg-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: heic2jpg-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for heic2jpg-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7350004476f8886ade0e409789e665a05d8dc1e3a85a534f5fdfe1a918031f2d
MD5 972e9500537f98eb95458fd1cba4ab85
BLAKE2b-256 f2385758f96534273f7a7efcc2e87b76173523408cddc29cad5bf99cd7bc1d44

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page