JSON 포매터 & 검증기 — 정렬, 압축, 오류 찾기
JSON을 보기 좋게 정렬하고, 압축하고, 검증하세요. 파싱 오류는 줄과 열 위치까지 알려 줍니다. 브라우저에서 실행, 업로드 없음.
{
"name": "FreeToolsForWeb",
"tools": [
"image converter",
"word counter",
"JSON formatter"
],
"settings": {
"theme": "light",
"language": "en"
},
"active": true
}모든 작업이 브라우저에서 실행됩니다. 입력한 내용은 전송되거나 저장되지 않습니다. 모든 무료 도구 보기.
문제를 발견하셨거나 개선할 점이 있나요? 모든 메시지를 읽고 빠르게 고칩니다.
이 무료 JSON 포매터는 브라우저에서 JSON을 검증하고 보기 좋게 정렬합니다. API 응답, 설정 파일, 로그 한 줄을 붙여 넣으면 바로 들여쓰기가 다시 적용되고, 파싱되지 않으면 단순한 “Unexpected token” 대신 오류가 난 줄과 열을 알려 줍니다. 아무것도 업로드되지 않으므로 운영 환경 데이터와 API 키가 내 컴퓨터를 벗어나지 않습니다.
Node.js, React 등 모든 최신 런타임이 사용하는 것과 같은 브라우저 자체 JSON 파서를 쓰므로, 여기서 ‘유효’하면 어디서나 유효합니다. 요청 본문이나 작게 유지해야 하는 설정은 압축하고, 두 문서를 비교하려면 키를 정렬하고, 코드를 작성하기 전에 키 개수와 중첩 깊이로 데이터의 구조를 파악하세요.
사용 방법
- 입력 상자에 JSON을 붙여 넣으세요. 입력하는 대로 결과가 업데이트됩니다.
- 읽기 좋은 출력은 정렬을, 한 줄짜리 간결한 출력은 압축을 고르세요. 코드베이스에 맞춰 2칸, 4칸, 탭 중에서 고르세요.
- 두 JSON 문서를 비교해야 할 때는 키 정렬을 켜세요. 같은 데이터는 같은 텍스트가 됩니다.
- 입력이 유효하지 않으면 빨간 상태 줄의 줄과 열 번호를 보고 그 위치를 고치세요. 가장 흔한 원인은 끝에 남은 쉼표, 작은따옴표, 따옴표 없는 키입니다.
- 결과를 복사하거나 .json 파일로 다운로드하세요.
자주 묻는 질문
JSON에서 “Unexpected token” 오류가 나는 이유는 무엇인가요?
거의 항상 네 가지 중 하나입니다. 객체나 배열의 마지막 항목 뒤에 남은 쉼표, 큰따옴표 대신 쓴 작은따옴표, {name: 1}처럼 따옴표 없는 키, 주석입니다. JavaScript에서는 허용되더라도 JSON에서는 모두 허용되지 않습니다. 이 도구는 줄과 열을 알려 주므로 대개 문제의 문자를 바로 가리킵니다.
데이터가 어딘가에 업로드되나요?
아니요. 파싱과 정렬은 JSON.parse와 JSON.stringify로 브라우저에서 이루어집니다. 페이지를 불러온 뒤 인터넷 연결을 끊어도 계속 작동하는 것이 가장 간단한 증거입니다. 그래서 토큰이나 고객 데이터가 담긴 데이터에도 안심하고 쓸 수 있지만, 어떤 브라우저 탭에든 무엇을 붙여 넣을지 평소처럼 주의하는 것은 여전히 필요합니다.
정렬과 압축의 차이는 무엇인가요?
정렬(뷰티파이)은 줄바꿈과 들여쓰기를 넣어 사람이 구조를 읽기 쉽게 합니다. 압축(minify)은 불필요한 문자를 모두 없애 기계가 더 빨리 주고받게 하며, 압축된 문서는 보통 20~40% 작습니다. 어느 쪽이든 데이터는 같고 공백만 달라집니다.
JSON5, JSONC, 주석을 지원하나요?
아니요, 일부러 지원하지 않습니다. 이들은 일부 설정 파일(VS Code 설정, tsconfig)에서 쓰는 상위 형식이지만 API와 JSON.parse는 거부합니다. 여기에 JSONC를 붙여 넣으면 첫 주석에서 실패하는데, 이것이 “내 API가 이걸 받아 줄까?”에 대한 올바른 답입니다. 엄격한 버전이 필요하다면 먼저 주석을 지우세요.
크기 제한이 있나요?
브라우저가 텍스트 상자에 무리 없이 담을 수 있는 만큼입니다. 수 메가바이트 문서는 노트북에서 1초도 안 걸려 정렬되며, 약 50 MB를 넘으면 대부분의 브라우저가 느려지므로 jq 같은 명령줄 도구가 더 낫습니다.
키를 정렬하는 이유는 무엇인가요?
데이터가 같아도 키 순서가 다른 두 JSON 문서는 텍스트가 다르기 때문에, diff 도구에서는 모든 줄이 바뀐 것으로 보입니다. 키를 재귀적으로 정렬하면 순서가 표준화되어 diff에 실제 변경만 나타납니다. 많은 시스템이 JSON 콘텐츠의 안정적인 해시를 만들 때도 이 방법을 씁니다.
사람들이 자주 걸려 넘어지는 JSON 규칙
• 키와 문자열에는 큰따옴표를 써야 합니다. 'single' 작은따옴표는 JavaScript이지 JSON이 아닙니다.
• 끝에 쉼표를 남기면 안 됩니다. 객체나 배열의 마지막 요소 뒤에는 바로 }나 ]가 와야 합니다.
• 어떤 종류의 주석도, undefined나 NaN 값도 안 됩니다. null을 쓰세요.
• 숫자는 앞에 0이 붙거나 끝에 점이 오면 안 됩니다. 0.5와 12는 되지만 05와 12.는 안 됩니다.
• 최상위에는 문자열이나 숫자 하나를 포함해 어떤 값이든 올 수 있지만, 대부분의 API는 객체나 배열을 기대합니다.
압축해야 할 때와 하지 말아야 할 때
네트워크로 대량 전송하는 것은 압축하세요. API 요청·응답 본문, HTML에 삽입된 설정, 페이지가 가져오는 데이터 파일 등입니다. gzip이 이미 공백 비용 대부분을 없애 주므로 이득은 크지 않지만, 공짜입니다. 사람이 편집하거나 검토해야 하는 것은 압축하지 마세요. 저장소에 커밋된 설정, 테스트 스위트의 픽스처, 문서 예시 등입니다. 그런 곳에서는 몇백 바이트보다 가독성이 훨씬 중요합니다.
관련 무료 도구
- Base64 인코더 / 디코더 — 텍스트나 파일을 Base64로 인코딩하고, 이미지를 CSS·<img> 코드와 함께 data URI로 바꾸고, Base64를 미리보기 가능한 파일로 디코딩하세요. 어떤 데이터도 브라우저 밖으로 나가지 않습니다.
- 정규식 테스터 — 실시간 매치 강조, 캡처 그룹, 치환 미리보기로 정규 표현식을 샘플 텍스트에 테스트하세요. 무료, 브라우저에서 실행.
- JWT 디코더 — JWT의 헤더와 페이로드를 디코딩하고, 만료 시간을 알기 쉽게 확인하고, HS·RS·PS·ES 서명을 검증하거나 새 토큰에 서명하세요. 브라우저 밖으로 나가는 것은 없습니다.