Devin.KR

JSON FORMATTER · PRETTY PRINT

JSON 포맷터

한 줄로 뭉친 JSON, 읽기 좋게

{"name":"Devin","ready":true} 처럼 한 줄로 온 API 응답을 붙여 넣고 정렬을 누르면 2칸이나 4칸 들여쓰기로 펼쳐 줍니다. 반대로 압축하면 공백을 모두 빼 한 줄로 만들고, 문법이 틀리면 줄과 칸을 알려 줍니다.

  • 2칸·4칸 들여쓰기
  • 한 줄 압축
  • 오류 줄·칸 표시
  • 브라우저에서만 처리
바로 사용하기 ↓

JSON을 입력하세요.

오류 위치 안내

브라우저가 제공하는 파싱 위치를 줄·칸으로 바꿔 표시합니다. 따옴표, 쉼표, 중괄호 누락을 해당 위치 주변에서 확인하세요.

검사 결과와 통계가 필요하다면 JSON 문법 검사기를 사용하세요.

MADE FOR YOUR WORK

이럴 때 쓰세요

API 응답 읽기

로그나 개발자 도구에서 복사한 한 줄짜리 응답을 펼쳐 필드 구조를 눈으로 따라갑니다.

설정 파일 정리

들여쓰기가 뒤섞인 package.json, 설정 JSON 을 2칸이나 4칸으로 통일해 리뷰하기 좋게 만듭니다.

요청 본문 한 줄로

curl 명령이나 환경 변수에 넣을 JSON 을 압축해 줄바꿈 없는 한 줄로 만듭니다.

파싱 오류 위치 찾기

서버가 JSON 파싱에 실패했다고 할 때 붙여 넣어 몇 번째 줄 몇 번째 칸이 문제인지 확인합니다.

STEP BY STEP

JSON 포맷터 사용 방법

이렇게 쓰세요

  1. 입력 JSON 붙여 넣기

    입력 JSON 칸에 정리할 JSON 을 넣습니다.

  2. 들여쓰기 고르기

    들여쓰기에서 2칸 또는 4칸을 선택합니다.

  3. 정렬 또는 압축

    정렬은 들여쓰기로 펼치고, 압축은 공백 없이 한 줄로 만듭니다. 상태 줄에 '유효한 JSON' 또는 오류 위치가 나오고, 브라우저가 위치를 주지 않는 오류는 '위치 확인 불가'로 표시합니다.

  4. 결과 복사

    결과 칸의 내용을 결과 복사 버튼으로 가져갑니다. 지우기는 입력과 결과를 모두 비웁니다.

UNDERSTAND THE BASICS

JSON 문법, 이것만 지키면 된다

JSON 은 자바스크립트 객체 표기에서 나왔지만 규칙이 훨씬 엄격합니다. 키는 반드시 큰따옴표로 감싸야 하고, 문자열도 큰따옴표만 됩니다. 마지막 요소 뒤의 쉼표, 주석, undefined, NaN 은 모두 문법 오류입니다.

값은 여섯 종류뿐입니다. 문자열, 숫자, true·false, null, 객체 {}, 배열 [] 입니다. 날짜 타입이 따로 없어 날짜는 보통 "2026-09-24T09:00:00Z" 같은 문자열로 주고받습니다.

정렬과 압축은 내용을 바꾸지 않는 것처럼 보이지만, 한 번 읽었다가 다시 쓰는 과정이라 표기가 바뀌는 곳이 있습니다. 1.0 은 1 로, 1e2 는 100 으로 바뀌고, 같은 키가 두 번 나오면 뒤의 값만 남습니다. 원문 그대로를 보존해야 하는 서명 대상 JSON 에는 결과를 쓰지 마세요.

자주 틀리는 JSON 문법
틀린 예고친 예이유
{name: "Devin"}{"name": "Devin"}키도 큰따옴표 필수
{'a': 'b'}{"a": "b"}작은따옴표 불가
[1, 2, 3,][1, 2, 3]마지막 쉼표 불가
{"a": 1 // 주석}{"a": 1}주석 불가
{"n": 007}{"n": 7}숫자 앞 0 불가
{"v": undefined}{"v": null}undefined 는 JSON 값이 아님

JSON 포맷터 사용 안내

JSON을 2칸 또는 4칸으로 정렬하고 압축합니다. 오류의 줄과 칸을 브라우저에서 바로 확인합니다.

JSON을 붙여 넣고 정렬 또는 압축을 누르세요. 오류 위치는 브라우저가 제공할 때 표시합니다. JSON에서는 키와 문자열에 큰따옴표를 사용해야 합니다.

QUICK EXAMPLE

JSON 포맷터 사용 예제

입력 · 시작

{"name":"Devin","active":true}

결과 · 확인

들여쓰기된 JSON 또는 공백을 줄인 JSON

주석과 마지막 쉼표는 JSON 표준 문법에 포함되지 않습니다.

어떻게 구현했나

정렬과 압축 모두 브라우저의 JSON.parse 와 JSON.stringify 를 씁니다. 들여쓰기 칸 수를 0으로 주면 압축이 되므로 두 기능이 같은 코드입니다.

손이 간 곳은 오류 표시입니다. 엔진이 주는 메시지는 브라우저마다 형식이 달라서, 'line n column n' 형태면 그대로 쓰고 'position n' 형태면 그 위치까지 문자를 세어 줄과 칸을 직접 계산합니다.

위치를 알려주지 않으면 큰 JSON 에서 어디가 틀렸는지 찾는 데 시간이 다 갑니다. 유효성 판정만 하는 것과 위치를 짚어 주는 것의 차이가 이 도구의 값입니다.

BEFORE YOU FINISH

자주 하는 실수

큰 정수 ID 가 바뀐 줄 모른다

브라우저의 JSON 처리는 숫자를 배정밀도로 읽어 2^53 을 넘는 정수는 끝자리가 바뀔 수 있습니다(9007199254740993 → …992). 이 도구는 그런 수를 발견하면 조용히 바꾸지 않고 변환을 멈추고 알려 줍니다. 긴 ID 는 문자열로 주고받으세요.

키 순서가 그대로일 거라 믿는다

"1", "2" 처럼 숫자 모양의 키는 결과에서 맨 앞으로, 작은 수부터 정렬돼 나옵니다. 나머지 키는 원래 순서를 지킵니다.

오류 위치의 바로 그 칸만 본다

마지막 쉼표 오류는 쉼표가 아니라 다음 } 위치로 찍힙니다. 표시된 위치 바로 앞 줄까지 함께 살펴보세요.

자주 묻는 질문

JSON 을 보기 좋게 정렬하는 방법은?

입력 JSON 칸에 붙여 넣고 들여쓰기를 고른 뒤 정렬을 누르세요. 결과 칸에 들여쓰기된 JSON 이 나옵니다.

JSON 을 한 줄로 압축하려면?

압축 버튼을 누르면 모든 공백과 줄바꿈을 뺀 한 줄 JSON 이 나옵니다. 문자열 안의 공백은 그대로 남습니다.

키를 알파벳순으로 정렬할 수 있나요?

지원하지 않습니다. 이 도구의 '정렬'은 들여쓰기로 보기 좋게 펼친다는 뜻이며 키 순서는 바꾸지 않습니다(숫자 모양 키 제외).

한글이 \uAC00 처럼 나와요

입력의 \uAC00 같은 유니코드 이스케이프는 정렬하면 '가' 같은 실제 글자로 풀려 나옵니다. 의미는 같습니다.

JSON 에 주석을 넣을 수 있나요?

표준 JSON 은 주석을 허용하지 않아 오류가 납니다. 주석이 필요한 설정이라면 JSONC·JSON5 를 지원하는 도구를 쓰거나 YAML 을 고려하세요.

입력한 데이터는 어디에서 처리하나요?

이 도구의 입력 데이터는 브라우저에서 처리하며 도구 기능을 위해 서버로 업로드하지 않습니다. 결과를 공유하기 전 민감한 정보가 없는지 확인하세요.

함께 쓰면 좋은 도구

전체 도구 바로가기

손으로 익히기

문서 · 데이터 변환

개발 실무

한국 개발 특화

API · 네트워크

이미지 · 색상