압축된 JSON을 정렬
{"a":1,"b":[2,3]}{
"a": 1,
"b": [
2,
3
]
}기본은 2 스페이스 들여쓰기. 팀 스타일에 맞춰 4 / 8 스페이스로 전환할 수 있습니다.
모든 처리는 브라우저 내부에서 실행됩니다 — 파일·입력은 서버로 전송되지 않습니다.
왼쪽에 JSON 문서를 붙여 넣으면 오른쪽에 포맷 결과가 표시됩니다. Pretty 모드는 들여쓰기를 적용하고 Minify 모드는 공백을 제거해 압축 출력합니다. 유효하지 않은 JSON은 줄·열 번호와 함께 에러 위치를 표시해 큰 API 응답이나 구문 오류가 묻힌 설정 파일을 디버깅할 때 유용합니다.
들여쓰기 폭은 2 / 4 / 8 스페이스 중에서 고를 수 있습니다. 모든 처리는 브라우저 안에서 끝나므로 거대한 JSON 페이로드도 기기 밖으로 나가지 않습니다.
{"a":1,"b":[2,3]}{
"a": 1,
"b": [
2,
3
]
}기본은 2 스페이스 들여쓰기. 팀 스타일에 맞춰 4 / 8 스페이스로 전환할 수 있습니다.
{
"user": "alice",
"scopes": ["read", "write"]
}{"user":"alice","scopes":["read","write"]}HTTP body용 압축 페이로드가 필요할 때, 또는 설정 문자열에 복사해 넣을 때 유용합니다.
{
"name": "bob"
"age": 30
}Expected , or } at line 3, column 3
에러에는 줄·열 번호가 함께 표시되어 해당 위치로 바로 이동할 수 있습니다.
아니요. 표준 JSON.parse와 JSON.stringify API를 사용해 브라우저 안에서만 처리합니다. 데이터는 페이지 밖으로 나가지 않습니다.
엄격한 JSON은 주석이나 끝 콤마를 허용하지 않습니다. JSON5나 JSONC(tsconfig.json, VS Code의 settings.json 등)는 이 도구에서 거부됩니다. 주석을 먼저 제거하거나 JSON5 전용 포맷터를 사용하세요.
JSON.stringify는 제어 문자와 따옴표만 이스케이프합니다. 한국어·일본어 같은 비ASCII텍스트는 유효한 JSON이므로 가독성이 유지된 채 남습니다. ASCII만 출력해야 한다면 별도로 인코딩하세요.
엄격한 상한은 없지만 매우 큰 문서(10MB이상)는 파싱 중에 페이지가 멈출 수 있습니다. 거대한 파일에는 jq 같은 스트리밍 파서를 권장합니다.
아니요. 숫자는 JavaScript의 Number타입(IEEE 754 배정밀도)으로 파싱되므로 Number.MAX_SAFE_INTEGER(2^53 − 1, 약 9.007 × 10^15)를 넘는 정수는 조용히 정밀도를 잃습니다. 19자리Twitter·Discord스노우플레이크 ID는 끝자리가 다른 값으로 반올림됩니다. 정확한 값을 유지하려면 원본 JSON에서 그 숫자를 문자열로 따옴표 처리한 뒤 정렬하거나, BigInt를 지원하는 파서를 사용하세요.
RFC 8259는 동작을 구현 정의로 두며, JSON.parse는 조용히 마지막 출현만 남깁니다. `{"a":1,"a":2}`는 정렬 후 `{"a":2}`가 되고, 첫 번째 값은 경고 없이 사라집니다. 중복은 보통 생성 측 코드의 버그를 의미하므로, 정렬 결과를 신뢰하기 전에 원본 입력에서 해당 키를 검색해 보세요.
JSON(JavaScript Object Notation)은 RFC 8259에 정의된 구조화 데이터 텍스트 포맷입니다. 포맷터가 하는 일은 두 가지 — 파싱(텍스트 → 메모리 트리)과 직렬화(트리 → 원하는 공백을 적용한 텍스트). 에러는 파싱 단계에서만 발생합니다.
자주 걸리는 함정: 키는 큰따옴표 문자열이어야 하고 마지막 콤마는 허용되지 않습니다. 사용할 수 있는 원시 타입은 문자열·숫자·불리언·null·배열·객체뿐이며, 함수·Date·undefined는 직접 쓸 수 없으므로 애플리케이션 레이어에서 명시적으로 변환해야 합니다.
JSON과 비슷해 보이지만 파싱 동작이 다른 인접 포맷이 몇 가지 있습니다. JSON5는 주석·끝 콤마·따옴표 없는 키를 허용해 사람이 직접 편집하는 설정 파일에 적합합니다. JSONC(tsconfig.json과 VS Code의 settings.json이 채택)는 주석과 끝 콤마를 인정합니다. JSON Lines(NDJSON)는 바깥 배열을 두지 않고 한 줄에 독립된 JSON객체를 하나씩 씁니다. 로그 스트리밍과 추가 전용 파일에 적합합니다. 이 도구는 엄격한 RFC 8259만 구현하므로 이런 변종은 모두 파싱 에러가 됩니다. 먼저 확장 부분을 제거하거나, 대응하는 포맷 전용 도구를 거치세요.
JSON 문서를 JSON Schema(기본 Draft 2020-12)로 검증합니다. 실패 경로와 사유를 표시하며, Ajv로 브라우저 안에서 완전히 처리합니다.
JSON과 YAML을 양방향으로 변환합니다. 에러는 줄 번호와 함께 명확하게 표시합니다.
YAML 구문을 검증하고 모든 에러를 줄/열 번호와 함께 표시합니다. k8s, GitHub Actions, CI 설정 검증에 적합합니다.
CSV와 JSON을 양방향으로 변환합니다. RFC 4180을 따르므로 따옴표나 줄바꿈이 들어간 필드도 처리하며, 구분자와 헤더 옵션도 조절할 수 있습니다.