Skip to content

JSON 포맷터 (JSON Formatter)

브라우저에서 JSON을 즉시 포매팅하고 유효성 검사를 수행합니다. 온라인 도구로 구문 검사, 오류 감지, 최소화, 복사를 지원하며 데이터는 서버로 전송되지 않습니다.

트래킹 없음 브라우저 실행 무료
출력
RFC 8259 준수와 포매팅 정확성에 대해 검토됨 — Go Tools 엔지니어링 팀 · Mar 22, 2026

JSON이란 무엇인가요?

JSON(JavaScript Object Notation)은 사람이 읽고 쓰기 쉬우며 기계가 파싱하고 생성하기 쉬운 경량 텍스트 기반 데이터 교환 형식입니다. RFC 8259와 ECMA-404로 표준화된 JSON은 사실상 모든 프로그래밍 언어, API, 웹 서비스에서 데이터 교환의 보편적 표준이 되었습니다.

JSON의 창시자 Douglas Crockford는 json.org에 "JSON의 설계 목표는 최소화되고, 이식 가능하며, 텍스트 기반이고, JavaScript의 부분집합이 되는 것이었다"고 썼습니다. 바로 이 의도적인 단순함 덕분에 JSON은 XML을 제치고 현대 웹의 공용어가 되었습니다.

JSON은 여섯 가지 데이터 타입을 지원합니다. 문자열(큰따옴표로 감싼), 숫자, 불리언(true/false), null, 배열(순서 있는 목록), 객체(키-값 쌍)입니다(RFC 8259). 단순함과 가독성 덕분에 JSON은 대부분의 현대 웹 애플리케이션, REST API, 설정 파일에서 XML보다 선호되는 형식이 되었습니다. JSON은 API에서 가장 많이 사용되는 데이터 형식으로, 개발자의 86%가 사용합니다(Postman State of API Report 2023).

JSON 포맷터는 원본이나 최소화된 JSON을 잘 구조화되고 들여쓰기된 형식으로 변환하여 데이터 계층을 한눈에 볼 수 있게 합니다. API 응답 디버깅, 설정 파일 검사, 복잡한 중첩 데이터 구조 이해에 필수적인 기능입니다. JSON은 XML과 달리 주석, 속성, 네임스페이스를 지원하지 않으며 순수하게 데이터 표현에 집중합니다(ECMA-404).

이 도구는 전적으로 브라우저 내부에서 실행되므로 JSON 데이터가 기기를 벗어나지 않습니다. 서버 기반 포맷터와 달리 업로드, 로깅, 데이터 보존이 없습니다. API 키, 프로덕션 설정, 내부 데이터와 함께 안전하게 사용할 수 있습니다.

JSON은 다른 개발자 도구와 함께 자주 사용됩니다. API를 디버깅할 때는 Base64로 인코딩된 JSON 페이로드(JWT 토큰 등)를 디코딩하거나, JSON 데이터 구조 내부에서 고유 식별자로 사용할 UUID를 생성해야 할 수 있습니다. JSON5 또는 JSONC 설정 파일을 다루는 경우 구문 차이, 도구 지원, 모범 사례를 정리한 별도 가이드를 참고하십시오.

// Format (pretty-print) JSON with 2-space indentation
const raw = '{"name":"Alice","age":30,"active":true}';
const parsed = JSON.parse(raw);        // parse string → object
const formatted = JSON.stringify(parsed, null, 2);
console.log(formatted);
// → {
//     "name": "Alice",
//     "age": 30,
//     "active": true
//   }

// Minify JSON (strip all whitespace)
const minified = JSON.stringify(parsed);
console.log(minified);
// → '{"name":"Alice","age":30,"active":true}'

주요 기능

즉시 포매팅

어떤 JSON이든 붙여넣으면 밀리초 단위로 완벽하게 들여쓰기된 출력을 얻을 수 있습니다. 2칸과 4칸 들여쓰기를 지원합니다.

실시간 유효성 검사

입력하는 동안 구문 오류를 자동으로 감지하고, 정확한 줄과 위치를 가리키는 명확한 오류 메시지를 표시합니다.

원클릭 최소화

포매팅된 JSON을 한 줄로 압축하여 프로덕션 API와 설정 파일의 파일 크기를 줄입니다.

100% 브라우저 기반

모든 처리는 브라우저 내부에서 이루어집니다. 데이터가 기기를 벗어나지 않으며, 서버 업로드도 추적도 없습니다.

대용량 파일 지원

최대 10MB의 JSON 파일을 원활한 성능으로 효율적으로 처리하며, 파일 크기 경고나 충돌이 발생하지 않습니다.

복사 및 다운로드

결과를 즉시 내보낼 수 있습니다. 한 번의 클릭으로 클립보드에 복사하거나 .json 파일로 다운로드할 수 있습니다.

예제

API 응답

{"status":200,"data":{"user":{"id":"usr_2x7kP9","name":"Alice Chen","email":"alice@example.com","roles":["admin","editor"],"lastLogin":"2026-03-12T08:30:00Z"},"meta":{"requestId":"req_abc123","timestamp":1741776600}}}

중첩된 사용자 데이터와 메타데이터를 포함한 일반적인 REST API 응답을 포매팅합니다

패키지 설정

{"name":"my-app","version":"2.1.0","private":true,"scripts":{"dev":"next dev","build":"next build","start":"next start","lint":"eslint ."},"dependencies":{"react":"^18.2.0","next":"14.1.0"},"devDependencies":{"typescript":"^5.3.0","eslint":"^8.56.0"}}

최소화된 package.json 설정 파일을 예쁘게 정렬합니다

데이터 컬렉션

[{"id":1,"product":"Laptop Pro","price":1299.99,"inStock":true,"tags":["electronics","computers"]},{"id":2,"product":"Wireless Mouse","price":29.99,"inStock":false,"tags":["electronics","accessories"]},{"id":3,"product":"USB-C Hub","price":49.99,"inStock":true,"tags":["electronics","accessories"]}]

데이터베이스나 전자상거래 API에서 가져온 상품 객체 배열을 포매팅합니다

중첩 설정

{"database":{"host":"localhost","port":5432,"name":"mydb","pool":{"min":2,"max":10}},"cache":{"enabled":true,"ttl":3600,"provider":"redis"},"logging":{"level":"info","format":"json","outputs":["stdout","file"]}}

데이터베이스, 캐시, 로깅 설정을 포함한 깊게 중첩된 애플리케이션 설정에 들여쓰기를 적용합니다

사용 방법

  1. 1

    JSON 붙여넣기

    위 입력 필드에 원본 JSON 데이터를 입력하거나 붙여넣으십시오. '예제 불러오기'를 클릭하여 샘플을 사용해 볼 수도 있습니다.

  2. 2

    포매팅 또는 최소화

    'JSON 포매팅'을 클릭하여 들여쓰기로 예쁘게 정렬하거나 'JSON 최소화'를 클릭하여 한 줄로 압축하십시오.

  3. 3

    결과 복사

    처리된 결과가 출력 영역에 표시됩니다. '복사'를 클릭하면 즉시 클립보드에 저장됩니다.

흔한 JSON 오류

후행 쉼표

JSON은 배열이나 객체의 마지막 요소 뒤에 오는 쉼표를 허용하지 않습니다. 특히 JavaScript 코드에서 복사할 때 자주 발생하는 오류 중 하나입니다.

✗ 오류
{"name": "Alice", "age": 30,}
✓ 정상
{"name": "Alice", "age": 30}

작은따옴표

JSON은 모든 문자열과 키에 큰따옴표를 요구합니다. 작은따옴표는 JavaScript에서는 유효하지만 JSON에서는 유효하지 않습니다.

✗ 오류
{'name': 'Alice'}
✓ 정상
{"name": "Alice"}

따옴표 없는 키

JSON의 모든 속성 키는 큰따옴표로 감싸야 합니다. 따옴표 없는 키는 JavaScript 객체에서는 유효하지만 JSON에서는 유효하지 않습니다.

✗ 오류
{name: "Alice"}
✓ 정상
{"name": "Alice"}

주석

표준 JSON은 어떤 형태의 주석도 지원하지 않습니다. 주석이 필요하다면 JSONC(JSON with Comments)나 YAML을 대신 고려하십시오.

✗ 오류
{"name": "Alice" // user name}
✓ 정상
{"name": "Alice"}

괄호 누락

모든 여는 괄호나 중괄호는 반드시 짝을 이루는 닫는 괄호나 중괄호가 있어야 합니다. 짝이 맞지 않는 괄호는 'Unexpected end of JSON input' 오류를 일으킵니다.

✗ 오류
{"users": [{"name": "Alice"}
✓ 정상
{"users": [{"name": "Alice"}]}

예상치 못한 토큰

이 오류는 파서가 해당 위치에 올 수 없는 문자를 만났을 때 발생합니다. 흔한 원인으로는 요소 사이의 쉼표 누락이나 JSON이 끝난 뒤의 추가 문자가 있습니다.

✗ 오류
{"name": "Alice" "age": 30}
✓ 정상
{"name": "Alice", "age": 30}

주요 활용 사례

API 응답 디버깅
최소화된 API 응답을 읽기 쉬운 JSON으로 포매팅하여 빠르게 디버깅하고 검사합니다.
설정 파일
package.json, tsconfig.json, .eslintrc 같은 설정 파일의 유효성을 검사하고 예쁘게 정렬합니다.
데이터 검사
데이터베이스, 로그, 서드파티 서비스에서 내보낸 JSON 데이터를 탐색하고 이해합니다.
코드 리뷰
코드 리뷰 중 더 명확한 차이점 확인과 쉬운 비교를 위해 JSON 스니펫을 포매팅합니다.
문서화
기술 문서와 튜토리얼용으로 깔끔하게 포매팅된 JSON 예제를 생성합니다.
데이터 마이그레이션
새 시스템으로 데이터를 가져오기 전에 JSON 구조와 구문의 유효성을 검사합니다.

기술 세부 정보

RFC 8259 준수
Unicode 및 이스케이프 문자를 포함한 표준 JSON 사양을 완전히 지원합니다.
브라우저 기반 처리
모든 포매팅은 네이티브 JSON.parse()와 JSON.stringify()를 사용하여 브라우저 내부에서 실행됩니다.
파일 크기 지원
구성 가능한 들여쓰기(2칸 또는 4칸)로 최대 10MB의 JSON 파일을 처리합니다.

모범 사례

사용 전 유효성 검사
구문 오류를 조기에 잡기 위해 프로덕션에서 사용하기 전에 항상 JSON 데이터의 유효성을 검사하십시오.
일관된 들여쓰기 사용
가독성과 버전 관리에서의 작은 파일 크기를 위해 2칸 들여쓰기를 유지하십시오.
프로덕션에서는 최소화
대역폭과 로드 시간을 줄이기 위해 API 응답과 설정 파일에 최소화된 JSON을 사용하십시오.

자주 묻는 질문

JSON을 온라인에서 어떻게 포매팅하나요?
원본 또는 최소화된 JSON을 위 입력 필드에 붙여넣고 "JSON 포매팅" 버튼을 클릭하십시오. 도구는 즉시 데이터를 파싱하고 구문 유효성 검사를 수행한 뒤 2칸 들여쓰기로 정렬된 버전을 표시합니다. 결과는 한 번의 클릭으로 클립보드에 복사할 수 있습니다. 모든 처리는 브라우저 내부에서 이루어지므로 데이터가 서버로 전송되지 않습니다.
JSON 유효성 검사는 어떻게 하나요?
JSON을 입력 필드에 붙여넣고 "JSON 포매팅" 버튼을 클릭하십시오. JSON에 구문 오류가 있으면 도구는 무엇이 잘못되었고 어디서 발생했는지 상세한 오류 메시지를 표시합니다. JSON이 유효하면 출력 영역에 포매팅되어 표시됩니다. 이 도구는 현재 JSON 표준인 RFC 8259를 기준으로 유효성 검사를 수행합니다.
JSON 최소화는 어떻게 하나요?
JSON을 입력 필드에 붙여넣고 "JSON 최소화" 버튼을 클릭하십시오. 도구는 불필요한 공백 문자, 줄바꿈, 들여쓰기를 모두 제거하여 가장 압축된 형태로 출력합니다. 최소화된 JSON은 API 응답, 프로덕션 설정 파일, 파일 크기나 대역폭이 중요한 모든 상황에 적합합니다.
이 도구를 사용할 때 JSON 데이터는 안전한가요?
네, 완전히 안전합니다. 모든 처리는 JavaScript의 네이티브 JSON.parse() 및 JSON.stringify()를 사용하여 브라우저 내부에서 이루어지며 데이터는 기기를 벗어나지 않습니다. 서버 업로드, 쿠키, 입력에 대한 애널리틱스 추적, 데이터 저장이 일체 없습니다. 따라서 API 키, 인증 정보, 내부 데이터와 함께 안전하게 사용할 수 있습니다.
JSON의 "Unexpected token" 오류는 어떻게 해결하나요?
"Unexpected token" 오류는 JSON 파서가 해당 위치에 올 수 없는 문자를 발견했다는 의미입니다. 가장 흔한 원인은 요소 사이의 쉼표 누락 ({"name": "Alice" "age": 30}), 마지막 요소 뒤의 후행 쉼표 ({"name": "Alice",}), JSON이 끝난 뒤의 추가 문자입니다. JSON을 이 도구에 붙여넣으면 정확한 오류 위치가 표시되므로 그 주변 문자를 확인하십시오.
JSON에서 "trailing comma" 오류는 왜 발생하나요?
JSON은 객체나 배열의 마지막 요소 뒤에 오는 쉼표를 허용하지 않습니다. JavaScript를 비롯한 많은 언어가 후행 쉼표를 허용하기 때문에 발생하는 가장 흔한 오류 중 하나입니다. 예를 들어 {"name": "Alice", "age": 30,}는 유효하지 않은 JSON입니다. 30 뒤의 쉼표를 제거해야 합니다. JavaScript 코드에서 데이터를 복사하는 경우가 많다면 JSON으로 사용하기 전에 항상 후행 쉼표를 확인하십시오.
JSON에서 작은따옴표를 사용할 수 있나요?
아니요. JSON은 모든 문자열과 속성 키에 큰따옴표를 요구합니다. 작은따옴표는 JavaScript와 Python에서는 유효하지만 JSON 사양(RFC 8259)에는 포함되지 않습니다. 예를 들어 {'name': 'Alice'}는 유효하지 않으며 {"name": "Alice"}로 작성해야 합니다. 작은따옴표가 포함된 데이터가 있는 경우 이 도구가 구문 오류를 보고하고 수정해야 할 정확한 위치를 표시합니다.
JSON에 주석을 추가할 수 있나요?
아니요. 표준 JSON은 //, /* */, # 등 어떤 형태의 주석도 지원하지 않습니다. 이는 JSON을 단순하고 파싱하기 쉽게 유지하기 위한 의도적인 설계 결정입니다. 설정 파일에 주석이 필요하다면 JSONC(VS Code와 TypeScript가 사용하는 JSON with Comments), JSON5, YAML을 고려하십시오. 주석이 포함된 파일을 표준 JSON으로 사용하려면 파싱 전에 주석을 제거해야 합니다.
JSON이 제대로 파싱되지 않는 이유는 무엇인가요?
JSON 파싱 실패의 가장 흔한 원인은 다음과 같습니다. (1) 마지막 요소 뒤의 후행 쉼표, (2) 큰따옴표 대신 사용된 작은따옴표, (3) 따옴표 없는 속성 키, (4) 데이터 내 주석, (5) 누락되거나 초과된 괄호 또는 중괄호, (6) 문자열 내부의 이스케이프되지 않은 백슬래시나 줄바꿈 같은 특수 문자. JSON을 이 도구에 붙여넣으면 정확한 오류 유형과 위치를 지적해 주므로 빠르게 수정할 수 있습니다.
JSON과 YAML의 차이는 무엇인가요?
JSON과 YAML은 모두 데이터 직렬화 형식이지만 설계 철학이 다릅니다. JSON은 중괄호, 대괄호, 큰따옴표를 엄격한 구문으로 사용하여 기계 파싱과 API에 적합합니다. YAML은 들여쓰기와 최소한의 구두점을 사용하여 사람이 읽기 쉬우며 설정 파일(Docker Compose, Kubernetes, GitHub Actions)에 많이 사용됩니다. JSON은 YAML의 부분집합이므로 모든 유효한 JSON은 유효한 YAML이기도 하지만 그 반대는 성립하지 않습니다.
JSON Schema란 무엇인가요?
JSON Schema는 JSON 자체의 일부가 아니라 별도의 표준으로, JSON 데이터의 예상 구조, 타입, 제약 조건을 정의합니다. 예를 들어 어떤 필드가 문자열이어야 한다거나, 숫자가 1에서 100 사이여야 한다거나, 배열이 최소 하나의 요소를 포함해야 한다고 지정할 수 있습니다. JSON Schema는 API 요청/응답 유효성 검사, 폼 생성, 문서화에 널리 사용됩니다. 이 도구는 JSON 구문에 대한 유효성 검사를 수행하며 JSON Schema 검증은 하지 않습니다. 스키마 검증에는 전용 JSON Schema 검증기를 사용하십시오.
JSON과 JSON5의 차이는 무엇인가요?
JSON5는 개발자들이 자주 요구하는 기능을 추가한 JSON의 확장입니다. 작은따옴표와 큰따옴표, 후행 쉼표, 주석(// 및 /* */), 따옴표 없는 키, 여러 줄 문자열, 16진수 숫자를 지원합니다. JSON5는 사람이 직접 편집하는 설정 파일에서 자주 사용됩니다. 표준 JSON 파서는 JSON5를 읽을 수 없으므로 JSON5 파서가 필요합니다. 이 도구는 표준 JSON(RFC 8259)만 지원합니다.
JSON 파일의 최대 크기는 얼마인가요?
JSON 사양 자체에는 파일 크기 제한이 없습니다. 실제 한계는 파서와 환경에 따라 달라집니다. 브라우저는 일반적으로 메모리 문제가 발생하기 전까지 500 MB~1 GB 정도의 JSON을 처리할 수 있고, 서버 측 파서(Node.js, Python, Java)는 스트리밍 파서를 사용하여 더 큰 파일도 처리할 수 있습니다. 이 온라인 도구는 약 10 MB까지의 JSON을 효율적으로 처리합니다. 매우 큰 JSON 파일의 경우 jq 같은 명령줄 도구나 스트리밍 파서 사용을 고려하십시오.
완전히 최소화된 대용량 API 응답을 디버깅하기 위해 읽기 쉽게 만드는 가장 빠른 방법은 무엇인가요?
최소화된 JSON을 이 도구에 붙여넣고 JSON 포매팅 버튼을 클릭하십시오. 데이터를 즉시 파싱하고 2칸 들여쓰기로 예쁘게 정렬하여 중첩된 객체와 배열을 한눈에 볼 수 있게 해 줍니다. 5~10 MB 규모의 매우 큰 응답의 경우, 이 브라우저 기반 도구는 브라우저의 네이티브 JSON.parse()를 시작 오버헤드 없이 사용하기 때문에 VS Code나 명령줄 jq보다 빠를 때가 많습니다. Ctrl+V 단축키로 붙여넣으면 결과가 즉시 나타납니다. 프로그래밍 방식으로 포매팅하려면 JavaScript의 JSON.stringify(data, null, 2)나 명령줄에서 python -m json.tool을 사용하십시오.
JavaScript 코드에서 데이터를 복사할 때 JSON 파싱 오류가 계속 발생하는데 무엇이 문제인가요?
가장 흔한 원인은 JavaScript 객체 리터럴이 유효한 JSON이 아니라는 점입니다. 사람들이 자주 놓치는 세 가지 차이는 다음과 같습니다. (1) JavaScript는 작은따옴표('name')를 허용하지만 JSON은 큰따옴표("name")를 요구합니다. (2) JavaScript는 후행 쉼표({"a": 1,})를 허용하지만 JSON은 허용하지 않습니다. (3) JavaScript는 따옴표 없는 키({name: "Alice"})를 허용하지만 JSON은 따옴표가 있는 키({"name": "Alice"})를 요구합니다. 또한 JavaScript 주석(// 또는 /* */)은 JSON에서 유효하지 않습니다. 데이터를 이 도구에 붙여넣으면 정확한 오류 유형과 위치를 지적해 주므로 빠르게 수정할 수 있습니다. JavaScript 객체를 JSON으로 자주 변환해야 한다면 중간 단계로 JSON5 형식을 고려하십시오.

Base64 디코더 · 인코더 (Base64 Decoder & Encoder)

인코딩 & 포매팅

Base64를 온라인에서 무료로 인코딩하고 디코딩합니다. UTF-8과 이모지를 완벽 지원하는 실시간 변환으로, 100% 브라우저에서 처리되어 회원 가입이 필요 없습니다.

URL 인코더 · 디코더 (URL Encoder & Decoder)

인코딩 & 포매팅

URL을 실시간 인코딩·디코딩하고 내장 파서로 구조를 분석합니다. encodeURI와 encodeURIComponent 모드를 온라인에서 지원하며 데이터는 브라우저를 떠나지 않습니다.

진법 변환기 (Number Base Converter)

변환 도구

2진수, 16진수, 10진수, 8진수 및 임의 진법(2-36)을 즉시 변환합니다. 온라인에서 무료로 사용할 수 있으며 모든 처리는 브라우저에서 이루어집니다.

이미지 압축기 · JPEG, PNG, WebP 온라인 압축

변환 도구

JPEG, PNG, WebP 이미지를 브라우저에서 최대 80% 압축합니다. 업로드 없이 20장 일괄 처리, 품질 조절, 전후 비교를 무료로 지원합니다.

길이 변환기 · 미터법, 야드파운드법, 천문 단위

변환 도구

16개 길이 단위를 즉시 변환합니다. 미터법, 야드파운드법, 해리, 천문 단위까지. 1 inch = 2.54 cm. 온라인에서 무료로, 브라우저에서 바로 실행됩니다.

MD5 해시 생성기 · 파일 체크섬 도구

보안 도구

MD5, SHA-256, SHA-1, SHA-512 해시를 온라인에서 무료로 생성합니다. 브라우저에서 텍스트나 파일을 해싱하고 체크섬을 검증하며 결과를 복사할 수 있습니다.