Gzip 압축 해제 및 압축

Base64 gzip 또는 hex gzip 데이터를 다시 읽을 수 있는 텍스트로 압축 해제하거나, 텍스트를 Base64 gzip으로 압축합니다. 크기 비교를 보여 줍니다. 모든 것이 브라우저에서 실행됩니다 — 아무것도 업로드되지 않습니다.

압축 및 압축 해제 Base64 인코딩 클라이언트 측 처리

입력은 최대 1 MiB, 압축 해제한 UTF-8 텍스트는 최대 8 MiB입니다. 브라우저에서 처리하며 ZIP과 바이너리 파일은 지원하지 않습니다.

Gzip과 HTTP 압축

Gzip은 보통 1f 8b 08로 시작합니다. Base64는 바이트를 텍스트로 표현합니다. HTTP Content-Encoding: gzip은 보통 바이너리를 전송하며 브라우저가 이미 압축을 풀었을 수 있습니다. Gzip은 ZIP이 아닙니다.

RFC 1952 · RFC 9110 §8.4.1.3

Gzip 디코더 사용법

1

모드 선택

압축(텍스트 → gzip) 또는 압축 해제(gzip → 텍스트) 모드를 선택하세요.

2

입력하기

모드에 따라 Base64 인코딩된 gzip 데이터 또는 일반 텍스트를 붙여넣으세요.

3

변환 및 확인

변환을 클릭하고 크기 비교와 출력을 확인하세요.

Gzip이란?

Gzip은 압축 및 압축 해제를 위한 파일 형식이자 소프트웨어 애플리케이션입니다. LZ77과 Huffman 코딩을 결합한 DEFLATE 알고리즘을 사용합니다. Gzip은 웹 서버, 데이터 전송, 파일 아카이빙에서 파일 크기를 줄이기 위해 널리 사용됩니다.

주요 용도

웹 압축

HTTP 서버가 전송 크기를 줄이기 위해 응답을 압축

파일 아카이빙

파일의 .gz 압축 아카이브 생성

API 페이로드

API에서 큰 JSON 또는 텍스트 페이로드 압축

Base64 + Gzip을 함께 쓰는 이유는?

원시 gzip 데이터는 바이너리입니다 — 텍스트만 허용하는 곳에는 저장하거나 전송할 수 없습니다. Base64는 압축된 바이트를 안전한 ASCII 문자로 인코딩하며, 그래서 현대 시스템 어디에서나 "Base64 인코딩된 gzip"이 등장합니다:

클라우드 오류 페이로드

S3 등 클라우드 서비스는 gzipped 오류 본문을 JSON 안에 Base64로 반환

서버리스 및 큐 메시지

Lambda 페이로드와 SQS/Kafka 메시지는 텍스트 안전을 위해 압축 후 Base64로 인코딩

HTTP 및 API 본문

큰 JSON 페이로드는 Content-Encoding: gzip으로 압축되어 텍스트 필드에 Base64로 실림

로그 및 웹훅

압축된 로그 배치와 웹훅 페이로드가 Base64 문자열로 전송

이 도구는 이 조합을 한 번에 처리합니다: Base64 문자열을 붙여넣으면 Base64를 디코딩하고 gzip을 다시 읽을 수 있는 텍스트로 압축 해제합니다. hex 인코딩 gzip 바이트(1f 8b 08 등)도 허용됩니다.

자주 묻는 질문

Base64 출력이 입력보다 큰 이유는?

이미 작거나 매우 무작위적인 데이터를 압축하면 Gzip 압축이 크기를 줄이지 못할 수 있고, Base64 인코딩은 ~33% 오버헤드를 더합니다. 이 도구는 크기 비교를 보여 주어 효익을 평가할 수 있게 합니다.

최대 입력 크기는 얼마인가요?

이 도구는 데이터를 전적으로 브라우저에서 처리합니다. 매우 큰 입력(수 MB)은 동작할 수 있지만 브라우저가 느려질 수 있습니다. 대용량 파일의 프로덕션 압축에는 서버 측 도구를 사용하세요.

.zip 파일과 같은 건가요?

아니요. Gzip은 단일 스트림 또는 파일 하나를 압축합니다. .zip 형식은 여러 파일을 개별 압축과 함께 담을 수 있는 아카이브 형식입니다. Gzip은 더 단순하며 단일 파일 압축과 HTTP 콘텐츠 인코딩에 자주 쓰입니다.

Base64 인코딩된 gzip 데이터는 어떻게 디코딩하나요?

압축 해제 모드를 선택한 뒤 Base64 문자열을 입력 상자에 붙여넣으세요. 도구가 먼저 Base64를 바이너리 gzip 바이트로 디코딩한 다음, DEFLATE 알고리즘으로 압축을 해제하고 읽을 수 있는 텍스트를 보여 줍니다. 수동 두 단계 디코딩은 필요 없습니다.

Gzip, Deflate, Zlib의 차이는 무엇인가요?

셋 모두 같은 DEFLATE 압축 알고리즘을 쓰지만 감싸는 방식이 다릅니다. Zlib은 원시 deflate 스트림 주위에 작은 헤더와 체크섬을 더합니다. Gzip은 deflate을 헤더, 타임스탬프, CRC32 체크섬이 있는 파일 형식으로 감쌉니다. HTTP Content-Encoding에서 "gzip"은 표준 값이지만, 페이로드는 대개 gzip으로 감싼 deflate 스트림일 뿐입니다.

명령줄에서 .gz 파일을 어떻게 압축하거나 압축 해제하나요?

gzip file.txt는 file.txt.gz로 압축하고 원본을 삭제합니다; -k를 붙이면 유지됩니다. 압축 해제는 gunzip file.txt.gz 또는 gzip -d입니다. 여러 파일을 한 번에 처리하려면 tar czf archive.tar.gz dir/가 한 단계로 묶고 압축하며, tar xf로 풉니다. zcat은 아무것도 쓰지 않고 .gz 파일을 스트리밍합니다 - 압축 로그에 편리합니다.

어떤 압축 레벨을 사용해야 하나요?

이 페이지에서는 압축 수준을 선택할 수 없습니다. 인코더의 기본 설정을 사용하며 결과는 입력 내용에 따라 달라집니다. 수준을 지정하려면 해당 설정을 제공하는 압축 도구를 사용하세요.

Brotli와 zstd 옆에서 gzip은 여전히 의미 있나요?

zlib은 레벨 1-9를 제공합니다: 1은 가장 빠르지만 출력이 가장 크고, 9는 가장 강하게 압축하지만 가장 느리며, 6은 기본값으로 텍스트에는 거의 최적점입니다. 레벨 7-9는 대개 6보다 한 자릿수 퍼센트만 이기면서 눈에 띄게 더 오래 걸립니다. 웹 응답에서는 마지막 5% 크기보다 CPU 시간이 더 중요한 경우가 많습니다.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}