heic2jpg
Convert HEIC files to JPG on macOS, with an optional watch mode for auto-conversion.
A thin Go wrapper around macOS's built-in sips command, plus an fsnotify-powered watcher that converts HEIC files automatically as they appear in a folder (e.g. ~/Downloads).
Requirements
- macOS (uses the system
sips command)
- Go 1.21+ if installing from source
Install
Homebrew
brew tap hirune05/tap
brew install heic2jpg
go install
go install github.com/hirune05/heic2jpg@latest
Usage
Convert specific files:
heic2jpg photo1.HEIC photo2.HEIC
Convert every HEIC in the current directory:
heic2jpg --all
Watch a folder and auto-convert any HEIC dropped into it (defaults to ~/Downloads):
heic2jpg --watch
heic2jpg --watch /path/to/folder
Output is written next to the input as name.jpg. If name.jpg already exists, the file is skipped (no overwrite).
Run on login (optional)
To keep the watcher running automatically, create a launchd agent at ~/Library/LaunchAgents/com.hirune05.heic2jpg.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.hirune05.heic2jpg</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/heic2jpg</string>
<string>--watch</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Then load it:
launchctl load ~/Library/LaunchAgents/com.hirune05.heic2jpg.plist
License
MIT