일괄 처리가 필요한 순간
이미지 한두 장은 금방이지만, 현실에서는 수십에서 수천 장을 다루는 경우가 빈번합니다. 쇼핑몰에 상품 사진 200장 등록, 행사 촬영본 500장 납품, 마케팅팀에서 15가지 크기의 SNS 에셋 제작 — 이걸 하나씩 열어서 처리하면 몇 시간이고 날아갑니다.
일괄 처리는 작업을 한 번 정의하면 모든 파일에 자동 적용됩니다. 이미지 1장에 2분 걸리는 작업이 1,000장이어도 사실상 같은 시간이면 끝납니다.
포맷 변환 대량 작업
가장 흔한 일괄 작업 중 하나가 폴더 전체의 포맷을 바꾸는 것입니다. 사이트의 JPG를 WebP로 마이그레이션하거나, 클라이언트가 보낸 TIFF를 웹용으로 바꾸거나, PNG 묶음을 이메일용 JPG로 만들거나.
핵심 결정은 품질 설정입니다. 무손실(PNG, TIFF)에서 손실(JPG, WebP)로 변환할 때는 용량과 화질의 균형점을 잡아야 합니다. 사진이라면 품질 80~85가 무난합니다. 텍스트나 선명한 경계가 있는 그래픽은 90~95 또는 PNG 유지가 낫습니다.
손실 포맷 간 변환(JPG→WebP)에서는 낮은 품질로 재압축하면 안 됩니다. 손실 압축을 반복할 때마다 화질이 떨어지니까요. 가능한 최고 품질의 원본에서 변환하고, 중간 정도의 압축 설정을 쓰는 게 좋습니다.
일괄 리사이즈 패턴
이미지를 대량으로 리사이즈하는 패턴은 몇 가지로 나뉩니다.
고정 크기
모든 이미지를 1200x800으로 통일하는 방식입니다. 비율이 같은 이미지들이거나, 약간의 크롭을 감수하고 균일한 크기가 필요할 때 적합합니다. 쇼핑몰 상품 그리드가 대표적인 예입니다.
한 축 기준
너비를 1200px로 고정하고 높이는 비율에 맞춰 자동 조정하는 방식입니다. 비율이 유지되면서 한 축은 일관됩니다. 블로그 글 이미지나 포트폴리오 갤러리에서 많이 씁니다.
비율 축소
원본의 50%로 일괄 줄이는 방식입니다. 크기가 제각각인 이미지를 비례적으로 줄여야 할 때 유용합니다. 프레젠테이션용 스크린샷을 줄이는 경우가 전형적이죠.
다중 출력
하나의 입력에서 여러 크기를 동시에 생성합니다. 한 번의 실행으로 썸네일(200px), 중간(600px), 큰(1200px), 풀사이즈(2400px) 버전이 나옵니다. 반응형 웹 디자인에서 뷰포트별 적절한 크기가 필요할 때 필수적인 방식입니다.
대량 압축 전략
수백 장을 압축할 때 단일 품질 설정이 최적이 아닐 수 있습니다. 디테일이 많은 풍경 사진은 공격적인 압축에도 아티팩트가 잘 안 보이지만, 흰 배경의 상품 사진이나 스크린샷에는 같은 설정에서 더 눈에 띕니다.
현실적인 방법은 보수적인 품질(80~85)로 먼저 처리하고, 무작위로 10~20장 열어서 확인하는 겁니다. 아티팩트가 보이면 품질을 올려서 재처리하면 됩니다.
일부 도구는 지각적 품질 모드를 제공합니다. 고정 숫자가 아니라 각 이미지를 분석해서 목표 시각 품질에 맞는 압축률을 자동으로 적용합니다. 다양한 이미지가 섞여 있을 때 더 일관된 결과를 냅니다.
파일 이름 규칙
이름 규칙 없이 일괄 처리하면 금세 혼란에 빠집니다. 시작하기 전에 패턴을 정하세요.
작업 내용을 이름에 반영하거나(photo-001-1200w.webp), 하위 폴더로 분류하거나(originals/, thumbnails/, web/), 원본 파일명을 유지하면서 확장자와 크기 표시만 바꾸는 방식이 효과적입니다.
원본을 덮어쓰지 마세요. 항상 별도 디렉터리에 출력하거나, 처리된 파일임을 구분할 수 있는 이름 패턴을 쓰세요.
자동화 팁
작업을 체이닝하면 효율이 극대화됩니다. 리사이즈, 포맷 변환, 메타데이터 제거, 이름 변경을 한 번의 파이프라인으로 처리할 수 있습니다.
자주 쓰는 워크플로는 프리셋으로 만들어 두세요. "블로그 이미지"라면 1200px 리사이즈, WebP 품질 82, EXIF 제거를 한 묶음으로 저장해서 클릭 한 번으로 적용하면 됩니다.
반복 작업에는 감시 폴더도 유용합니다. 입력 폴더에 원본을 넣으면 자동으로 처리되어 출력 폴더에 나타나게 하면, 비기술 팀원도 편하게 이미지를 준비할 수 있습니다.
처리 후에는 반드시 검증하세요. 파일 수가 맞는지, 시각 품질은 괜찮은지, 용량이 예상 범위 안에 있는지 확인합니다. 출력 파일의 크기와 용량을 나열하는 간단한 스크립트만으로도 문제를 사전에 잡을 수 있습니다.