WEBP 변환 자동화: PNG 일괄 변환·리사이즈 완벽 가이드

이미지 최적화는 웹사이트 속도 향상과 SEO에 매우 중요합니다. 특히 WEBP 포맷은 용량을 줄이면서도 높은 퀄리티를 유지하기 때문에, 대량의 PNG·JPEG·GIF 파일을 일괄로 WEBP로 변환하는 방법을 알아두면 효율적입니다. 이 글에서는 ImageMagick을 활용한 수동 변환부터 배치 파일(.bat)을 이용한 일괄 자동화, 폴더 감시 스크립트를 통한 실시간 변환까지, 다양한 방법을 단계별로 정리했습니다. 또한 가로×세로 크기를 900×600처럼 강제 조정하는 방법까지 함께 다룹니다.

1. 필수 준비물

  • Windows 64비트 환경
  • ImageMagick 설치
    ImageMagick 다운로드 페이지에서 ImageMagick-7.*-Q8-x64-static.exe 버전을 받아 설치
    – 설치 시 반드시 “Add application directory to your system path” 옵션을 체크
    – 설치 확인: CMD 또는 PowerShell에서 magick -version 명령어를 입력하여 버전 정보가 출력되면 정상 설치 완료
  • 원본 이미지 폴더 (예: C:\png_webp_files)
  • 결과 저장용 폴더
    – 900×506용: C:\webp_output
    – 900×600용: C:\webp_output_900x600

2. 수동으로 한 폴더 안 모든 이미지 일괄 변환

2.1 같은 폴더에 WEBP 생성 (간단 명령어)

  1. CMD(명령 프롬프트) 또는 PowerShell 실행
  2. 원본 이미지 폴더로 이동
    cd /d C:\png_webp_files
  3. 모든 PNG 파일을 같은 폴더 내 WEBP로 변환
    magick mogrify -format webp *.png
    • 변환 후 image1.pngimage1.webp, photoA.pngphotoA.webp 형태로 같은 폴더에 생성
    • 원본 PNG는 그대로 유지

2.2 별도 폴더에 WEBP 모아서 생성

  1. 결과 폴더 생성 (한 번만)
    mkdir C:\webp_output
  2. 원본 폴더로 이동
    cd /d C:\png_webp_files
  3. 모든 PNG 파일을 C:\webp_output에 WEBP로 변환
    magick mogrify -path C:\webp_output -format webp *.png
    • 결과:
      – 원본 폴더(C:\png_webp_files)에는 PNG만 남아 있고,
      – WEBP 파일은 전부 C:\webp_output에 저장됨

3. 배치 파일(.bat)로 클릭 한 번에 변환 자동화

3.1 배치 파일 생성 및 내용

  1. 배치 파일명:
    C:\png_webp_files\convert_all_to_webp_900x600.bat
  2. 메모장으로 열어 아래 스크립트를 붙여넣고 저장
    @echo off
    
    rem ──────────────────────────────────────────────────────
    rem   모든 주요 이미지 파일을 강제 크기 900×600으로 리사이즈 후 WEBP로 변환
    rem ──────────────────────────────────────────────────────
    
    magick mogrify ^
      -path C:\webp_output_900x600 ^
      -resize 900x600! ^
      -format webp ^
        C:\png_webp_files\*.png    ^
        C:\png_webp_files\*.jpg    ^
        C:\png_webp_files\*.jpeg   ^
        C:\png_webp_files\*.bmp    ^
        C:\png_webp_files\*.gif    ^
        C:\png_webp_files\*.tif    ^
        C:\png_webp_files\*.tiff
    
    exit
    • -path C:\webp_output_900x600: 최종 WEBP 파일을 C:\webp_output_900x600에 저장
    • -resize 900x600!: 비율 무시하고 강제 900×600 픽셀로 리사이즈
    • -format webp: WEBP 포맷으로 출력
    • 와일드카드(*.png, *.jpg 등)로 한 번에 모든 확장자 파일 변환
    • 마지막 exit으로 작업 완료 즉시 CMD 창 자동 종료
  3. 원본 폴더에 샘플 이미지 넣기 (테스트용)

3.2 배치 파일 실행

  • C:\png_webp_files 폴더에 PNG·JPG·BMP·GIF·TIF 파일을 넣은 후,
  • convert_all_to_webp_900x600.bat 파일을 더블클릭 → 변환 완료 후 CMD 창 자동 종료
  • 결과는 C:\webp_output_900x600 폴더에서 확인 가능

4. 바로가기(Shortcut)를 생성하여 작업표시줄에 고정하기

  1. 바탕화면에서 바로가기 만들기
    – 빈 공간 우클릭 → “새로 만들기 → 바로 가기”
    – 위치 입력에 아래 경로 붙여넣기:
    C:\Windows\System32\cmd.exe /c "C:\png_webp_files\convert_all_to_webp_900x600.bat"
    (/c 옵션 덕분에 변환 후 CMD 창이 자동으로 닫힙니다)
    – 바로가기 이름 예: PNG→WEBP 900×600“마침”
  2. 아이콘 변경(선택)
    – 만든 바로가기 우클릭 → 속성 → 아이콘 변경 → 원하는 아이콘 선택 → 확인
  3. 작업표시줄에 고정
    – 바로가기 위에서 우클릭 → 작업 표시줄에 고정 → 클릭 한 번으로 실행 가능

5. 폴더 감시 스크립트로 실시간 자동 변환 (선택)

수동이나 배치 파일보다 더 편리하게, 폴더에 이미지 파일을 넣는 즉시 자동으로 WEBP로 변환하고 싶다면, PowerShell의 FileSystemWatcher를 활용하면 됩니다.

# ───────────────────────────────────────────
# watch-convert.ps1
# PNG, JPG 등 파일을 감시하여 900×600 WEBP 자동 변환
# ───────────────────────────────────────────
param(
    [string] $WatchFolder  = "C:\png_webp_files",
    [string] $OutputFolder = "C:\webp_output_900x600"
)

# 1) OutputFolder가 없으면 생성
if (-Not (Test-Path $OutputFolder)) {
    New-Item -ItemType Directory -Path $OutputFolder | Out-Null
}

# 2) FileSystemWatcher 생성(.png, .jpg 등 감시)
$fsw = New-Object System.IO.FileSystemWatcher
$fsw.Path               = $WatchFolder
$fsw.Filter             = "*.*"
$fsw.IncludeSubdirectories = $false
$fsw.EnableRaisingEvents   = $true

# 3) 파일 생성(Created) 시 바로 변환
$action = {
    $fullPath = $Event.SourceEventArgs.FullPath
    $ext      = [System.IO.Path]::GetExtension($fullPath).ToLower()
    # 변환 가능한 확장자 목록
    if ($ext -in ".png", ".jpg", ".jpeg", ".bmp", ".gif", ".tif", ".tiff") {
        $baseName = [System.IO.Path]::GetFileNameWithoutExtension($fullPath)
        $destPath = Join-Path $Event.Sender.OutputFolder ("$baseName.webp")
        Start-Process -FilePath "magick" -ArgumentList @(
            "convert", "`"$fullPath`"", "-resize", "900x600!", "`"$destPath`""
        ) -NoNewWindow -Wait
    }
}

# 4) 이벤트 핸들러 등록
Register-ObjectEvent -InputObject $fsw `
    -EventName Created `
    -Action $action | Out-Null

# 5) 스크립트 계속 실행 대기
Write-Host "자동 감시 ON: $WatchFolder → $OutputFolder"
while ($true) { Start-Sleep -Seconds 1 }
  • 스크립트를 C:\auto_convert\watch-convert.ps1에 저장
  • PowerShell(관리자) 실행
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    cd /d C:\auto_convert
    .\watch-convert.ps1
  • 이제 C:\png_webp_files 폴더에 JPG·PNG 등을 넣는 즉시 900×600 강제 리사이즈 → WEBP 변환 작업 수행 결과는 C:\webp_output_900x600 폴더에 바로 생성
  • PowerShell 창을 닫으면 감시가 중단되니 항상 백그라운드로 켜 두세요.

6. 주요 방법 비교 테이블

방법 장점 단점
magick mogrify -format webp 설치만 하면 바로 가능
간단 명령어 한 줄
변환 후 PNG·WEBP 혼합
매번 명령어 입력 필요
magick mogrify -path … 결과 폴더 분리로 정리 용이
여러 폴더 관리
여전히 매번 명령어 입력해야 함
배치 파일(.bat) 클릭 한번으로 실행
exit로 자동 종료 지원
배치 내용 수정 시 재저장 필요
폴더 감시 스크립트 실시간 자동 변환
파일 넣기만 하면 OK
PowerShell 창을 항상 켜 두어야 함
설정 복잡
작업표시줄 바로가기 바로 실행 가능
CMD 창 없이도 변환
바로가기 경로·내용 오류 시 실패

7. 자주 묻는 질문

1. “비율 유지” vs “강제 크기”
-resize 900x600 (느낌표 없이): 비율 유지하면서 최대 너비 900, 최대 높이 600 적용
-resize 900x600! (느낌표 붙임): 비율 무시하고 강제로 900×600으로 조정

2. 원본 폴더 내 이미지가 너무 많을 때
mogrify는 한 번에 전체 파일 처리
– 수천~수만 장 변환 시 시간이 오래 걸릴 수 있음
– 하위 폴더까지 재귀 처리하려면 별도 스크립트 또는 for /R 배치문 활용

3. Quality(품질) 조정
– 기본 품질은 약 75~80 정도
– 더 높은 화질 원할 경우 -quality 90 옵션 추가 가능
magick mogrify -path C:\webp_output -resize 900x600! -quality 90 -format webp C:\png_webp_files\*.png

4. 파일 이름에 공백(스페이스) 있을 때
– 전체 경로를 큰따옴표("…")로 감싸야 오류 발생하지 않음
magick mogrify -path "C:\webp output folder" -resize 900x600! -format webp "C:\png webp files\*.png"

5. 폴더 감시 스크립트가 작동하지 않을 때
– PowerShell 실행 정책(Set-ExecutionPolicy -Scope Process Bypass) 허용 여부 확인
watch-convert.ps1 내부 경로($WatchFolder, $OutputFolder)가 실제 폴더와 일치하는지 확인
– PowerShell 창이 켜진 상태인지 확인 (닫히면 감시 중단)

마무리

위의 5가지 주요 방법을 통해 “PNG·JPG·BMP·GIF·TIF 등 모든 이미지 파일을 900×600으로 강제 리사이즈 → WEBP 포맷으로 일괄 변환”까지 깔끔하게 자동화할 수 있습니다.

  • 수동 명령어로 빠르게 테스트
  • 배치 파일(.bat)로 클릭 한 번만에 변환
  • 폴더 감시 스크립트로 원본 폴더에 넣는 즉시 자동 변환
  • 작업표시줄 바로가기로 언제든 빠르게 실행

이제 SEO 친화적인 최적화된 이미지를 손쉽게 생성하여, 웹사이트 속도 개선과 검색엔진 노출(CTR 상승)에 적극 활용해 보세요!