실행은 일부러 수동으로 남겨두었습니다
자동 실행 스위치는 없습니다. Brotli를 최고 품질로 설정하면 큰 입력에서는 실제로 시간이 걸리고, 취소 버튼이 진짜로 의미가 있어야 하기 때문입니다. 압축 또는 압축 해제를 클릭하거나 Ctrl/Cmd+Enter를 누르기 전까지는 아무것도 시작되지 않습니다. 알고리즘, 레벨, 입력을 바꾸면 현재 결과는 오래된 것으로 표시되며 다시 실행해야 갱신됩니다.
파일 / 바이너리 / 압축
파일을 선택하거나 텍스트를 붙여넣고, 알고리즘과 방향을 고른 뒤 실행하세요. 데이터는 브라우저 밖으로 나가지 않습니다.
여기에 파일을 놓거나 선택하세요.
파일과 텍스트는 브라우저에서만 압축·해제되며 업로드되지 않습니다.
파일을 추가하거나 텍스트를 붙여넣은 뒤 압축 또는 압축 해제를 선택하세요.
6
파일을 추가하거나 텍스트를 붙여넣은 뒤 압축 또는 압축 해제를 선택하세요.
수백 KB짜리 설정 파일을 Gzip으로 압축하는 게 나은지 Brotli가 더 나은지 확인하려고 명령줄에서 zlib나 brotli 명령을 치는 건 일보다 준비가 더 큰 일입니다. 이 Gzip 압축 해제 도구는 Gzip·Deflate·Brotli 세 가지 실제 알고리즘을 브라우저 안에서 그대로 실행해, 파일이나 텍스트를 압축하거나 해제한 결과가 몇 바이트 줄었는지 바로 보여줍니다.
급하게 짠 스크립트와 다른 점은 사소해 보이지만 실제로 문제가 되는 부분들입니다. 압축 레벨은 고정값이 아니라 조절할 수 있고, 크기 비교는 짐작이 아니라 정확한 바이트 수이며, 해제 방향에는 명확한 상한선이 있습니다 — 출력이 512MiB를 넘기기 직전에 도구가 멈추고, 결과 전체를 먼저 메모리에 담으려 하지 않습니다.
실행할 때마다 원본 바이트 수와 결과 바이트 수를 나란히 보여주고 절감한 비율도 함께 표시합니다. 다운로드하기 전에 Brotli의 높은 품질 설정이 정말 기다릴 가치가 있었는지 판단할 수 있습니다.
아주 작은 압축 파일도 수 기가바이트로 부풀어 오를 수 있습니다. 이 도구는 출력을 스트림으로 처리하며 생성되는 바이트 수를 세다가, 합계가 512MiB를 넘기기 직전에 즉시 멈춥니다. 전체 결과를 먼저 메모리에 담으려 하지 않습니다.
자동 실행 스위치는 없습니다. Brotli를 최고 품질로 설정하면 큰 입력에서는 실제로 시간이 걸리고, 취소 버튼이 진짜로 의미가 있어야 하기 때문입니다. 압축 또는 압축 해제를 클릭하거나 Ctrl/Cmd+Enter를 누르기 전까지는 아무것도 시작되지 않습니다. 알고리즘, 레벨, 입력을 바꾸면 현재 결과는 오래된 것으로 표시되며 다시 실행해야 갱신됩니다.
결과가 나온 뒤 이 버튼을 누르면 그 결과를 입력에 다시 넣고 방향을 반전(압축이면 압축 해제로, 반대면 그 반대로)하는 미리보기가 나타나 바이트가 제대로 돌아오는지 확인할 수 있습니다. 실제로 바뀌는 것은 적용을 누른 뒤뿐이며, 실행 취소로 이전 입력과 결과를 한 번 복원할 수 있습니다.
텍스트를 압축하면 먼저 UTF-8로 인코딩됩니다. 텍스트 모드에서 압축 해제는 압축 데이터의 Base64 형식을 붙여넣는 것을 전제로 합니다. 원시 바이너리를 텍스트로 그대로 붙여넣을 수는 없기 때문입니다. 압축 해제 결과가 올바른 UTF-8이면 읽을 수 있는 텍스트로 표시되고, 아니면 자동으로 Base64 표시로 전환됩니다. 임의의 바이너리 데이터는 파일 모드를 사용하세요.
Gzip과 Deflate는 fflate로 실행되며 레벨 0–9를 선택할 수 있습니다. Brotli는 WebAssembly 구현으로 실행되며 품질 1–11을 선택할 수 있습니다. 셋 다 브라우저 안에서, 그것도 백그라운드 Worker에서 실행되어 페이지가 멈추지 않습니다.
파일 하나를 끌어다 놓거나 선택하고, 텍스트를 직접 붙여넣을 수도 있습니다. 이 도구는 아카이브를 만들거나 풀지 않습니다 — Gzip, Deflate, Brotli 본연의 모습인 단일 압축 스트림 하나만 다룹니다.
실행할 때마다 원본 바이트 수, 결과 바이트 수, 변화율이 함께 표시됩니다. 아주 작거나 이미 압축된 입력이 압축 후 오히려 살짝 커지는 솔직한 경우까지 포함해서요.
압축과 압축 해제 모두 종료할 수 있는 Worker에서 실행됩니다. 취소를 누르면 완료를 기다리지 않고 진행 중인 작업을 그 자리에서 버립니다.
네. 이 도구는 완전히 브라우저 안에서 실행되며, 파일과 붙여넣은 텍스트는 로컬에서 읽히고 압축·해제도 사용자의 기기에서 이루어집니다. 서버로 전송되지 않으며, 브라우저의 네트워크 패널을 열어 직접 확인할 수도 있습니다.
Deflate는 zlib 헤더 안에 들어가는 원본 알고리즘 자체입니다. Gzip은 같은 알고리즘에 자체 헤더와 체크섬을 더하기 때문에 동등한 Deflate 결과보다 조금 더 큽니다. Brotli는 특히 품질을 높였을 때 대부분의 경우 더 높은 압축률을 보이지만 압축에 더 오래 걸린다는 대가가 있습니다 (압축 해제 속도는 셋 다 빠릅니다). 호환성이 최우선이면 Gzip을, 시간이 좀 걸려도 되니 최소 크기가 필요하면 Brotli를 선택하세요.
압축에 걸리는 시간과 결과 크기 사이의 균형이 달라집니다. 0은 거의 압축하지 않고 가장 빨리 끝나며, 9는 반복 패턴을 찾는 데 가장 많은 노력을 들여 가장 작은 파일을 만듭니다. 6은 흔히 쓰이는 균형 잡힌 기본값입니다. 어떤 레벨을 고르든 압축 해제 결과는 완전히 동일하며, 크기와 걸리는 시간만 달라집니다.
압축 폭탄은 해제하면 엄청난 양의 데이터로 부풀어 오르도록 만든 작은 압축 파일로, 메모리를 다 써버려 탭을 멈추게 하거나 충돌시킬 수 있습니다. 이 도구는 스트림으로 압축을 해제하면서 생성된 출력 바이트 수를 세다가, 합계가 고정된 512MiB를 넘기기 직전에 전체 해제 결과를 메모리에 담기도 전에 멈춥니다.
업로드가 전혀 없고 512MiB 상한이 통제 불가능한 팽창을 막아주며, 각 형식에 내장된 체크섬까지 검증하기 때문에 다른 많은 방법보다 안전합니다. 다만 해제된 내용을 악성코드로 검사하지는 않으므로, 복원된 바이트도 믿을 수 없는 출처의 파일과 같은 주의로 다뤄야 합니다.
네. 이 도구는 Gzip 압축기이자 브로틀리 압축기로도 쓸 수 있어, 알고리즘에서 Brotli를 선택하면 품질 슬라이더(1–11)를 쓸 수 있습니다. 품질 11은 가장 작은 결과를 주지만 큰 파일에서는 눈에 띄게 오래 걸립니다. 값을 낮추면 압축률 대신 속도를 얻습니다. 고품질 실행이 예상보다 오래 걸리면 언제든 취소할 수 있습니다.
더 궁금한 점이 있나요?