JSON 포맷터·검증
JSON을 붙여 넣으면 바로 정렬하고, 문법 오류는 줄과 열로 알려 줍니다.
입력값은 브라우저 밖으로 나가지 않음RFC 8259기준일 2026.10.03
입력
출력
JSON 포맷터·검증 사용 방법
- 1입력 칸에 JSON을 붙여 넣거나 「예시 넣기」를 누릅니다.
- 2모드(정렬·압축·검증만)와 들여쓰기를 고르면 결과가 바로 바뀝니다.
- 3「복사」로 결과를 복사하거나 「내려받기」로 .json 파일을 저장합니다.
JSON 포맷터·검증 옵션
- 모드
- 정렬은 줄을 나누고 들여쓰고, 압축은 공백을 모두 뺍니다. 검증만은 출력 없이 올바른 JSON인지와 종류·키 수·깊이만 보여 줍니다.
- 들여쓰기
- 2칸(기본), 4칸, 탭 가운데 고릅니다. 정렬 모드에서만 쓰입니다.
- 키 정렬
- 객체의 키를 사전순(유니코드 코드 포인트 순)으로 정렬합니다. 중첩된 객체에도 적용되고 배열의 순서는 바꾸지 않습니다.
- 비ASCII를 \uXXXX로
- 한글 같은 비ASCII 문자를 \uXXXX 이스케이프로 바꿉니다. 끄면(기본) 문자열을 적힌 그대로 둡니다.
JSON 표준과 이 도구의 동작
이 도구는 RFC 8259를 기준으로 JSON을 읽습니다. 표준에 없는 문법 — 작은따옴표, 따옴표 없는 키, 주석, 끝 쉼표, NaN·Infinity·undefined — 은 오류로 알려 줍니다. 최상위 값은 객체나 배열이 아니어도 됩니다. "text", 42, null도 올바른 JSON입니다.
오류 위치의 열은 글자 수(유니코드 코드 포인트)로 셉니다. 이모지나 한글이 앞에 있어도 화면에서 세는 위치와 같습니다.
숫자를 바꾸지 않는 이유
JavaScript의 숫자는 64비트 부동소수점이라 2⁵³(9,007,199,254,740,992)보다 큰 정수를 정확히 담지 못합니다. 그래서 JSON.parse로 읽었다가 다시 쓰는 포맷터는 주문 번호나 스노플레이크 ID 같은 큰 정수의 끝자리를 바꿔 버립니다. 이 도구는 숫자를 계산하지 않고 글자 그대로 옮기기 때문에 정렬하거나 압축해도 값이 달라지지 않습니다.
JSON 포맷터·검증 예시
한 줄 JSON 정렬 (기본 옵션: 정렬, 2칸)
숫자 1.0은 1로 바뀌지 않고 그대로 남습니다.
입력
{"name":"ZEKILO","tools":["json","base64"],"version":1.0,"beta":true}출력
{ "name": "ZEKILO", "tools": [ "json", "base64" ], "version": 1.0, "beta": true }2⁵³보다 큰 정수
JavaScript의 JSON.parse를 거치면 12345678901234567000으로 바뀌는 값입니다.
입력
{"n":12345678901234567890}출력
{ "n": 12345678901234567890 }키 정렬 + 압축
입력
{"b":1,"a":{"d":2,"c":3}}출력
{"a":{"c":3,"d":2},"b":1}끝 쉼표 오류
입력
{"a":1,}출력
1줄 8열 · 마지막 쉼표는 JSON에서 허용되지 않습니다.
예시는 이 도구를 검증하는 기준 사례의 값입니다.
JSON 포맷터·검증 자주 묻는 질문
입력값이 서버로 전송되나요?
아니요. 입력과 결과는 이 브라우저 안에서만 처리되며 저장하지도 않습니다. 새로 고침하면 사라집니다.
큰 숫자가 바뀌지 않나요?
바뀌지 않습니다. 이 도구는 JavaScript의 JSON.parse를 쓰지 않고 숫자를 적힌 글자 그대로 옮깁니다. 12345678901234567890이나 1.0 같은 값도 그대로 남고, JavaScript에서 읽으면 정밀도가 바뀌는 숫자가 있으면 개수를 알려 줍니다.
주석이나 마지막 쉼표가 있는 JSON도 되나요?
JSON 표준(RFC 8259)은 주석과 끝 쉼표를 허용하지 않습니다. 이 도구는 표준대로 오류로 알려 주고, 어느 줄 어느 열인지와 고치는 방법을 보여 줍니다.
같은 키가 두 번 나오면 어떻게 되나요?
오류는 아니지만 경고를 보여 줍니다. 표준은 키가 유일해야 한다고 권고하고, 대부분의 파서는 마지막 값만 남기기 때문에 의도하지 않은 결과가 생길 수 있습니다. 출력에는 두 키를 모두 그대로 둡니다.
얼마나 큰 JSON까지 처리할 수 있나요?
1MB까지는 입력하는 대로 바로 처리하고, 그보다 크면 「실행」 버튼을 눌러 처리합니다. 최대 20MB까지 넣을 수 있습니다. 큰 입력은 백그라운드에서 처리해 화면이 멈추지 않습니다.
관련 도구
처리 방식·표준
- 처리 위치: 이 브라우저 (내 기기). 전송하거나 저장하지 않습니다.
- 표준: RFC 8259
- 엔진: ZEKILO Dev JSON 파서·출력기 (자체 구현)
- 문자열 안의 이스케이프(\u00e9 등)는 풀지 않고 적힌 그대로 둡니다.
- 빈 입력은 오류가 아닙니다. 출력이 비어 있을 뿐입니다.
- 기준일 2026.10.03
- 변경 이력: 2026.10.03 처음 공개