HEICをJPGに一括変換するPythonスクリプト|WordPress画像アップロードを簡単に

目次

HEICをJPGに一括変換する方法【Pythonスクリプトで簡単解決】

iPhoneで撮った写真の拡張子が「.heic」になっていて、WordPressにアップできない… そんな経験ありませんか?
HEIC形式は高画質&省容量というメリットがありますが、まだ対応していないサービスも多いのが現状です。

そこで今回は、Pythonを使ってHEIC画像を一括でJPGに変換する方法を解説します。
選んだフォルダ内のHEICをすべてJPGに変換し、元のHEICはバックアップとして@heicフォルダに退避する便利なスクリプトです。


なぜHEICをJPGに変換する必要があるのか?

  • WordPressやブログ投稿で使いやすい:JPGは互換性が高く、プラグイン不要でアップロード可能。
  • Webサービスとの相性:SNSやクラウドストレージでもJPGの方が確実に表示できる。
  • 印刷や資料作成に便利:JPGはOfficeソフトや印刷サービスでも標準的に利用できる。

HEICは優れた形式ですが、現時点では「変換して使う」のが実用的です。


環境構築:Python+.venvで始める

このスクリプトは Python 3.10以上 を推奨します。
仮想環境(.venv)を使うことで、環境を汚さず再現性も高くなります。

# プロジェクト用フォルダを作成
mkdir heic2jpg_tool
cd heic2jpg_tool

# 仮想環境を作成
python -m venv .venv

# 仮想環境を有効化
# Windows
.venv\Scripts\activate
# mac/Linux
source .venv/bin/activate

# 必要ライブラリをインストール
pip install pillow pillow-heif

requirements.txt にまとめておくと便利です👇

pillow
pillow-heif

Pythonスクリプト全文

これを heic_to_jpg_gui.py として保存してください。
フォルダ選択ダイアログ付きで、初心者でも安心して使えます。

import os
import shutil
import tkinter as tk
from tkinter import filedialog, messagebox
from PIL import Image
import pillow_heif

# HEIC対応を有効化
pillow_heif.register_heif_opener()

def convert_heic_in_directory(directory):
    heic_backup = os.path.join(directory, "@heic")
    os.makedirs(heic_backup, exist_ok=True)

    converted_count = 0
    skipped_count = 0

    for file_name in os.listdir(directory):
        if file_name.lower().endswith(".heic"):
            heic_path = os.path.join(directory, file_name)
            jpg_path = os.path.join(directory, os.path.splitext(file_name)[0] + ".jpg")

            try:
                with Image.open(heic_path) as img:
                    img.convert("RGB").save(jpg_path, "JPEG", quality=95)
                shutil.move(heic_path, os.path.join(heic_backup, file_name))
                converted_count += 1
            except Exception as e:
                print(f"❌ 変換失敗: {file_name}, 理由: {e}")
                skipped_count += 1

    messagebox.showinfo(
        "完了",
        f"変換完了!\n\n変換した枚数: {converted_count}\n失敗: {skipped_count}\n退避先: {heic_backup}"
    )

def main():
    root = tk.Tk()
    root.withdraw()  # メインウィンドウを非表示

    target_dir = filedialog.askdirectory(title="HEIC画像のあるフォルダを選択")
    if not target_dir:
        return

    convert_heic_in_directory(target_dir)

if __name__ == "__main__":
    main()

使い方

  1. 上記のコードを保存(例: heic_to_jpg_gui.py
  2. .venv を有効化して実行 python heic_to_jpg_gui.py
  3. フォルダ選択ダイアログが出るので、HEIC画像が入ったフォルダを指定
  4. 同じフォルダに .jpg が出力され、元の .heic@heic フォルダに自動退避

これでWordPressにすぐアップできるJPEG画像が一気に手に入ります。


まとめ

  • HEICはiPhone標準だけど互換性が低い
  • Pythonスクリプトで一括変換すれば、毎回の手間がゼロになる
  • .venvを使えば環境を壊さず、誰でも再現可能

この仕組みを導入すれば、「HEICをJPGに変換してからブログに載せる」作業が一瞬で終わるようになります。
特にWordPressブロガーや写真をよく使う人にとっては、かなり強力な自動化ツールになるはずです。


よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次