MiniPNG

온라인 GIF 이미지 압축

GIF 이미지를 압축하고, 용량 차이의 이유를 확인하세요

잠시만 기다려 주세요...(/)

현재 이미지를 최적화하고 있습니다. 최고의 품질 결과를 보장하기 위해 잠시만 기다려 주세요.

이미지를 성공적으로 압축했습니다.

최적화된 이미지.

GIF 이미지를 압축하고, 결과가 이렇게 다르게 나오는 이유를 알아보세요

이 페이지에 GIF 두 개를 올리면 하나는 40%나 줄어들고, 다른 하나는 거의 변화가 없을 수 있습니다. 이는 도구가 불안정해서가 아니며, 업로드 전에 꼭 알아두어야 할 GIF의 가장 헷갈리는 점입니다. GIF에는 화질 조절 슬라이더가 없습니다. JPEG처럼 용량을 줄이기 위해 화질을 희생할 수 있는 구조가 아니죠. GIF 압축기는 반복되는 부분만 제거할 수 있기 때문에, 얼마나 반복이 많은 파일이냐에 따라 결과가 완전히 달라집니다.

GIF의 바이트는 실제로 어디에 있을까?

두 군데에 있습니다. 사진작가가 생각하는 '이미지'와는 다릅니다. 첫 번째는 색상 테이블입니다. 모든 GIF는 최대 256가지 색상의 팔레트를 가지고 있고, 애니메이션 GIF는 각 프레임마다 별도의 팔레트를 가질 수 있습니다. 두 번째는 프레임입니다. 부주의하게 저장된 GIF는 각 프레임을 전체 캔버스 크기로 저장해서, 작은 상자를 움직이기 위해 캔버스를 서른 번이나 다시 그립니다.

따라서 작업은 각 프레임의 팔레트를 하나의 공용 테이블로 합치고, 변하지 않은 부분을 다시 저장하지 않는 데 있습니다. 이 과정에서 색상은 전혀 바뀌지 않습니다. 아래 첫 번째 예시에서는, 29개의 프레임별 팔레트가 하나의 글로벌 테이블로 합쳐졌고, 파일 크기는 40% 줄었으며, 샘플링한 네 가지 색상도 원래 값 그대로 돌아왔습니다.

우리가 측정한 것

여섯 개 파일을 이 페이지로 압축해보고, 반환된 바이트 수를 기록했습니다.

파일원본압축 후변화
스크린 녹화 애니메이션, 30프레임, 640 x 40041,699 바이트24,994-40.1%
투명 배경의 단일 프레임1,990 바이트1,861-6.5%
이미 최적화된 애니메이션, 24프레임334,312 바이트334,027-0.1%
이미 하나의 팔레트로 저장된 단일 프레임56,676 바이트56,6760%
주석, XMP, GPS, 색상 프로필이 포함된 8프레임 애니메이션15,850 바이트9,953-37.2%
이 페이지에 올린 PNG703,830 바이트74,379-89.4%

40% 줄어든 파일과 0% 줄어든 파일, 같은 도구를 거쳤습니다

첫 번째 행은 스크린 녹화 파일이었습니다. 30프레임 중 대부분의 캔버스가 동일했고, 거의 모든 프레임에 별도의 팔레트가 있었습니다. 반복되는 부분이 많아 크게 줄었습니다. 다섯 번째 행은 이미 하나의 256색 팔레트에 저장된 단일 프레임이어서 더 줄일 부분이 없었고, 56,676 바이트 그대로 반환되었습니다.

이것이 검색 결과에서 많은 사이트들이 크게 약속하는 것의 솔직한 버전입니다. GIF가 동영상 변환기, 스크린 레코더, 오래된 내보내기 프리셋에서 만들어졌다면 큰 절감 효과를 기대해도 됩니다. 이미 최적화된 파일이라면 거의 변화가 없을 수 있으며, 0%는 품질을 희생하지 않고 정직하게 결과를 알려주는 것입니다.

애니메이션은 그대로 애니메이션으로 반환됩니다

직접 재생해보는 대신 바이트 단위로 확인했습니다. 압축된 30프레임 파일에도 여전히 30개의 프레임, 원래의 80밀리초 딜레이를 가진 30개의 타이밍 블록, 반복 재생을 지시하는 루프 확장자가 그대로 남아 있었습니다. 캔버스 크기도 640 x 400 그대로였습니다. 정지 이미지로 합쳐지거나 프레임이 삭제되어 숫자만 좋아지는 일은 없습니다.

투명도와 정확한 색상도 그대로 유지됩니다

투명 GIF는 6.5% 줄었습니다. 결과를 캔버스에 그려 네 픽셀을 읽어보니, 모서리는 여전히 완전히 투명했고, 빨간색은 220, 40, 60, 흰색은 완전히 흰색이었습니다. 30프레임 애니메이션도 헤더 블루, 페이지 그레이, 행 그레이, 빨간 상자가 40% 줄어든 후에도 원본과 동일했습니다. 절감 효과는 색상을 근사치로 바꾸는 것이 아니라 반복을 제거해서 얻어지는 것이므로, 이런 결과가 나오는 것이 당연합니다.

압축 후에도 파일이 여전히 크다면

압축기는 반복되는 부분만 제거할 수 있습니다. 애니메이션이 4초나 너무 길거나, 800픽셀 폭이 필요 없다는 결정을 대신 내려주지 않습니다. 이런 선택은 파일을 이 페이지에 올리기 전에 해야 하며, 이 선택이 용량의 바닥선을 정합니다. 산술적으로 GIF의 용량은 캔버스 면적과 프레임 수의 곱에 비례하므로, 가로세로를 반으로 줄이면 약 4분의 3이 줄고, 초당 30프레임을 12프레임으로 낮추면 대부분의 짧은 클립에서는 차이가 거의 보이지 않습니다. 압축 후에도 GIF가 원하는 것보다 크다면, 이 두 가지 조정이 어떤 최적화 도구보다 훨씬 큰 효과를 냅니다.

파일에 숨겨진 모든 텍스트도 함께 삭제됩니다

GIF에는 우리가 볼 수 없는 많은 텍스트 정보가 들어갈 수 있고, 한 곳에만 저장되는 것도 아닙니다. 애니메이션의 각 프레임마다 주석 블록이 있을 수 있고, XMP 패킷에는 포토샵 등 Adobe 도구들이 카메라 기종, 제작자, 저작권, GPS 좌표를 저장합니다. 그 외에도 일반 텍스트 확장, 색상 프로필 등이 있습니다. 이런 정보는 이미지를 볼 때는 보이지 않습니다.

이 모든 정보를 담은 파일을 만들어, 열 개의 주석 블록, 위도·경도·고도·촬영일이 포함된 XMP 패킷, 카메라 기종, 작성자, 크레딧, 저작권, 색상 프로필, 일반 텍스트 확장까지 넣었습니다. 그 후 이 페이지에서 압축하고, 메타데이터 도구로 결과를 확인하니 모두 사라졌습니다. 8프레임은 그대로 8프레임이었고, 애니메이션도 계속 반복되었습니다.

이 과정은 압축과 동시에 이루어지므로 추가 비용이나 두 번째 업로드가 필요하지 않습니다. 또한, 반복이 없어 압축 효과가 없더라도 파일이 더 작아질 수 있는 이유도 설명해줍니다. 숨겨진 텍스트가 함께 삭제되기 때문입니다.

이 페이지는 다른 이미지 형식도 환영합니다

업로더는 PNG, JPG, JPEG, WEBP, AVIF, SVG, TIFF, BMP, JFIF도 받아들이며, 각 파일은 원래 포맷 그대로 반환됩니다. 위 표의 PNG도 PNG로 들어와 PNG로 나갔고, 헤더를 읽어보니 여전히 1400 x 900이었습니다. GIF 페이지에 들어왔다고 해서 다른 이미지가 변환되는 일은 없습니다.

MiniPNG에서 얻을 수 있는 것

  • 모든 프레임, 프레임 딜레이, 반복 설정이 그대로 보존됩니다
  • 투명도와 시작할 때의 색상 값이 그대로 유지됩니다
  • 원본 캔버스 크기, 변함없음
  • 프레임별 팔레트가 하나의 공용 테이블로 합쳐지며, 대부분의 절감 효과가 여기서 나옵니다
  • 주석, XMP, GPS 좌표, 카메라·제작자 정보, 색상 프로필이 한 번에 모두 삭제됩니다
  • 더 이상 반복이 없으면 이미지 데이터는 그대로 남겨둡니다
  • 회원가입, 워터마크, 이메일 주소 입력 불필요

다음 단계는?

사진(애니메이션이 아닌 경우)이라면, 사진 메타데이터 제거를 통해 이미지 재인코딩 없이 EXIF와 GPS 정보를 삭제할 수 있습니다. GIF가 애니메이션이 아닌 단일 정지 프레임이라면, PNG 압축이 더 적합할 수 있습니다. 그리고 1987년보다 훨씬 나중에 설계된 포맷으로 같은 콘텐츠를 저장하려면, WebP 압축이 정지 이미지와 애니메이션 모두를 지원합니다.

자주 묻는 질문

반복되는 부분이 거의 남아있지 않았기 때문입니다. GIF에는 화질 설정이 없어서, JPEG처럼 선명도를 희생해 용량을 줄일 수 없습니다. 프레임별 색상 테이블을 하나로 합치고, 변하지 않은 캔버스 부분을 다시 저장하지 않는 것만 가능합니다. 테스트한 스크린 녹화 파일은 반복이 많아 41,699 바이트에서 24,994로 40.1% 줄었습니다. 이미 하나의 팔레트에 저장된 단일 프레임은 전혀 줄지 않고 56,676 바이트 그대로 반환되었습니다. 두 파일 모두 같은 도구, 같은 날 처리된 결과입니다.

네, 직접 재생해보지 않고 바이트 단위로 확인했습니다. 압축된 30프레임 파일에도 여전히 30개의 프레임, 원래의 80밀리초 딜레이를 가진 30개의 타이밍 블록, 반복 재생을 지시하는 루프 확장자가 그대로 남아 있습니다. 캔버스 크기도 640 x 400 그대로입니다. 정지 이미지로 합쳐지거나 프레임이 삭제되어 절감 효과가 부풀려지는 일은 없습니다.

우리가 측정한 한에서는 전혀 그렇지 않습니다. 절감 효과는 반복을 제거해서 얻어지는 것이지, 이미지를 근사치로 바꾸는 데서 나오지 않습니다. 40% 줄인 후 결과를 캔버스에 그려 픽셀을 읽어보니, 헤더 블루, 페이지 그레이, 행 그레이, 빨간 상자가 모두 원본과 동일했습니다. 투명 GIF도 모서리는 여전히 완전히 투명했고, 빨간색은 220, 40, 60, 흰색은 완전히 흰색이었습니다.

네, 압축과 동시에 모두 삭제됩니다. GIF는 여러 곳에 데이터를 숨길 수 있습니다. 각 프레임마다 반복되는 주석 블록, 카메라 기종·제작자·저작권·GPS 좌표가 들어있는 XMP 패킷, 일반 텍스트 확장, 색상 프로필 등이 있습니다. 이 모든 정보를 담은 파일을 만들어 이 페이지에서 압축하고, 메타데이터 도구로 확인해보니 주석 10개가 모두 사라졌고, 위도·경도·고도·촬영일·카메라·제작자·크레딧·저작권도 모두 비어 있었으며, XMP 패킷도 완전히 삭제되었습니다. 8프레임은 그대로 8프레임이었고, 애니메이션도 계속 반복되었습니다.

압축기가 바꿀 수 없는 두 가지, 즉 캔버스 크기와 프레임 수를 조정하세요. GIF 용량은 대략 면적과 프레임 수의 곱에 비례하므로, 가로세로를 반으로 줄이면 파일 크기가 약 4분의 3 줄고, 초당 30프레임을 12프레임으로 낮추면 짧은 클립에서는 거의 차이가 없습니다. 마지막 1초를 잘라내는 것이 어떤 최적화 도구보다 효과적입니다. 만약 GIF가 사실상 단일 정지 이미지라면, GIF로 저장할 필요가 없습니다.

네. 업로더는 GIF뿐 아니라 PNG, JPG, JPEG, WEBP, AVIF, SVG, TIFF, BMP, JFIF도 받아들이며, 각 파일은 원래 포맷 그대로 반환됩니다. 여기서 PNG를 올려보니 703,830 바이트에서 74,379로 줄었고, 헤더를 읽어보니 여전히 1400 x 900이었습니다. 어떤 페이지를 열었는지에 따라 파일이 다른 포맷으로 변환되는 일은 없습니다.