전체 도구 ↗
💻 이 도구는 PC에서 더 편하게 쓸 수 있어요 · 코드 복사·붙여넣기 작업용
🧰 개발자 도구 · 100% 브라우저 처리

JSON 압축·정리

JSON을 한 줄로 압축하거나, 보기 좋게 펼칩니다. 서버 전송 없이 브라우저에서.

붙여넣기Ctrl+Enter로 압축
결과
원본
결과
절감
📄 결과가 여기에 표시됩니다 · 압축 또는 펼치기를 누르세요
{
  "name": "홍길동",
  "age": 30,
  "hobby": [
    "코딩",
    "독서"
  ]
}

입력값은 이 브라우저를 벗어나지 않습니다 🔒

광고

설명

JSON을 한 줄로 압축(minify)하거나 들여쓰기를 넣어 보기 좋게 정리(beautify)합니다. 문법 오류도 알려줍니다. 입력값은 서버로 전송되지 않습니다.

광고

관련 도구

JSON 파일에 들여쓰기와 공백이 많으면 네트워크 전송 용량이 늘고 파싱 속도도 느려집니다. 반대로 압축된 JSON은 사람이 읽기 어렵습니다. 이 도구는 클릭 한 번으로 JSON을 공백 없이 압축(minify)하거나, 읽기 편한 들여쓰기 형태(pretty-print)로 정리하는 두 가지 작업을 모두 지원합니다.

사용 방법

입력창에 JSON 텍스트를 붙여넣은 뒤 '압축' 또는 '펼치기' 버튼을 클릭합니다. 압축 모드는 모든 불필요한 공백과 줄바꿈을 제거해 한 줄로 만들고, 펼치기 모드는 표준 2칸 들여쓰기로 계층 구조가 보이도록 펼쳐줍니다. 입력한 JSON에 문법 오류가 있으면 어느 위치에서 오류가 발생했는지 알려주므로, 디버깅 용도로도 사용할 수 있습니다.

이럴 때 유용해요

API 응답을 로그 파일에 기록하거나 데이터베이스 컬럼에 저장할 때는 압축된 JSON이 공간을 절약합니다. 반대로 동료가 보낸 압축 JSON 로그를 분석하거나 API 응답 구조를 파악해야 할 때는 pretty-print로 펼쳐서 보면 훨씬 빠르게 이해할 수 있습니다. 프론트엔드 빌드 시 포함되는 설정 파일(package.json 등)을 배포 전에 압축해 번들 크기를 줄이는 용도로도 활용됩니다.

알아두면 좋은 점

JSON 압축은 데이터 내용을 바꾸지 않습니다. 숫자, 문자열, 불리언, 배열 순서 등은 그대로 유지됩니다. 다만 JSON 명세상 키 순서는 보장되지 않으므로, 압축·정리 후 객체 키 순서가 입력과 달라질 수 있습니다. 또한 JSON 내 주석(//)은 표준 JSON에서 허용되지 않으므로, 주석이 포함된 JSONC 형식은 이 도구에서 오류로 처리됩니다.

자주 묻는 질문

압축하면 데이터가 손실되나요?
아닙니다. 압축은 공백과 줄바꿈만 제거할 뿐 실제 데이터 값은 전혀 바뀌지 않습니다. 압축된 JSON을 다시 pretty-print하면 원본과 동일한 구조가 복원됩니다.
펼치기는 몇 칸으로 들여쓰나요?
이 도구의 '펼치기(정렬)'는 가장 널리 쓰이는 2칸 들여쓰기로 JSON을 펼칩니다. 반대로 압축은 모든 들여쓰기와 공백을 제거해 한 줄로 만듭니다.
JSON에 한글이 포함되어 있어도 되나요?
네, UTF-8로 인코딩된 한글은 정상 처리됩니다. 압축이나 정리 과정에서 한글 문자열이 손상되거나 유니코드 이스케이프로 바뀌지 않습니다.
JSON 문법 오류가 있으면 어떻게 되나요?
파싱에 실패하면 브라우저가 알려주는 오류 메시지와 오류 위치를 함께 표시합니다. 이를 참고해 잘못된 부분을 수정한 뒤 다시 시도하면 됩니다.
매우 큰 JSON 파일도 처리할 수 있나요?
브라우저 메모리 한도 내에서는 동작합니다. 일반적으로 수 MB 크기의 JSON은 무리 없이 처리되지만, 수십 MB 이상이면 브라우저가 느려질 수 있습니다. 그 경우 파일을 분할하거나 jq 같은 커맨드라인 도구를 사용하는 것이 효율적입니다.

개인정보처리방침

JSON 압축·정리, 이렇게 씁니다

JSON 텍스트를 입력창에 붙여넣고 두 가지 방향으로 정리합니다. "압축(minify)"을 누르면 들여쓰기·줄바꿈·불필요한 공백을 모두 제거해 한 줄로 만들고, "정렬(beautify)"을 누르면 계단식 들여쓰기를 넣어 사람이 읽기 좋게 폅니다. 같은 데이터를 담은 그대로 겉모습만 바꾸는 것이라, 압축했다가 다시 정렬해도 값은 하나도 손실되지 않습니다. 결과는 복사 버튼으로 그대로 가져가 API 요청 본문, 설정 파일, 코드 상수로 바로 쓸 수 있습니다.

작동 원리 — 파싱 후 재출력

이 도구는 문자열을 단순 치환하지 않습니다. 먼저 입력을 JSON.parse로 실제 값(객체·배열·숫자·문자열)으로 해석한 뒤, JSON.stringify로 다시 문자열로 뽑아냅니다. 압축은 stringify(값)처럼 구분자 인자를 주지 않아 공백 없는 형태로, 정렬(펼치기)은 stringify(값, null, 2)처럼 2칸 들여쓰기 폭을 지정해 출력합니다. 이렇게 하면 문법이 틀린 JSON은 애초에 파싱 단계에서 걸려 오류로 표시되므로, 정리와 동시에 유효성 검사까지 되는 셈입니다.

동작입력출력
압축{ "a": 1,
  "b": [2, 3] }
{"a":1,"b":[2,3]}
정렬{"a":1,"b":[2,3]}{
  "a": 1,
  "b": [2, 3]
}

압축이 실제로 줄이는 것

압축은 키와 값 사이의 공백, 콤마 뒤 공백, 줄바꿈, 계단식 들여쓰기를 없앱니다. 들여쓰기가 깊고 항목이 많은 파일일수록 효과가 커서, 사람이 읽기 좋게 4칸 들여쓴 설정 파일은 압축 시 용량이 눈에 띄게 줄어듭니다. 반대로 키 이름 자체나 값의 길이는 손대지 않으므로, 키가 짧고 이미 한 줄인 데이터라면 줄어드는 폭이 작습니다. 압축은 전송량을 아끼거나 한 줄로 로그에 남길 때 쓰고, 정렬은 사람이 검토·수정할 때 씁니다.

이럴 때 유용합니다

API 응답을 브라우저 콘솔이나 로그에서 한 줄로 복사해 왔는데 구조가 눈에 안 들어올 때 정렬로 펴서 읽습니다. 반대로 코드에 상수로 박아 넣거나 환경변수·쿼리 파라미터에 JSON을 실을 때는 한 줄로 압축해 넣습니다. 남이 보낸 설정 파일이 열리는지, 콤마 하나가 빠지지 않았는지 빠르게 확인하는 용도로도 좋습니다. 모든 처리는 브라우저 안에서만 이뤄지고 서버로 전송되지 않아, 토큰·개인정보가 담긴 응답도 밖으로 새지 않습니다.

깔끔하게 다루는 팁

첫째, 후행 콤마(마지막 항목 뒤 쉼표)와 키를 감싸지 않은 작은따옴표는 표준 JSON이 아니라 오류가 납니다. JSON5나 자바스크립트 객체 표기를 그대로 넣지 말고 큰따옴표·표준 문법으로 고치세요. 둘째, 압축은 키 순서를 바꾸지 않으므로 원본 순서가 그대로 유지됩니다. 셋째, 아주 큰 파일도 브라우저에서 처리되지만 수십 MB급이면 화면이 잠깐 멈출 수 있으니 필요한 부분만 잘라 넣는 편이 빠릅니다. 넷째, 정렬 결과를 그대로 커밋하면 diff가 깔끔해져 코드 리뷰에 도움이 됩니다.

자주 묻는 질문

압축하면 데이터가 손상되지 않나요?

손상되지 않습니다. 값을 파싱했다가 다시 출력할 뿐이라, 겉모습(공백·줄바꿈)만 달라지고 키와 값은 그대로입니다. 압축본을 다시 정렬하면 원래 구조로 되돌아옵니다.

"Unexpected token" 오류가 뜹니다.

표준 JSON 문법 위반입니다. 흔한 원인은 마지막 항목 뒤 후행 콤마, 키를 큰따옴표로 감싸지 않음, 작은따옴표 사용, 주석 포함입니다. 오류가 가리키는 위치 근처를 표준 문법으로 고치면 됩니다.

한글이나 이모지가 \uXXXX로 바뀌나요?

이 도구는 원문 유니코드 문자를 그대로 유지해 출력하므로 한글·이모지가 이스케이프 코드로 변하지 않습니다. 화면에 보이는 그대로 복사됩니다.

입력한 JSON이 서버로 전송되나요?

아니요. 압축·정렬 모두 브라우저 자바스크립트로만 실행되며 입력값은 어떤 서버에도 전송·저장되지 않습니다. 페이지를 닫으면 데이터도 함께 사라집니다.