JSON Formatter|정리와 검증
브라우저에서 JSON을 즉시 정리, 검증, 압축. 스키마 검증, 스키마 생성, 트리 뷰어 기능 제공. 로그인 불필요, 완전 무료.
JSON Formatter란?
JSON Formatter는 원시 또는 잘못된 JSON 텍스트를 몇 초 안에 깔끔하게 들여쓰기된 읽기 쉬운 출력으로 변환하는 브라우저 기반 도구입니다. 개발자들은 항상 읽기 어려운 JSON을 접하게 됩니다. 한 줄로 압축된 API 응답, 공백을 잃어버린 복사된 설정 조각, 또는 미묘한 구문 오류가 있는 수동 편집 파일 등이 그 예입니다. 이 도구는 세 가지 문제를 동시에 해결합니다. 설정 가능한 들여쓰기로 포맷하고, 구문을 검증하며, jsonrepair 라이브러리를 사용하여 일반적인 실수를 자동으로 수정합니다.
서버 측 대안과 달리, JSON Formatter는 완전히 브라우저에서 실행됩니다. 데이터가 절대 컴퓨터를 떠나지 않습니다. 계정, 속도 제한, 비용이 없습니다.
주요 기능
- 사용자 정의 들여쓰기(2 또는 4 스페이스)로 포맷 — Format을 클릭하기 전에 액션 바 드롭다운에서 선호하는 들여쓰기 크기를 선택합니다. 프리셋 저장과 결합할 때 선택이 세션 간에 유지됩니다.
- 오류 메시지로 JSON 구문 검증 — 도구는 자동 수정 시도 후
JSON.parse를 실행하고 입력을 파싱할 수 없는 경우 정확한 오류 메시지를 표시합니다. 접근 가능한role="alert"속성과 함께 출력 패널에 표시됩니다. - 잘못된 JSON 자동 수정 —
jsonrepair라이브러리는 파싱 전에 단일 따옴표 문자열, 후행 쉼표, 따옴표 없는 키 및 기타 일반적인 편차를 수정합니다. 수정이 적용되면 눈에 띄는 토스트 알림이 알려줍니다. - JSON 압축(공백 제거) — 모든 포맷 공백이 제거된 한 줄 출력을 생성합니다. 설정 파일에 JSON을 삽입하거나 페이로드 크기를 줄이는 데 유용합니다.
- 포맷된 출력을 클립보드에 복사 — Clipboard API를 사용한 원클릭 복사, 이전 브라우저용 폴백 포함.
- .json 파일로 다운로드 —
application/jsonMIME 유형으로formatted.json으로 출력을 저장합니다. - 스키마 검증기 탭 — JSON 데이터와 JSON Schema draft-07 문서를 붙여넣으면 도구가 정확한 경로(예:
root.user.email)와 함께 모든 위반을 보고합니다. - 스키마 생성기 탭 — 임의의 JSON 객체를 붙여넣으면 도구가 감지된 형식(이메일, 날짜, UUID, URI)을 포함하는 JSON Schema draft-07 문서를 추론합니다.
- 트리 뷰어 탭 — 파싱된 JSON을 색상 코드 유형, 검색 강조 표시, 모두 펼치기/접기, 원클릭 경로 복사가 있는 대화형 접을 수 있는 트리로 렌더링합니다.
JSON Formatter 사용 방법
1단계: JSON 붙여넣기
Format/Minify 탭(기본 보기)을 엽니다. 왼쪽의 입력 패널에 JSON을 붙여넣습니다. 텍스트 영역은 모든 크기의 입력을 수락하며 하단 가장자리를 드래그하여 수직으로 크기를 조정할 수 있습니다. 동료의 공유 링크를 로드하는 경우 도구는 URL에서 입력을 자동으로 읽고 토스트 알림을 표시합니다.
2단계: 들여쓰기 선택
패널 아래의 액션 바에서 들여쓰기 드롭다운을 엽니다. 2 스페이스(기본값) 또는 4 스페이스를 선택합니다. 이는 출력의 중첩 수준당 사용되는 스페이스 수를 제어합니다. 4스페이스 들여쓰기는 Python 프로젝트와 일부 스타일 가이드에서 일반적입니다. 2스페이스는 JavaScript 및 Node.js 생태계의 표준입니다.
3단계: Format 클릭
Format 버튼을 클릭하거나 Cmd+Enter (Mac) / Ctrl+Enter (Windows/Linux)를 누릅니다. 포맷된 JSON이 오른쪽의 읽기 전용 출력 패널에 나타납니다. 입력에 후행 쉼표나 따옴표 없는 키와 같은 수정 가능한 문제가 포함된 경우, 토스트 알림이 "JSON formatted and repaired"를 표시하여 수정이 적용되었음을 확인합니다. JSON이 수정 불가능한 경우 특정 파싱 오류와 함께 출력 패널 아래에 오류 메시지가 나타납니다.
입력 예시(압축된 API 응답):
{"user":{"id":4821,"name":"Maria Santos","email":"maria@example.com","roles":["admin","editor"],"active":true,"lastLogin":null}}
2스페이스 들여쓰기 출력:
{
"user": {
"id": 4821,
"name": "Maria Santos",
"email": "maria@example.com",
"roles": [
"admin",
"editor"
],
"active": true,
"lastLogin": null
}
}
4단계: 압축(선택 사항)
JSON을 다시 한 줄로 줄이려면 Minify를 클릭하거나 Cmd+Shift+M / Ctrl+Shift+M을 누릅니다. 환경 변수나 설정 문자열에 삽입해야 하는 포맷된 JSON이 있을 때 유용합니다.
5단계: 출력 복사 또는 다운로드
Copy를 클릭하여 출력을 클립보드에 배치합니다. Download를 클릭하여 formatted.json을 다운로드 폴더에 저장합니다. Copy 버튼은 출력이 존재할 때까지 비활성화되어 실수로 빈 클립보드 작업을 방지합니다.
스키마 검증기 사용
스키마 검증기 탭으로 전환합니다. 왼쪽 패널에 JSON 데이터를, 오른쪽 패널에 JSON Schema 문서를 붙여넣고 Validate를 클릭합니다. 유효한 데이터에는 녹색 체크 표시가, 위반에는 빨간색 목록이 아래에 표시됩니다. 각 위반은 점 표기법 경로(예: root.addresses[0].postalCode)와 실패한 내용에 대한 평이한 언어 설명(예: "String does not match pattern: ^\\d{5}$")을 표시합니다.
스키마 생성기 사용
스키마 생성기 탭으로 전환합니다. 샘플 JSON 객체를 붙여넣고 Generate Schema를 클릭합니다. 도구는 샘플에서 추론된 JSON Schema draft-07 문서를 몇 초 안에 생성합니다. 이메일, 날짜(YYYY-MM-DD), ISO 날짜-시간, UUID, URI처럼 보이는 문자열의 형식 힌트가 포함됩니다.
트리 뷰어 사용
트리 뷰어 탭으로 전환합니다. JSON을 붙여넣으면 500ms 디바운스 후 트리가 자동으로 구축됩니다(버튼을 누를 필요 없음). 임의의 객체 또는 배열 노드를 클릭하여 펼치거나 접습니다. 검색 상자를 사용하여 키 또는 값이 검색어와 일치하는 노드를 강조 표시합니다. Expand All을 클릭하여 전체 구조를 한 번에 열거나, 임의의 노드에 마우스를 올려 해당 필드의 점 표기법 경로를 복사하는 경로 복사 버튼을 표시합니다.
실용적인 예시
API 응답 디버깅
REST API가 문제 해결을 위해 압축된 사용자 프로필을 반환합니다:
{"profile":{"id":"a3f8-bc21","created":"2025-11-03","tier":"pro","quota":{"used":14200,"limit":50000},"features":["export","api","webhooks"]}}
붙여넣고 2스페이스 들여쓰기로 Format을 클릭합니다. 출력이 즉시 중첩 계층을 표시하여 quota가 두 개의 필드를 가진 중첩된 객체이고 features가 세 개의 문자열 배열임이 명확해집니다. 결과를 복사하여 버그 보고서에 붙여넣습니다.
스키마에 대한 설정 파일 검증
애플리케이션이 1에서 65535 사이의 필수 port 정수와 필수 host 문자열이 있는 설정을 기대합니다. 스키마 검증기의 왼쪽 패널에 설정 JSON을, 오른쪽에 다음과 같은 스키마를 붙여넣습니다:
{
"type": "object",
"required": ["host", "port"],
"properties": {
"host": { "type": "string" },
"port": { "type": "integer", "minimum": 1, "maximum": 65535 }
}
}
port가 "8080"(정수 대신 문자열)인 경우, 검증기가 보고합니다: root.port — Expected integer, got string.
새 API 계약에 대한 스키마 생성
새로운 서드파티 API의 샘플 응답이 있고 빠르게 JSON Schema를 작성해야 합니다. 스키마 생성기 탭에 샘플을 붙여넣고 Generate Schema를 클릭합니다. 도구는 몇 초 안에 draft-07 스키마를 생성하며, 이후 minLength, pattern, enum 값과 같은 제약 조건을 추가하여 수동으로 개선할 수 있습니다.
팁과 모범 사례
키보드 단축키를 사용하세요. Cmd+Enter로 포맷하고 Cmd+Shift+M으로 마우스 없이 압축합니다. YAML Formatter에서 JSON 변환에 해당하는 단축키는 Cmd+Shift+J이지만, 이 도구에서 Cmd+Shift+M은 항상 압축을 의미합니다.
수정 알림을 확인하세요. 성공 토스트가 "formatted successfully" 대신 "formatted and repaired"를 표시하면 원본 소스를 검토하십시오. 수정으로 소스에서 수정되어야 하는 설정 파일의 실제 실수가 교정되었을 수 있습니다.
트리 뷰어는 자동으로 구축됩니다. Build Tree를 클릭할 필요가 없습니다. 입력 편집을 중지한 후 500ms에 트리가 렌더링됩니다. 입력을 편집하는 동안 알 수 없는 데이터 구조를 빠르게 탐색하는 데 유용합니다.
JavaScript 접근을 위한 경로를 복사하세요. 트리 뷰어에서 임의의 노드에 마우스를 올리고 나타나는 복사 아이콘을 클릭합니다. 복사된 경로(예: root.users[2].address.city)는 JavaScript에서 JSON.parse() 후에 해당 값에 접근하는 데 필요한 정확한 점-대괄호 표기법입니다.
스키마 생성기는 모든 기존 키를 required로 표시합니다. 스키마를 생성한 후 required 배열을 검토하고 데이터 모델에서 실제로 선택 사항인 필드를 제거하십시오.
일반적인 문제 및 문제 해결
붙여넣기 후 "Invalid JSON syntax" 오류 — 입력을 자동으로 수정할 수 없었습니다. 일반적인 원인은 복사 중에 이중 이스케이프된 따옴표(\"가 아닌 \\")나 터미널에서 붙여넣은 이진 문자입니다. 소스 애플리케이션에서 JSON을 선택하여 다시 복사하거나 보이지 않는 문자를 확인하십시오.
Format 클릭 후 출력이 비어 있음 — 입력 필드가 비어 있거나 공백만 포함합니다. 입력이 비어 있을 때 Format 버튼은 비활성화되지만 어떻게든 트리거되면 "Please enter JSON to format" 오류 메시지가 출력 패널 아래에 나타납니다.
스키마 검증기가 "Invalid JSON data" 표시 — 스키마 검증기의 왼쪽 패널 텍스트가 유효한 JSON이 아닙니다. Format 탭과 달리 스키마 검증기는 자동 수정을 적용하지 않습니다. 먼저 Format 탭에 붙여넣고, 수정된 출력을 복사한 다음 스키마 검증기로 돌아갑니다.
트리 뷰어가 "Invalid JSON" 표시 — 트리 뷰어는 수정 없이 JSON.parse로 파싱합니다. JSON에 사소한 문제가 있으면 먼저 Format 탭에서 포맷하여 깨끗한 복사본을 얻은 다음 트리 뷰어에 붙여넣습니다.
다운로드 시 매번 formatted.json이라는 파일 생성 — 이것은 설계상의 동작입니다. 다운로드 후 파일 이름을 변경하십시오.
개인 정보 보호 및 보안
JSON Formatter는 JavaScript를 사용하여 브라우저에서 모든 것을 처리합니다. 민감한 API 키, 토큰, 비밀번호, JSON에 내장된 개인 데이터를 포함한 어떤 입력도 서버로 전송되지 않습니다. 페이지가 로드된 후 도구는 완전히 오프라인으로 작동합니다. 포맷 로직 자체에는 분석 후크가 없습니다. 데이터가 컴퓨터를 떠나지 않고 프로덕션 시크릿, 데이터베이스 자격 증명, 또는 개인 식별 정보를 안전하게 붙여넣을 수 있습니다.
자주 묻는 질문
JSON Formatter는 무료인가요? 예, JSON Formatter는 사용 제한 없이 완전히 무료입니다. Format, Minify, 스키마 검증기, 스키마 생성기, 트리 뷰어 탭 모두 무료로 사용할 수 있습니다. 저장된 프리셋, 세션 기록, 도구 메모와 같은 Glyph Widgets 서포터 프리미엄 기능은 서포터에게 제공되지만 핵심 포맷 기능은 아무것도 필요하지 않습니다.
오프라인에서 작동하나요? 예. 브라우저에서 페이지가 로드되면 모든 포맷 및 검증 작업이 JavaScript에서 로컬로 실행됩니다. 인터넷에서 연결을 끊고 기능 손실 없이 도구를 계속 사용할 수 있습니다.
여기에 데이터를 붙여넣어도 안전한가요? 예. 모든 처리는 브라우저에서 이루어집니다. 입력 텍스트는 서버로 전송되거나, 기록되거나, 브라우저 세션 외부에 저장되지 않습니다. API 키, 비밀번호, 개인 데이터가 포함된 JSON을 안전하게 포맷할 수 있습니다.
자동 수정은 어떤 JSON 형식을 처리하나요? 도구는 jsonrepair 라이브러리를 사용하며, 단일 따옴표 문자열, 객체와 배열의 후행 쉼표, 따옴표 없는 속성 키, 주석(// 및 / /), 누락된 닫는 괄호, JSON 사양으로부터의 기타 여러 일반적인 편차를 처리합니다.
스키마 검증기는 어떤 제약 조건을 지원하나요? 검증기는 type, enum, required, properties, additionalProperties, minProperties, maxProperties, minLength, maxLength, pattern, format(email, uri, date, date-time, ipv4, ipv6, uuid), minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, minItems, maxItems, uniqueItems, items를 지원합니다.
스키마 생성기는 자동으로 어떤 형식을 감지하나요? 생성기는 이메일 주소, ISO 날짜(YYYY-MM-DD), ISO 날짜-시간, UUID, URI를 감지합니다. 또한 숫자 값에 대해 integer와 number 유형을 구별합니다.
객체 대신 배열을 검증할 수 있나요? 예. 스키마 검증기와 스키마 생성기 모두 배열, 문자열, 숫자, 불리언을 포함한 루트 레벨의 유효한 JSON 값을 수락합니다. 객체만이 아닙니다.
포맷하는 키보드 단축키는 무엇인가요? Format을 트리거하려면 macOS에서 Cmd+Enter 또는 Windows와 Linux에서 Ctrl+Enter를 누릅니다. Minify하려면 Cmd+Shift+M 또는 Ctrl+Shift+M을 누릅니다. 이 단축키는 Format/Minify 탭이 활성화된 경우에만 작동합니다.
매우 큰 JSON 파일을 처리할 수 있나요? 도구는 기록 항목당 최대 10,000자를 저장하지만 포맷 자체에는 브라우저 메모리를 초과하는 내장 제한이 없습니다. 매우 큰 파일(수 메가바이트)은 올바르게 포맷되지만 저사양 장치에서는 텍스트 영역이 느리게 느껴질 수 있습니다.
생성된 스키마는 어떤 스키마 드래프트를 대상으로 하나요? 생성기는 출력의 "$schema": "http://json-schema.org/draft-07/schema#"로 식별되는 JSON Schema draft-07 문서를 생성합니다.
관련 도구
XML Formatter — 동일한 들여쓰기 제어 및 압축 지원으로 XML 문서를 포맷하고 검증합니다.
YAML Formatter — YAML 파일을 포맷하고 설정 가능한 들여쓰기로 직접 JSON 출력으로 변환합니다.
JSON Converter — JSON을 CSV, XML, YAML 및 기타 데이터 형식으로 변환합니다.
지금 JSON Formatter 사용해 보기: JSON Formatter