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

Convert all files in current directory preserving metadata and timestamps:

heic2jpg -mt

Other options:

  -q, --quality [1-100] Target quality (default: 30)
  -m, --metadata        Preserve EXIF metadata
  -t, --times           Preserve source file timestamps
  -k, --keep            Keep originals (default: delete after conversion)
  -R, --recursive       Recurse into subdirectories when a directory is given
  -f, --force           Overwrite existing .jpg outputs

📊 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 over 6x the speed of traditional ImageMagick workflows.

Version Backend 100 files
heic2jpg 2.0.0 pillow-heif ~2.5s
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.2.0.tar.gz (9.2 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.2.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: heic2jpg-2.2.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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.2.0.tar.gz
Algorithm Hash digest
SHA256 d1fd56c5486ebe7406f34d237c54058fe16c45152ab248a3950e34b287955d86
MD5 ece9ea857b27d878e00ca040097876d2
BLAKE2b-256 a9f116154762eea1e244d5d8c07bdde1a07cee918b9420b27b21cfff1991248d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: heic2jpg-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d1ae694de6a5730e9e4f209fcafc0e1cd1194ce43414b8274bc398e6e4781166
MD5 406cc2a2bea502eef2b5a46bd30ab132
BLAKE2b-256 906c397e6237b7486ea6d4f003cf0fdc7237f7903153d9c16b2128a4a9e408e7

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