JSON 편집기로 건너뛰기
JSON Formatter Viewer

JSON 압축 도구

input.json

여기에 JSON을 붙여넣으세요

또는 이 영역 어디든 .json 파일을 끌어다 놓으세요

정렬된 출력이 여기에 표시됩니다.

입력 대기 중

무엇이 제거되나

압축은 구분 문자 없이 문서를 다시 직렬화합니다. 줄바꿈, 들여쓰기, 그리고 콜론과 쉼표 뒤에 관습적으로 넣는 공백 한 칸이 사라집니다. 문자열 리터럴 안의 모든 것은 데이터이므로 그대로 남습니다. {"note":"공백 두 칸"}은 두 칸을 모두 유지합니다.

파싱한 뒤 다시 직렬화하는 방식이므로 출력이 같은 값을 담은 유효한 JSON임이 보장됩니다. 텍스트 치환이 아니기 때문에 중괄호가 들어 있는 문자열을 망가뜨릴 수 없습니다.

압축이 실제로 의미 있는 경우

공백은 세상에서 가장 잘 압축되는 내용입니다. 전송 경로에서 이미 gzip이나 brotli를 적용한다면 압축으로 얻는 것은 매우 적습니다. 압축이 없거나 한계를 원시 바이트로 세는 곳에서 값을 합니다.

  • 크기 제한이 있는 페이로드. 큐 메시지, 웹훅 본문, 바이트 상한이 엄격한 쿠키나 헤더 값.
  • 데이터베이스 컬럼. 정렬된 JSON을 저장하는 JSONB 또는 TEXT 컬럼은 모든 행에서, 영구히 들여쓰기 비용을 냅니다.
  • 로그와 지표. 수집 비용은 보통 바이트 단위이며, 구조화된 로그 줄은 어차피 한 줄이어야 합니다.
  • 임베디드와 엣지 환경. 펌웨어 이미지, KV 저장소, QR 코드처럼 모든 바이트를 따지는 곳.

반대로, 사람이 읽는 JSON이나 버전 관리에 들어가는 JSON은 압축하지 마세요. 압축된 파일은 무엇이 바뀌었는지 감추는 한 줄 diff를 만들고, 그 비용이 절약한 바이트보다 훨씬 큽니다.

절감량 확인하기

상태 표시줄은 각 동작 뒤 문서 크기를 보여 줍니다. 정렬한 뒤 크기를 적어 두고, 압축해서 비교해 보세요. 사용자가 실제로 내려받을 양을 보려면 압축 후 두 파일을 비교하세요.

gzip -c data.json     | wc -c   # 정렬본, 압축됨
gzip -c data.min.json | wc -c   # 압축본, 압축됨

이 두 숫자의 차이가 실제 이득입니다. 압축하지 않은 파일 사이의 차이는 보통 훨씬 큰 숫자이지만, 실제로 그 비용을 내는 사람은 없습니다.

반대 방향으로

압축된 문서도 유효한 JSON이므로 별도 준비 없이 여기서 불러와 트리 뷰어에서 펼칠 수 있습니다. 읽을 수 있는 텍스트로 되돌리려면 정렬을 누르거나, 같은 작업을 반대 방향에서 다루는 정리 도구에서 시작하세요.

자주 묻는 질문

압축하면 JSON이 얼마나 작아지나요?

공백 2칸으로 들여쓴 문서라면 보통 10~30%, 들여쓰기 비중이 큰 깊게 중첩된 문서라면 그보다 더 줄어듭니다. 상태 표시줄이 압축 후 정확한 바이트 수를 알려 주므로 추측하지 않고 실제 데이터를 측정할 수 있습니다.

이미 gzip이나 brotli를 쓰는데도 압축할 가치가 있나요?

기대보다 훨씬 적습니다. 들여쓰기는 반복이 매우 심해서 압축기가 거의 공짜로 처리하며, 압축 후 차이는 보통 2% 미만입니다. 압축이 닿지 않는 곳, 즉 압축하지 않는 데이터베이스 컬럼, 크기 제한이 있는 메시지, 로그 줄에서 사용하세요.

압축하면 데이터가 사라지나요?

아닙니다. 토큰 사이의 공백만 제거됩니다. 문자열 안의 공백은 값의 일부이므로 그대로 보존됩니다.

주석이 들어 있는 JSON도 압축할 수 있나요?

먼저 복구를 누르세요. 주석은 유효한 JSON이 아니므로 다시 직렬화하기 전에 문서가 파싱 가능해야 합니다. 복구는 마지막 쉼표와 작은따옴표와 함께 주석도 제거합니다.

나머지 도구

같은 엔진, 같은 개인정보 보호 — 모든 페이지가 브라우저 안에서만 동작합니다.