도
도구상자FREE ONLINE TOOLS
← 모든 도구

JSON 포매터

엉킨 JSON을 보기 좋게 정렬하거나, 한 줄로 압축하고, 문법 오류를 잡아줍니다.

사용법
  1. 왼쪽 텍스트 창에 JSON을 붙여넣습니다. API 응답, 설정 파일, 로그 등 어떤 JSON이든 가능합니다.
  2. "정렬" 버튼을 누르면 2칸 들여쓰기로 가독성 좋게 포맷됩니다.
  3. "압축" 버튼을 누르면 공백과 줄바꿈이 모두 제거된 한 줄 JSON이 만들어집니다.
  4. 문법 오류가 있으면 정확한 오류 위치를 알려줍니다. 오류를 수정한 뒤 다시 시도하세요.
  5. "복사" 버튼으로 결과를 클립보드에 저장해 바로 사용합니다.
정렬과 압축, 언제 무엇을 쓸까

JSON은 사람이 읽기 좋은 형태와 기계가 주고받기 좋은 형태가 다릅니다. 이 도구는 그 둘을 자유롭게 오가게 해 줍니다.

  • 정렬(Pretty): 들여쓰기와 줄바꿈을 넣어 구조를 한눈에 보이게 합니다. API 응답을 분석하거나 디버깅할 때 씁니다.
  • 압축(Minify): 공백·줄바꿈을 모두 없애 한 줄로 만듭니다. 전송량을 줄이거나 설정값을 한 줄로 넣을 때 유용합니다.
  • 오류 검사: 붙여넣은 JSON에 문법 오류가 있으면 위치를 알려 줘, 어디가 잘못됐는지 바로 찾을 수 있습니다.

JSON 자체가 처음이라면 중괄호·키·값 구조부터 정리한 JSON 입문 가이드를 함께 보세요.

숫자로 보는 예시 — 정렬하면 늘어나는 양, 그리고 바뀌는 값

주문 2건이 들어 있는 작은 JSON(키 6개, 중첩 3단계)을 이 도구로 압축·정렬한 결과입니다.

형태글자 수줄 수
압축179자1줄
정렬 (2칸 들여쓰기)303자25줄

정렬본은 압축본의 약 1.7배입니다. 늘어난 124자는 전부 줄바꿈과 들여쓰기이고 데이터는 한 글자도 다르지 않아, 정렬한 것을 다시 압축하면 원래 179자와 완전히 같아집니다.

정렬·압축 과정에서 값이 달라지는 경우

입력결과이유
{"big":12345678901234567890}{"big":12345678901234567000}정밀하게 담을 수 있는 정수 범위를 넘음
{"d":9007199254740993}{"d":9007199254740992}253보다 큰 정수는 1 단위가 어긋날 수 있음
{"z":100000000000000000000000}{"z":1e+23}큰 수는 지수 표기로 바뀜
{"f":1.0,"y":1.10,"e":1e3}{"f":1,"y":1.1,"e":1000}숫자는 값만 남고 표기는 사라짐
{"a":1,"a":2}{"a":2}같은 키가 두 번이면 뒤의 값만 남음
{"b":1,"2":2,"1":3}{"1":3,"2":2,"b":1}숫자 모양의 키가 앞으로 정렬됨
{"u":"\uac00","s":"a\/b"}{"u":"가","s":"a/b"}이스케이프 표기가 실제 글자로 풀림

주문번호나 회원 ID처럼 16자리를 넘는 정수가 숫자 타입으로 들어 있으면 끝자리가 바뀝니다. 이 도구만이 아니라 자바스크립트로 JSON을 읽는 모든 곳에서 같은 일이 일어나므로, 그런 값은 처음부터 따옴표로 감싼 문자열로 주고받아야 합니다. 정렬 결과를 원본과 글자 단위로 비교하는 용도로 쓴다면 위 표의 변화도 "차이"로 잡힌다는 점을 염두에 두세요.

자주 보는 오류 메시지 (크롬·엣지 기준, 브라우저마다 문구가 다릅니다)

입력표시되는 메시지
{"a":1,}Expected double-quoted property name in JSON at position 7 (line 1 column 8)
{'a':1} 또는 {a:1}Expected property name or '}' in JSON at position 1 (line 1 column 2)
{"a":1 // 주석Expected ',' or '}' after property value in JSON at position 7 (line 1 column 8)
[1,2,3,]Unexpected token ']', "[1,2,3,]" is not valid JSON
{"a":01}Unexpected number in JSON at position 6 (line 1 column 7)
{"a":NaN}Unexpected token 'N', "{"a":NaN}" is not valid JSON
{"a":1}{"b":2}Unexpected non-whitespace character after JSON at position 7 (line 1 column 8)
문자열 값 안에 실제 줄바꿈·탭Bad control character in string literal in JSON

position은 0부터, column은 1부터 셉니다. 그래서 position 7과 column 8은 같은 자리, 곧 여덟 번째 글자를 가리킵니다. 끝 쉼표 오류는 쉼표 자체가 아니라 그다음 글자(닫는 괄호) 위치로 표시되므로 표시된 자리의 바로 앞을 보세요.

활용 팁
  • API 디버깅: API 응답으로 받은 한 줄짜리 JSON을 "정렬"하면 키-값 구조를 한눈에 파악할 수 있어 디버깅 시간이 크게 줄어듭니다. Postman 없이 빠르게 확인할 때 유용합니다.
  • 전송 효율화: 서버 요청 바디나 파일 저장 시 "압축"을 사용해 불필요한 공백을 없애세요. 대용량 JSON에서 수십 KB 이상의 트래픽을 줄일 수 있습니다.
  • 흔한 JSON 오류: 마지막 원소 뒤 쉼표(trailing comma), 키가 쌍따옴표가 아닌 경우, 작은따옴표 사용이 가장 자주 발생하는 문법 오류입니다. 오류 메시지에 줄 번호가 표시되므로 해당 위치를 먼저 확인하세요.
자주 묻는 질문
Q. 대용량 JSON 파일도 처리할 수 있나요?

브라우저에서 처리하므로 수십 MB 이상의 JSON은 느릴 수 있습니다. 일반적인 API 응답(수십 KB~수 MB)은 즉시 처리됩니다.

Q. 한글이 포함된 JSON도 정상 처리되나요?

네. JavaScript의 JSON.parse/stringify는 유니코드를 완벽히 처리하므로 한글, 이모지 등이 포함된 JSON도 문제없습니다.

Q. 결과를 파일로 다운로드할 수 있나요?

현재 다운로드 기능은 없습니다. 복사 버튼으로 클립보드에 저장한 뒤 텍스트 에디터에 붙여넣어 저장하세요.

Q. 들여쓰기 칸 수를 바꿀 수 있나요?

이 도구의 정렬은 2칸 들여쓰기를 사용합니다. 4칸 등 다른 들여쓰기가 필요하면 정렬된 결과를 에디터에 붙여넣어 조정하거나, 압축본을 원하는 칸 수로 다시 정렬하면 됩니다.

Q. 주석이 있는 JSON(JSONC)도 처리되나요?

표준 JSON은 주석을 허용하지 않으므로 // 나 /* */ 주석이 들어 있으면 문법 오류로 표시됩니다. 설정 파일(JSONC)처럼 주석이 포함된 경우 주석을 먼저 지운 뒤 정렬하세요.

함께 쓰면 좋은 도구