Dev.to
6/15/2026

HEIC to JPEG on macOS in Rust — Using sips Without Reinventing the Wheel
Short summary
For HEIC-to-JPEG conversion on macOS in Rust, use the built-in sips command-line tool instead of bundling native libraries—it ships with every Mac, handles all HEIC variants natively, and produces Apple-quality output. Wrap execution in spawn_blocking for async Tauri commands. Use a 4-process Semaphore for parallel batch conversions—more than 6 concurrent processes shows diminishing returns on typical hardware.
- •sips is a macOS built-in command-line tool—requires zero bundling and works on Intel and Apple Silicon
- •Skip Rust crates for HEIC decoding; sips handles all variants better and adds no binary weight
- •Wrap in spawn_blocking for async code; use 4-process Semaphore for batching without diminishing returns
Generated with AI, which can make mistakes.
Is this a good recommendation for you?



