이미지 포맷 변환
이미지 한 장의 저장 포맷을 PNG·JPEG·WebP 사이에서 바꾸는 도구입니다. 투명도 지원 여부와 브라우저 호환성에 맞춰 확장자를 갈아 끼우고, 픽셀 크기는 원본 그대로 두며, 파일은 기기 밖으로 나가지 않습니다.
포맷을 바꾸는 이유는 대개 파일 크기가 아니라 호환성입니다. 투명 배경이 필요해 PNG로 남겨야 하거나, WebP를 읽지 못하는 환경까지 지원하려고 JPEG로 내보내야 하거나, 업로드 폼이 특정 확장자만 받아들이는 경우가 그렇습니다. 포맷보다 파일 크기가 문제라면, 여러 장을 한꺼번에 처리하고 전후 크기를 비교해 주는 이미지 압축 도구 쪽이 맞습니다.
포맷마다 지킬 수 있는 것이 다릅니다. PNG는 무손실이라 알파 채널과 선명한 경계선을 그대로 남기고, JPEG는 알파를 지원하지 않아 투명 픽셀이 지정한 배경색으로 메워지며, WebP는 투명도를 유지한 채 손실 인코딩으로 저장됩니다. 손실 포맷을 고르면 품질 값을 직접 조절할 수 있고 기본값이 92%로 잡혀 있어, 포맷만 갈아 끼우고 겉보기는 원본에 가깝게 남기는 쪽이 이 도구의 기본 동작입니다.
바뀌는 것은 저장 방식뿐이라 가로·세로 픽셀 수는 원본 그대로 유지되고, 해상도까지 손보려면 리사이즈 도구를 따로 거쳐야 합니다. 투명 배경을 JPEG로 내보낼 때는 빈자리를 채울 색을 직접 고를 수 있으니, 이미지가 놓일 배경과 같은 색을 지정하면 가장자리에 흰 테두리나 검은 테두리가 남지 않습니다. 오래된 브라우저가 WebP 저장을 지원하지 않으면 변환이 실패로 끝나고 안내 배너가 뜹니다. 브라우저가 다른 포맷으로 조용히 대체한 파일이 대신 저장되는 일은 없습니다.
알파를 담을 수 있는지가 세 포맷을 가르는 가장 큰 갈림길입니다. PNG와 WebP는 투명한 자리를 투명한 채로 담지만 JPEG에는 그 채널 자체가 없습니다. 손실이냐 무손실이냐와는 서로 다른 축이라, WebP처럼 손실로 인코딩하면서도 투명도는 지키는 조합이 성립합니다 — 투명 배경을 살려야 하는데 무손실 PNG를 받아 주지 않는 환경에서 고르는 자리가 바로 여기입니다.
붙는 확장자는 포맷마다 하나로 고정돼 있는데, 그중 JPEG만 이름과 확장자가 어긋납니다 — PNG는 .png, WebP는 .webp지만 JPEG는 .jpeg가 아니라 .jpg로 저장됩니다. 이름에서 떼어 내는 조각은 마지막 점 뒤 하나뿐이라 sprite.v2.final.gif는 sprite.v2.final.webp가 되고, 점으로 시작해 떼고 나면 남는 글자가 없는 이름은 image라는 이름으로 대신 채웁니다.
원본과 같은 포맷을 고르는 것도 막지 않습니다. 다만 그때는 저장 이름이 원본과 글자 하나 다르지 않게 나오므로, 품질만 달리 잡아 다시 인코딩한 결과를 원본과 견주어 볼 생각이라면 내려받는 자리를 따로 두는 편이 헷갈리지 않습니다.
투명한 자리를 메우는 방식은 지우고 칠하는 것이 아니라 덮어 그리는 것입니다. 고른 색으로 캔버스를 한 번 칠한 뒤 그 위에 이미지를 겹쳐 그리기 때문에, 완전히 투명한 자리만 그 색이 되는 것이 아니라 반투명한 가장자리도 그 색과 섞입니다. 처음 잡혀 있는 값이 흰색이라 어두운 화면에 얹을 로고를 그대로 내보내면 경계에 밝은 띠가 남고, 놓일 자리의 색을 미리 지정해 두면 그 띠가 사라집니다.
손실 포맷을 골랐을 때에만 품질 값이 인코더로 실려 나가고, 조절 폭은 5%에서 100%까지입니다. PNG를 고르면 값을 100으로 올려 보내는 것이 아니라 품질 인자 자체를 넘기지 않으므로, 슬라이더를 어디에 두었든 무손실이라는 성질이 흔들리지 않습니다.
픽셀 자체는 손대지 않습니다. 원본을 한 번 디코드해 같은 가로·세로의 캔버스에 배율 없이 그대로 그린 뒤 고른 포맷으로 인코딩하므로 잘림도 여백도 생기지 않습니다. 다만 원본 파일의 바이트를 고쳐 쓰는 것이 아니라 그려 낸 픽셀에서 새 파일을 짓는 방식이라, 촬영 정보(EXIF)처럼 픽셀 바깥에 붙어 있던 데이터는 결과로 따라오지 않습니다.
골라 담을 수 있는 그릇은 셋뿐입니다. 브라우저가 열 수 있는 이미지라면 이 세 가지 밖의 파일도 올려서 읽히지만, 나가는 파일은 언제나 PNG·JPEG·WebP 가운데 하나이고 네 번째 포맷으로 내보내는 길은 이 화면에 없습니다. 올린 즉시 브라우저가 그 파일을 실제로 디코드해 보기 때문에, 이름만 이미지이고 속이 깨진 파일은 변환 단추를 누르기 전 단계에서 먼저 걸러집니다.
주요 기능
- PNG·JPEG·WebP 상호 변환 — 한 번에 한 장
- PNG·WebP는 알파 채널 유지, JPEG는 배경색으로 병합
- JPEG 배경색 지정 — 투명 픽셀을 채울 색 직접 선택
- 원본 해상도 유지 — 가로·세로 픽셀 수 불변
- 원본 이름 + 새 확장자로 저장 이름 자동 생성
- 브라우저 안에서만 변환 — 원본 업로드 없음
- JPEG 확장자는 .jpeg가 아닌 .jpg — 마지막 점 뒤 한 조각만 교체
- 스템이 비는 이름은 image로 대체, 같은 포맷 선택 시 이름 그대로
- 투명 자리는 배경색 위에 겹쳐 그림 — 반투명 가장자리도 함께 섞임
- 손실 포맷에만 품질 값 전달 — PNG에는 인자 자체를 넘기지 않음
- 업로드 시점 디코드 검사 — 열리지 않는 파일은 변환 전에 차단
- 픽셀에서 새 파일 인코딩 — EXIF 등 픽셀 밖 데이터는 미승계
사용 전 확인
PNG·JPEG·WebP 사이에서 이미지 한 장의 저장 포맷을 바꾸고, 투명도 처리와 인코딩 품질을 포맷에 맞게 지정합니다.
변환할 이미지 1장을 준비하세요. 투명 배경을 JPEG로 바꾸면 배경색으로 채워집니다.
사용 순서
- 이미지를 드래그하거나 선택해 업로드합니다.
- 출력 포맷(PNG/JPEG/WebP)을 고릅니다.
- 손실 포맷이면 품질을, JPEG면 배경색을 조정합니다.
- 변환 버튼을 눌러 결과를 내려받습니다.
주의사항
- JPEG는 투명도를 지원하지 않아 투명 픽셀이 배경색으로 대체됩니다.
- 오래된 브라우저는 WebP 저장을 지원하지 않을 수 있어 실패 시 안내가 표시됩니다.
자주 묻는 질문
Q. 변환 버튼이 계속 눌리지 않습니다
이미지를 아직 올리지 않았거나 읽는 중이면 버튼이 비활성 상태입니다. 드롭존에 파일명과 함께 저장될 이름(예: photo.png → photo.webp)이 보이면 읽기가 끝난 것이니 그때 다시 눌러보세요.
Q. 여러 장을 한꺼번에 끌어다 놓았는데 하나만 바뀝니다
의도된 동작입니다. 이 도구는 한 번에 이미지 한 장만 처리하며, 여러 파일을 드래그해도 목록의 첫 번째 파일만 읽습니다. 나머지도 바꾸려면 파일마다 다시 올려 각각 변환하세요.
Q. 출력 포맷을 바꿀 때마다 화면의 설정 칸이 늘었다 줄었다 합니다
정상입니다. PNG는 무손실이라 품질 슬라이더가 나타나지 않고, JPEG를 고르면 품질 슬라이더와 배경색 칸이 함께 나타나며, WebP는 품질 슬라이더만 나타나고 배경색 칸은 나타나지 않습니다(WebP는 투명 픽셀을 그대로 유지하기 때문입니다).
Q. 다운로드된 파일 이름이 원본과 어떻게 다른가요
원본 파일명에서 마지막 확장자만 떼어내고 선택한 포맷의 확장자를 새로 붙입니다. 나머지 이름(공백·한글 포함)은 그대로 남으므로, 확장자가 두 번 붙거나 이름이 깨지는 일은 없습니다.
이 도구는 설치 없이 브라우저에서 바로 실행됩니다. 화면이 이 안내에 머물러 있다면 JavaScript를 활성화한 브라우저로 접속해 주세요.