JSON 포맷터 · 정리 · 압축 · 검증

API 응답이나 설정 파일을 붙여넣으면 들여쓰기를 맞춰 읽기 좋게 만들거나, 반대로 공백을 모두 빼서 한 줄로 압축합니다. 잘못된 JSON이면 오류 위치를 줄 번호로 표시합니다.

JSON 포맷터 · 정리 · 압축 · 검증모두의계산기

무엇을 하는 도구인가

JSON(JavaScript Object Notation)은 키-값 구조를 텍스트로 적는 규격입니다. 서버가 돌려주는 응답은 보통 공백 없이 한 줄로 붙어 있어서 눈으로 읽기 어렵습니다. 이 도구는 입력을 파싱한 뒤 들여쓰기를 붙여 다시 출력하고, 반대로 공백·줄바꿈을 모두 제거해 전송용으로 압축하기도 합니다. 파싱·출력은 브라우저의 JSON.parse/JSON.stringify로만 처리되며, 입력한 내용이 서버로 전송되지 않습니다.

오류 위치 읽는 법

파싱에 실패하면 브라우저가 알려주는 문자 위치를 줄·칸으로 바꿔 보여줍니다. 다만 이 위치는 "여기서 더 못 읽었다"는 지점이지 실제 원인이 있는 자리는 아닐 수 있습니다. 예를 들어 배열 마지막 항목 뒤에 쉼표가 남아 있으면 오류는 그 다음 닫는 괄호에서 납니다. 표시된 줄과 바로 앞 줄을 함께 보는 것이 빠릅니다.

JSON이 아닌 것들

JavaScript 객체 리터럴과 JSON은 다릅니다. JSON에서는 키를 반드시 큰따옴표로 감싸야 하고, 작은따옴표는 허용되지 않으며, 주석과 끝 쉼표(trailing comma)도 불가능합니다. undefined, NaN, 함수도 표현할 수 없습니다. 설정 파일에서 주석을 쓰고 싶다면 JSON5나 JSONC 같은 별도 규격을 쓰는 도구인지 확인해야 합니다.

키 정렬과 압축의 용도

키 이름순 정렬은 두 JSON을 diff로 비교할 때 유용합니다. 객체 키의 순서는 의미가 없으므로 정렬해도 데이터는 같습니다. 압축(minify)은 공백만 제거하므로 값은 그대로이고, 전송량을 줄이는 목적이지 난독화는 아닙니다. 숫자는 1.01로, 큰 정수는 자바스크립트 숫자 정밀도(2^53) 한계 때문에 끝자리가 바뀔 수 있다는 점은 주의가 필요합니다.

자주 묻는 질문

큰 숫자의 끝자리가 바뀌었어요.

자바스크립트는 정수를 2^53(약 9천조)까지만 정확히 표현합니다. 그보다 큰 ID 값은 파싱 과정에서 반올림됩니다. 이런 값은 문자열로 다루는 것이 안전합니다.

주석이 있는 설정 파일이 오류가 나요.

표준 JSON은 주석을 허용하지 않습니다. VS Code의 settings.json처럼 주석이 있는 파일은 JSONC 규격이라 이 도구로는 파싱되지 않습니다. 주석을 지우고 넣어야 합니다.

입력한 데이터가 어디로 전송되나요?

어디로도 전송되지 않습니다. 모든 처리는 브라우저 안에서만 이루어지고, 페이지를 닫으면 사라집니다.

함께 보기