Skip to main content

heic2jpg

PyPI Version OS Ruff ty CI codecov

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.

🚀 Installation

  1. Install the uv package manager with the official installer, or:
  • macOS: brew install uv
  • Windows: winget install astral-sh.uv
  • Linux (Debian): apt-get install uv
  1. Install the tool:
uv tool install heic2jpg
  1. Test the installation (if the command is not recognised try uv tool update-shell and restart your terminal):
heic2jpg --version

Alternative (macOS only)

Install with Homebrew: brew install lucuma13/dit/heic2jpg

📖 Usage examples

Convert a single file:

heic2jpg path/to/photo.HEIC

Convert all files in directory:

heic2jpg path/to/photo/album
heic2jpg                        # current directory

Convert all files in current directory recursively, preserving metadata and timestamps:

heic2jpg -Rmt

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.

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.3.0.tar.gz (35.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.3.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: heic2jpg-2.3.0.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for heic2jpg-2.3.0.tar.gz
Algorithm Hash digest
SHA256 a941b5c74a22f1475667f877502e7e4738f93fa6364dc6d50723bcdfeb23d6dd
MD5 abb59fa5e0adc20cbb2a16c8078397d3
BLAKE2b-256 6875aff96a4bc6d357678246bf59ea2ea931c00c5991af50c3fe193d657fbf32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: heic2jpg-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for heic2jpg-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 829b3c76a9a0a9594401feb4d8afe26ce65a9f43338b4cba0635dfaf14ad86b6
MD5 99affa5f588f44559b977e347f86935b
BLAKE2b-256 336e8f99e0a9097eae7d686fa27863a23b07e8a7ae164907114e83eb4fd64e69

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.3.0 This release

2 files

2.2.1

2 files

2.2.0

2 files

2.1.0

2 files

2.0.0

2 files

Supported by

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