JSON 포맷터 및 검증기
아래에 JSON을 붙여넣고 포맷, 축소 또는 검증하세요. 모든 작업은 브라우저에서 로컬로 실행됩니다 — 데이터가 기기를 벗어나지 않습니다.
JSON 한 줄 요약: 구조화된 데이터를 위한 텍스트 형식이며 값의 종류는 여섯 가지뿐입니다 — object, array, string, number, true/false, null. 키와 문자열에는 큰따옴표를 써야 하고, 주석은 쓸 수 없으며 마지막 요소 뒤에 쉼표를 둘 수도 없습니다.
✅ 바로 답
{ "a": 1 }은 유효합니다. { 'a': 1 }, { a: 1 }, { "a": 1, }, // comment는 모두 유효하지 않습니다 — JavaScript나 JSON5의 습관일 뿐 JSON이 아닙니다.
판단 기준: 서식 정리와 압축은 데이터를 바꾸지 않습니다. 토큰 사이의 공백만 늘리거나 줄입니다. 문서가 거부되었다면 그것은 실제 문법 오류이며, 검증기가 파싱이 멈춘 정확한 행과 열을 알려 줍니다.
자주 묻는 질문
JSON 포맷이란 무엇인가요?
JSON 포맷(프리티 프린트)은 원시 JSON에 일관된 들여쓰기와 줄 바꿈을 추가하여 읽고 디버깅하기 쉽게 만듭니다. 원시 JSON은 종종 한 줄로 작성되며, 포맷을 통해 깔끔한 계층 구조로 나뉩니다.
민감한 데이터를 JSON 포맷터로 처리해도 안전한가요?
네. 모든 작업이 브라우저에서 로컬로 실행됩니다 — JSON이 서버에 업로드되지 않으므로 API 응답, 구성 파일 등 민감한 데이터도 안전하게 붙여넣을 수 있습니다.
축소된 JSON은 어떤 모습인가요?
축소된 JSON은 불필요한 공백, 들여쓰기, 줄 바꿈을 모두 제거하여 데이터를 가능한 가장 작은 형태로 압축합니다. 크기가 중요한 API 페이로드에서 흔히 사용됩니다.
잘못된 JSON을 어떻게 수정하나요?
JSON을 포맷터에 붙여넣고 포맷을 클릭하세요. 유효하지 않으면 검증기가 오류의 정확한 줄과 열을 도움말 메시지와 함께 표시하므로, 누락된 쉼표, 따옴표 없는 키, 끝의 불필요한 쉼표 등의 오타를 수정할 수 있습니다.
JSON 포맷터는 무료인가요?
네 — 완전 무료이며, 브라우저에서 회원가입 없이 사용할 수 있고 브라우저가 처리할 수 있는 크기의 JSON이라면 무엇이든 지원합니다.
JSON과 JavaScript 객체는 어떻게 다른가요?
비슷해 보이지만 규칙이 다릅니다. JSON은 텍스트 형식이라 키와 문자열에 큰따옴표를 써야 하고, 값은 객체·배열·문자열·숫자·true/false·null로 제한됩니다. 반면 JavaScript 객체는 작은따옴표, 따옴표 없는 키, 함수, undefined를 허용하므로 JS 객체 리터럴이 유효한 JSON이 되지 못하는 경우가 많습니다.
JSON에 주석이나 마지막 쉼표를 쓸 수 있나요?
쓸 수 없습니다. JSON 명세(RFC 8259)는 주석도, 객체나 배열의 마지막 요소 뒤 쉼표도 허용하지 않습니다. 이 둘이 가장 흔한 오류 원인이며 JavaScript나 JSON5 습관에서 비롯됩니다.
JSON5와 JSONC는 무엇인가요?
JSON5와 JSONC는 JSON을 완화한 상위 집합으로, 주로 손으로 작성하는 설정 파일에 쓰입니다. JSON5는 주석, 마지막 쉼표, 작은따옴표, 따옴표 없는 키를 추가하고, JSONC는 널리 쓰이는 "주석이 있는 JSON"입니다. 둘 다 표준 JSON이 아니며 브라우저와 API는 보통 받아들이지 않으므로, 전송 전에 이런 확장을 제거해야 합니다.
서식을 바꾸면 데이터가 달라지나요?
아닙니다. 정렬과 압축은 토큰 사이의 공백만 바꿉니다. 키 순서, 값, 숫자 정밀도, 문자열 내용은 그대로 유지되므로 정렬된 문서는 원본과 의미상 동일합니다.
유효하지 않은 JSON의 가장 흔한 원인은 무엇인가요?
흔한 원인은 닫는 중괄호나 대괄호 앞의 군더더기 쉼표, 키나 문자열에 쓴 작은따옴표, 따옴표 없는 키, // 주석, 그리고 NaN, Infinity, True, None 같은 다른 언어의 리터럴을 그대로 붙여 넣은 경우입니다.
JSON 포맷터 및 검증기 — JSON을 깔끔하게 정리하고 디버깅하세요
JSON 구조를 한눈에 볼 수 있으면 작업이 훨씬 쉬워집니다. 무료 JSON 포맷터는 축소된 데이터를 깔끔한 들여쓰기로 예쁘게 출력하고, 정확한 오류 위치로 구문을 검증하며, 포맷된 JSON을 API와 저장용으로 다시 축소할 수 있습니다. 회원가입 없음, 업로드 없음, 제한 없음.
우리 JSON 포맷터를 사용해야 하는 이유
- 지저분한 JSON을 원클릭으로 읽기 쉬운 트리로 포맷.
- 정확한 오류 줄·열 번호로 즉시 구문 검증.
- 포맷된 JSON을 축소하여 API 페이로드와 저장 공간 절약.
- 2칸, 4칸 또는 탭 들여쓰기 선택 가능.
- 100% 비공개 — 모든 작업이 브라우저에서 실행됩니다.
- 완전 무료, 회원가입 및 사용 제한 없음.
JSON 도구의 일반적인 용도
- REST 또는 GraphQL API 응답 디버깅.
- package.json이나 .prettierrc 같은 구성 파일 읽기·편집.
- 공유하거나 분석하기 전에 내보낸 데이터 정리.
- 코드에 포함하거나 네트워크로 보내기 전에 JSON 축소.
- JSON 구문 학습 — 유효한 JSON 문서가 어떤 모습인지 확인.
JSON 문법 빠른 참조
| 형식 | 예 | 설명 |
|---|---|---|
| object | {"a":1} | 키는 큰따옴표로 감싼 문자열이어야 합니다. 이 도구는 순서를 유지하지만 명세가 순서를 보장하지는 않습니다. |
| array | [1,2] | 순서가 있는 목록입니다. 형식을 섞을 수 있고 비어 있어도 됩니다. |
| string | "text" | 큰따옴표만 사용합니다. 내부의 따옴표, 역슬래시, 줄바꿈은 역슬래시로 이스케이프해야 하며, 그래야 문자열이 한 줄에 머뭅니다. |
| number | 123 / 1.5 | NaN, Infinity, 앞자리 0, 16진수 리터럴은 쓸 수 없습니다. |
| boolean | true / false | 소문자만 — True는 Python이고 JSON이 아닙니다. |
| null | null | 유일한 빈 값입니다. JSON에는 undefined가 없습니다. |
값의 종류는 이 여섯 가지뿐입니다. 이 목록 밖의 것 — 함수, 날짜, 주석 — 은 JSON으로 전달되기 전에 문자열이나 숫자로 인코딩해야 합니다.
자주 나오는 JSON 오류와 해결 방법
| 오류 | 원인 | 해결 |
|---|---|---|
{"a":1,} | 닫는 중괄호나 대괄호 앞에 쉼표가 남아 있습니다. | 마지막 요소 뒤의 쉼표를 지웁니다. |
{'a':1} | 작은따옴표 — JavaScript에서는 유효하지만 JSON에서는 아닙니다. | 모든 키와 문자열에 큰따옴표를 씁니다. |
// comment | 주석은 JSON 문법에 포함되지 않습니다. | 삭제하거나 JSONC로 두고 전송 전에 제거합니다. |
{a:1} | 객체 키를 따옴표 없이 썼습니다. | "a":1로 씁니다. |
NaN / Infinity | JSON 숫자로 표현할 수 없습니다. | null을 쓰거나 값을 문자열로 보냅니다. |
True / None | Python 리터럴을 JSON에 붙여 넣었습니다. | 소문자 true / false / null을 씁니다. |
이 모두는 데이터 문제가 아니라 문법 오류이므로, 검증기는 "유효하지 않음"이라고만 하지 않고 정확한 행과 열을 짚어 줍니다.
API를 디버깅하는 개발자, JSON 내보내기를 정리하는 데이터 분석가, JSON 구문을 배우는 학생 모두 이 포맷터로 해결할 수 있습니다. 빠르고 안정적이며 매일 무료로 사용할 수 있습니다.
인코딩된 데이터도 다루시나요? JWT나 data URI를 디코딩할 때는 Base64 인코더, JSON 값을 쿼리 문자열에 통과시켜야 할 때는 URL 인코더, 비밀 정보를 저장하기 전에는 비밀번호 생성기와 함께 쓰세요. JSON은 구조화된 데이터를 읽기 쉽게, 이 도구들은 정확하게 유지합니다.