본문 바로가기
파이썬/파이썬 기초

파이썬 WEBP를 JPG, PNG로 변환하는 방법

by 이박수 2025. 5. 11.

소개

이번엔 파이썬으로 WebP 이미지를 JPG랑 PNG로 바꾸는 방법 알아보도록 하자. PIL 라이브러리를 써서 변환하려고 한다.

WebP 이미지 이해하기

WebP는 손실 압축과 무손실 압축을 지원하는 이미지 포맷이다. 구글이 2010년에 만든 건데, 웹에서 널리 쓰이는 포맷으로 자리 잡았고, WebP의 핵심 장점은 파일 크기를 줄이면서도 화질을 유지하기때문에 그래서 특히 많은 이미지를 로드해야 하는 웹사이트에 많이 사용하고 있다.

JPG와 PNG 이미지 이해하기

JPG랑 PNG는 웹에서 가장 많이 쓰이는 이미지 포맷 중 하나지만 JPG는 손실 포맷이라 압축할 때 일부 이미지 데이터가 지워져서 파일 크기가 작아진다. 반면 PNG는 무손실 포맷이라 압축해도 이미지 데이터를 하나도 잃지 않는다. 그래서 로고나 그래픽 같은 고화질 출력이 필요한 이미지에 많이 쓰인다.

파이썬으로 WebP 이미지를 JPG, PNG로 변환하기

WebP 이미지를 파이썬으로 JPG랑 PNG로 바꾸려면 PIL 라이브러리를 사용해야 한다.. 이 라이브러리는 파이썬에서 이미지 파일을 다루기 쉽게 해주기 때문에 여러가지 프로젝트에 많이 사용되고 있기때문에 사용법을 익혀두면 도움이 될 것이다.

먼저 PIL 라이브러리를 설치해보자

pip install pillow

설치가 끝나면 코드에서 라이브러리를 쓸 수 있다.. WebP 이미지 파일을 열고 convert() 메소드로 JPG랑 PNG로 변환할 거기때문에 convert() 메소드는 입력 파일 이름과 출력 파일 이름 두 가지 인자를 받아서 생성하도록 구현해보자

from PIL import Image

# WebP 이미지 파일 열기
with open("input_image.webp", "rb") as f:
    webp_image = Image.open(f)

# JPG 포맷으로 변환
jpg_image = webp_image.convert("RGB")
jpg_image.save("output_image.jpg")

# PNG 포맷으로 변환
png_image = webp_image.convert("RGBA")
png_image.save("output_image.png")

위 코드에서 먼저 open() 함수로 WebP 이미지 파일을 열고, Image.open() 메소드로 내용을 읽는다. 그 다음 convert() 메소드로 WebP 이미지를 "RGB" 모드로 지정해서 JPG로 바꾸고, save() 메소드로 새 파일에 저장하면 된다. 상당히 쉽다

마찬가지로 "RGBA" 모드로 지정해서 WebP 이미지를 PNG로 변환하는것도 동일하다. 확장자만 png로 변경하면 된다. 간단하다.

결론

이번 포스팅은 파이썬에서 PIL 라이브러리를 써서 WebP 이미지를 JPG랑 PNG로 바꾸는 방법을 구현해봤다. WebP 이미지의 장점과 JPG, PNG 포맷의 차이점을 확인하고 원하는 형태로 바꿔보도록 하자. 이 튜토리얼의 단계를 따라가면 웹사이트나 앱에서 쓸 수 있도록 WebP 이미지를 다른 포맷으로 쉽게 바꿀 수 있을 것이다.