이미지 변환기

전체 메타데이터 제어와 즉시 미리보기로 JPG, PNG, WEBP, GIF, TIFF, ICO, CUR, BMP 간에 전환해요.

도구로 돌아가기

트랜스코딩 배치 중...

이미지를 여기에 드롭하거나 클릭하여 찾아보기

HEIC, AVIF, 일반 RAW, ICO/CUR, ZIP 번들을 지원해요.

배치당 최대 50개의 파일 처리 ZIP 아카이브는 로컬에서 압축 해제됩니다

변환 대기열

  • 상태, 예상 용량, 출력 이름을 미리 보기 위해 파일을 대기열에 넣으세요.

변환 환경설정

고급 옵션

알파 투명도가 필요하면 WEBP나 PNG를 선호하세요. JPEG 내보내기는 자동으로 단색 배경으로 평탄화돼요.

파일을 드롭하여 실시간 미리보기를 확인하세요.

일괄 처리 진행

변환된 다운로드 링크를 전달한 직후 파일이 서버에서 사라져요.

변환된 파일이 미리보기 썸네일, 메타데이터, 다운로드 버튼과 함께 여기에 표시돼요.

<p><strong>GIF 변환기</strong>는 정지 이미지와 애니메이션 WEBP를 브라우저에서 GIF 파일로 변환해요. JPG, PNG, WEBP, AVIF, HEIC, BMP, TIFF 또는 애니메이션 WEBP를 업로드할 수 있어요. 출력은 프레임당 256색 적응형 팔레트를 사용하는 GIF이며, 원본이 애니메이션이면 애니메이션이 유지되고, 원래 프레임 타이밍과 루프 횟수가 그대로 적용돼요. 배치당 최대 50개 파일, 파일당 40MB, 등록 불필요해요.</p> <h2>GIF 변환 방식</h2> <p>GIF는 무손실 형식이지만 한 가지 제약이 있어요. 각 프레임은 최대 256가지 색상으로 제한돼요. 원본이 그래픽, 스크린샷, 아이콘이거나 색상 수가 적은 이미지면 모든 원본 색상이 팔레트에 맞기 때문에 변환이 사실상 무손실이에요. 원본이 풀컬러 사진이면 변환기가 수백만 개의 원본 색상을 프레임별로 계산한 적응형 팔레트를 사용해 최적의 256가지로 줄여요. 결과적으로 이미지는 인식 가능하지만 부드러운 그래디언트(하늘, 피부톤, 부드러운 그림자)에서 눈에 띄는 밴딩이 나타날 수 있어요.</p> <p>애니메이션은 프레임별로 처리돼요. 애니메이션 WEBP 입력은 원래 타이밍 값과 루프 횟수를 포함한 구성 프레임으로 디코딩돼요. 각 프레임은 독립적으로 자신의 256색 팔레트로 양자화되고 GIF 스트림으로 다시 인코딩돼요. 재조립된 애니메이션은 원본과 같은 속도로 재생되고 같은 방식으로 루프돼요. 정지 이미지 입력은 원본 크기의 단일 프레임 GIF를 생성해요.</p> <h2>GIF가 올바른 출력 형식인 경우</h2> <p>GIF는 두 가지 특정 상황에서 유용해요. 첫째, 대상 환경이 최신 형식을 안정적으로 재생할 수 없을 때예요. 많은 이메일 클라이언트는 여전히 WEBP와 AVIF를 제거하거나 변환하지만 항상 GIF를 올바르게 렌더링해요. Slack, Discord, Reddit, 대부분의 채팅 플랫폼은 변환 없이 GIF를 허용해요. 문서 도구(Confluence, Notion, GitHub 위키)는 GIF를 안정적으로 임베드하는데 임베드 비디오는 플레이어가 필요해요. 둘째, 시각 콘텐츠가 256색 팔레트에 적합할 때예요. 픽셀 아트, 간단한 애니메이션, UI 스크린 녹화, 반응 이미지, 밈, 사진 그래디언트에 의존하지 않는 모든 그래픽이 해당돼요.</p> <p>사진, 카메라 영상의 애니메이션 GIF, 또는 최신 웹 대상의 경우 GIF는 거의 항상 잘못된 선택이에요. <a href="/en/image-converter/jpg-to-webp">WEBP로 변환</a>하면 보통 같은 시각 품질의 해당 GIF보다 60~80% 작은 파일을 생성하고, 요즘 대부분의 브라우저와 채팅 앱은 WEBP를 기본적으로 렌더링해요. AVIF는 더 작아요. 올바른 규칙은 이거예요. 적대적인 환경에서 재생해야 하면 GIF를 선택하고, 대상을 제어할 수 있으면 WEBP나 AVIF를 선택하세요.</p> <h2>GIF 변환기가 지원하는 입력 형식</h2> <ul> <li><strong>JPG와 JPEG:</strong> 일반적인 사진 형식이에요. 변환은 프레임당 256 단계로 색상을 양자화하므로 부드러운 그래디언트에서 눈에 띄는 밴딩이 나타나요.</li> <li><strong>PNG:</strong> 가장 일반적인 변환 대상이에요. 로고, 아이콘, 스크린샷, UI 요소는 원본이 256가지 이하의 서로 다른 색상을 가지면 무손실로 변환되는데, 대부분이 그래요.</li> <li><strong>WEBP:</strong> 정지 이미지와 애니메이션 WEBP 모두예요. 애니메이션 WEBP는 타이밍이 유지되면서 프레임별로 언팩돼요.</li> <li><strong>AVIF:</strong> 정지 이미지만 가능해요. AVIF 애니메이션은 아직 일반적인 입력이 아니에요.</li> <li><strong>HEIC와 HEIF:</strong> iPhone 사진이에요. JPG와 같은 팔레트 양자화 경로로 변환되며, 같은 그래디언트 밴딩 트레이드오프가 있어요.</li> <li><strong>BMP와 TIFF:</strong> 레거시 및 보관용 원본이에요. 256색 팔레트에 잘 맞는 스크린샷이나 스캔한 그래픽을 포함하는 경우가 많아요.</li> </ul> <p>출력은 항상 GIF예요. 반대 방향으로 변환해야 하면(GIF에서 JPG, GIF에서 PNG, GIF에서 WEBP) GIF를 원본으로 하여 <a href="/en/image-converter">메인 이미지 변환기</a>를 사용하세요. 형식을 변경하지 않고 기존 GIF를 축소하려면 <a href="/en/image-compressor">이미지 압축기</a>를 사용하세요. 애니메이션 WEBP로 변환하면 보통 파일 크기가 절반 이상 줄어들어요.</p> <h2>배치 변환 및 개인정보 보호</h2> <p>각 변환은 서버의 메모리에서 실행돼요. 파일은 디코딩되고, 팔레트 양자화되고, GIF로 인코딩되고, JSON 응답 내 base64로 브라우저에 반환돼요. 디스크에 쓰여지거나 인덱싱되거나 로깅되거나 캐시되지 않아요. 응답이 전송되는 즉시 buffer가 해제되고 복구할 파일 사본이 남지 않아요. 단일 이미지를 업로드하든 50개를 한 번에 업로드하든, 직접 파일을 업로드하든 서버 측에서 언팩되는 ZIP 보관함을 업로드하든 동일해요. 파일당 크기 제한은 40MB예요. 출력은 개별적으로 반환되며, 1개 파일을 초과하는 배치의 경우 단일 다운로드 ZIP으로 다시 패키징할 수 있어요.</p> <h2 class="tools-section-title">자주 묻는 질문</h2> <div class="collapse-group collapse-group-narrow"> <div class="collapse-container collapse-faq" data-collapse-accordion data-collapse-group="seo-faq" data-collapse-no-save data-collapse-key="seo_faq_1"> <button class="collapse-header" type="button"> <div class="collapse-header-content"> <i class="fas fa-lightbulb collapse-header-icon" aria-hidden="true"></i> <span class="collapse-header-title">GIF로 변환한 후 사진이 밴딩되거나 포스터화된 것처럼 보이는 이유는?</span> </div> <i class="fas fa-chevron-down collapse-chevron" aria-hidden="true"></i> </button> <div class="collapse-content"> <div class="collapse-content-inner"> <p>GIF는 프레임당 256가지 색상으로 제한되지만 일반적인 사진은 수백만 가지 서로 다른 색상을 포함해요. 변환기는 적응형 팔레트를 사용하여 원본을 가장 잘 근사하는 256가지 색상을 선택하지만, 부드러운 그래디언트(하늘, 피부톤, 부드러운 그림자)는 더 이상 연속적인 중간값 범위가 없기 때문에 눈에 띄는 밴드가 돼요. 이것은 GIF 형식의 근본적인 제약이에요. 사진의 경우 JPG, WEBP, AVIF가 훨씬 더 잘 보이고 파일이 훨씬 더 작아요.</p> </div> </div> </div> <div class="collapse-container collapse-faq" data-collapse-accordion data-collapse-group="seo-faq" data-collapse-no-save data-collapse-key="seo_faq_2"> <button class="collapse-header" type="button"> <div class="collapse-header-content"> <i class="fas fa-lightbulb collapse-header-icon" aria-hidden="true"></i> <span class="collapse-header-title">GIF로 변환할 때 애니메이션 타이밍과 루프가 유지돼요?</span> </div> <i class="fas fa-chevron-down collapse-chevron" aria-hidden="true"></i> </button> <div class="collapse-content"> <div class="collapse-content-inner"> <p>네, 유지돼요. 원본이 애니메이션 WEBP면 각 프레임은 원래 타이밍으로 디코딩되고 애니메이션의 루프 횟수는 원본에서 읽혀요. 프레임별 팔레트 양자화 후 프레임은 같은 타이밍 값으로 재조립되므로 출력 GIF는 원본과 같은 속도로 재생되고 같은 횟수로 루프돼요. 정지 이미지는 원본 크기의 단일 프레임 GIF가 돼요.</p> </div> </div> </div> <div class="collapse-container collapse-faq" data-collapse-accordion data-collapse-group="seo-faq" data-collapse-no-save data-collapse-key="seo_faq_3"> <button class="collapse-header" type="button"> <div class="collapse-header-content"> <i class="fas fa-lightbulb collapse-header-icon" aria-hidden="true"></i> <span class="collapse-header-title">애니메이션을 잃지 않으면서 GIF를 더 작게 만들려면?</span> </div> <i class="fas fa-chevron-down collapse-chevron" aria-hidden="true"></i> </button> <div class="collapse-content"> <div class="collapse-content-inner"> <p>두 가지 확실한 방법이 있어요. 첫째, 크기를 줄이는 거예요. 600x400 GIF는 같은 콘텐츠의 1200x800 GIF 크기의 대략 1/4이에요. 픽셀 수가 파일 크기에 선형적으로 비례하기 때문이에요. 변환 전에 <a href="/en/image-resizer">이미지 리사이저</a>를 사용하세요. 둘째, GIF 대신 애니메이션 WEBP로 변환하는 거예요. 같은 애니메이션이 보통 60~80% 더 작아지며 시각적 품질 차이가 없고, 요즘 브라우저와 채팅 앱은 이를 기본적으로 렌더링해요. <a href="/en/image-compressor">이미지 압축기</a>는 GIF에서 애니메이션 WEBP로의 변환을 직접 처리해요.</p> </div> </div> </div> <div class="collapse-container collapse-faq" data-collapse-accordion data-collapse-group="seo-faq" data-collapse-no-save data-collapse-key="seo_faq_4"> <button class="collapse-header" type="button"> <div class="collapse-header-content"> <i class="fas fa-lightbulb collapse-header-icon" aria-hidden="true"></i> <span class="collapse-header-title">투명한 PNG를 GIF로 변환하고 투명도를 유지할 수 있어요?</span> </div> <i class="fas fa-chevron-down collapse-chevron" aria-hidden="true"></i> </button> <div class="collapse-content"> <div class="collapse-content-inner"> <p>네, 주의사항이 있어요. GIF는 단일 색상 투명도를 지원해요. 하나의 특정 팔레트 인덱스는 "투명"으로 표시되고 배경으로 렌더링돼요. 부드러운 알파 그래디언트(부드러운 드롭 섀도우, 미지의 배경에 대한 안티앨리어싱 가장자리)는 GIF에 표현될 수 없고 임계값에 따라 완전히 투명하거나 완전히 불투명하게 끝나요. 아이콘이나 부드러운 가장자리가 있는 로고에 깨끗한 알파가 필요하면 PNG나 WEBP가 더 나은 대상이에요. 하드 엣지 그래픽의 온/오프 투명도만 필요하면 GIF가 잘 작동해요.</p> </div> </div> </div> <div class="collapse-container collapse-faq" data-collapse-accordion data-collapse-group="seo-faq" data-collapse-no-save data-collapse-key="seo_faq_5"> <button class="collapse-header" type="button"> <div class="collapse-header-content"> <i class="fas fa-lightbulb collapse-header-icon" aria-hidden="true"></i> <span class="collapse-header-title">최대 파일 크기는 얼마고 한 번에 몇 개의 GIF를 변환할 수 있어요?</span> </div> <i class="fas fa-chevron-down collapse-chevron" aria-hidden="true"></i> </button> <div class="collapse-content"> <div class="collapse-content-inner"> <p>각 파일은 40MB 미만이어야 하고 각 배치는 최대 50개 파일을 포함할 수 있어요. ZIP 보관함은 서버 측에서 언팩되고 내부의 각 항목은 같은 50개 파일 제한에 계산돼요. 출력은 개별적으로 반환되며, 1개 파일을 초과하는 배치의 경우 단일 다운로드 ZIP으로 다시 패키징할 수 있어요. 더 큰 작업은 여러 배치로 나누어야 해요. 변환기 설정은 배치 간에 유지돼요.</p> </div> </div> </div> <div class="collapse-container collapse-faq" data-collapse-accordion data-collapse-group="seo-faq" data-collapse-no-save data-collapse-key="seo_faq_6"> <button class="collapse-header" type="button"> <div class="collapse-header-content"> <i class="fas fa-lightbulb collapse-header-icon" aria-hidden="true"></i> <span class="collapse-header-title">업로드한 파일이 어딘가에 저장돼요?</span> </div> <i class="fas fa-chevron-down collapse-chevron" aria-hidden="true"></i> </button> <div class="collapse-content"> <div class="collapse-content-inner"> <p>아니에요. 파일은 변환 endpoint로 스트리밍되고, memory buffer로 디코딩되고, 팔레트 양자화되고, GIF로 다시 인코딩되고, 응답에서 반환돼요. 디스크에 쓰여지거나 인덱싱되거나 로깅되거나 캐시되지 않아요. Buffer는 응답이 전송되는 즉시 해제되므로 복구할 사본이 남지 않아요. 무료 도구는 등록이 필요 없고 변환한 이미지를 추적하지 않아요.</p> </div> </div> </div> <div class="collapse-container collapse-faq" data-collapse-accordion data-collapse-group="seo-faq" data-collapse-no-save data-collapse-key="seo_faq_7"> <button class="collapse-header" type="button"> <div class="collapse-header-content"> <i class="fas fa-lightbulb collapse-header-icon" aria-hidden="true"></i> <span class="collapse-header-title">GIF를 언제 사용해야 하고 언제 피해야 해요?</span> </div> <i class="fas fa-chevron-down collapse-chevron" aria-hidden="true"></i> </button> <div class="collapse-content"> <div class="collapse-content-inner"> <p>대상이 최신 형식을 안정적으로 재생할 수 없을 때(이메일 클라이언트, 오래된 포럼, 특정 채팅 플랫폼) 또는 이미지 콘텐츠가 256색 팔레트에 자연스럽게 맞을 때(픽셀 아트, UI 스크린 녹화, 간단한 애니메이션, 반응 이미지, 밈, 아이콘) GIF를 사용하세요. 사진, 그래디언트가 많은 그래픽, WEBP나 AVIF가 작동하는 모든 최신 웹 콘텍스트에서는 GIF를 피하세요. 이러한 형식은 훨씬 더 작은 파일을 훨씬 더 높은 품질로 생성해요.</p> </div> </div> </div> </div>