필요한 툴을, 바로 쓸 수 있게

JSON 정리·압축기

코드 창에 JSON을 붙여 넣고 정리 또는 압축을 누르면 같은 창에 결과가 나타납니다. 오류가 있으면 표시된 위치를 확인한 뒤 다시 시도하세요.

입력한 JSON은 브라우저 안에서만 처리

Ctrl/⌘ + Enter 정리 · Shift를 함께 누르면 압축

원문을 입력하세요

JSON을 입력하면 문법을 바로 확인합니다.

문자열 안의 공백은 압축해도 그대로 남습니다.

원문0 B
결과—
크기 변화—

입력 최대 1 MiB · 중첩 64단계 · 값 50,000개. 입력 내용은 저장하거나 전송하지 않습니다.

ROBERIN 기준필요한 툴을,
바로 쓸 수 있게.
  • 바로 보이는 화면입력 위치와 결과 위치를 또렷하게 둡니다.
  • 결과 먼저핵심 결과를 앞에 두고, 과정은 필요할 때만 보여줍니다.
  • 요구 줄이기가입이나 불필요한 정보 입력 없이 바로 쓰게 합니다.
Roberin

JSON을 읽기 좋게 정리하고 가볍게 압축하는 방법

JSON 정리·압축기는 읽기 어려운 JSON에 줄바꿈과 들여쓰기를 넣거나, 전달하기 편하도록 문자열 바깥의 불필요한 공백을 줄이는 도구입니다. 원문을 붙여 넣으면 문법을 먼저 확인하고, 정리 또는 압축한 결과를 같은 코드 창에서 바로 복사할 수 있습니다.

입력한 JSON은 브라우저에서 처리합니다. 숫자의 원래 표기와 중복된 키도 텍스트 결과에 남깁니다. 문법이 맞아도 실제 API나 설정 파일의 필수 항목은 빠졌을 수 있습니다. 결과를 적용하기 전에 해당 프로그램의 규칙을 확인하세요.

JSON 정리는 어떤 일을 하나요?

JSON은 이름과 값을 묶은 객체, 순서가 있는 배열, 문자열과 숫자 같은 값을 담는 텍스트 형식입니다. 정리는 값 자체를 바꾸지 않고 구조 사이에 줄바꿈과 들여쓰기를 넣습니다. 한 줄로 받은 API 응답에서 어느 값이 어느 객체에 속하는지 확인할 때 특히 편합니다.

  • {"user":{"name":"민지"},"active":true}를 정리하면 user의 하위 name과 active가 다른 깊이로 보입니다.
  • 중괄호는 객체, 대괄호는 배열을 나타냅니다. 들여쓰기는 그 안팎의 관계를 읽는 표시입니다.
  • 문자열 값의 띄어쓰기와 줄바꿈 이스케이프는 정리 대상 공백과 구별합니다.

2칸과 4칸 중 무엇을 고를까요?

2칸은 중첩이 깊은 자료를 좁은 화면에서 보기 좋습니다. 4칸은 단계 간격이 넓어 구조를 또렷하게 살피기 쉽습니다. 결과를 붙여 넣을 저장소나 팀에 들여쓰기 규칙이 있다면 그 규칙을 우선하세요. 어느 쪽을 택해도 JSON 값은 같습니다.

  • 작은 화면에서 긴 객체를 읽거나 코드 리뷰에 붙일 때는 2칸을 먼저 시도하세요.
  • 깊이가 얕고 각 단계의 구분을 넉넉히 보고 싶다면 4칸을 고르세요.
  • 들여쓰기 선택을 바꾼 뒤 다시 정리하면 새 간격으로 결과를 만들 수 있습니다.

압축은 ZIP 파일 만들기와 다릅니다

JSON 압축은 문자열 바깥의 공백과 줄바꿈을 지워 짧은 텍스트 한 줄로 만드는 일입니다. 네트워크로 보내는 본문이나 설정값 한 칸에 넣을 때 쓸 수 있습니다. ZIP처럼 파일을 묶거나 이진 압축을 하지는 않으며, 키 이름과 데이터 값도 줄이지 않습니다.

  • { "city": "서울 강남" }은 {"city":"서울 강남"}처럼 바뀝니다.
  • 문자열 값인 서울과 강남 사이의 공백은 데이터이므로 남습니다.
  • 복사 전에 받는 곳이 한 줄 JSON을 원하는지, 보기 쉬운 형식을 원하는지 확인하세요.

오류 줄과 열은 어디를 가리키나요?

문법이 잘못된 입력은 정리나 압축 결과를 만들지 않습니다. 화면에 나오는 줄·열은 검사가 더 진행되지 못한 첫 지점입니다. 실제로 고칠 부분은 그 앞의 쉼표나 따옴표일 수도 있으므로 오류 위치로 이동한 다음 같은 줄의 앞뒤도 확인하세요.

  • {"a":1,}에서는 닫는 중괄호 앞의 마지막 쉼표를 지워야 합니다.
  • {"a":1 "b":2}에서는 두 항목 사이에 쉼표가 필요합니다.
  • 한 오류를 고친 뒤 다음 오류가 나타날 수 있습니다. 전체 문서를 다시 검사하세요.

일반 JSON에서 자주 틀리는 표기

자바스크립트 객체를 그대로 붙여 넣으면 JSON 문법과 다른 부분이 드러납니다. JSON의 객체 키와 문자열 값은 큰따옴표로 감싸고, true·false·null은 소문자로 씁니다. 마지막 항목 뒤 쉼표와 주석은 일반 JSON에 허용되지 않습니다.

  • {name:"민지"}는 키의 큰따옴표가 빠졌습니다.
  • {"active":True}는 True 대신 true를 써야 합니다.
  • // 설명, 작은따옴표, undefined, NaN, Infinity는 일반 JSON 값으로 사용할 수 없습니다.

중복 키가 보이면 결과를 전달하기 전에 확인하세요

같은 객체 안에 같은 키가 두 번 있어도 이 도구는 두 항목을 정리·압축 결과에 남기고 경고를 표시합니다. JSON 표준은 객체 이름을 고유하게 쓰도록 권고하지만, 중복 이름을 읽는 프로그램의 동작은 서로 다를 수 있습니다. 경고가 뜨면 원문을 확인해 어떤 값을 남길지 결정하세요.

  • {"id":1,"id":2}는 같은 객체 안에서 id가 중복됩니다.
  • [{"id":1},{"id":2}]는 별도 객체의 id이므로 같은 중복 사례가 아닙니다.
  • 다른 프로그램이 마지막 값만 남길 수도 있어 전송 전 확인이 필요합니다.

긴 숫자는 표기를 유지해도 받는 쪽은 다를 수 있습니다

일반적인 숫자 변환을 거치면 매우 큰 정수나 작은 지수값의 표기가 달라질 수 있습니다. 이 도구는 정리·압축할 때 숫자를 다시 계산하지 않고 입력 토큰을 그대로 씁니다. 그래도 결과를 읽는 다른 프로그램이 어떤 정밀도를 쓰는지는 별개의 문제입니다.

  • 9007199254740993과 1e-400은 이 도구의 텍스트 출력에서 원래 표기로 남습니다.
  • 1.2300의 뒤쪽 0도 출력에서 유지합니다.
  • 긴 식별 번호를 값으로 주고받을 때는 해당 API가 문자열을 허용하는지 확인하세요.

빈 객체와 단일 값도 JSON입니다

JSON 문서의 최상위 값은 객체나 배열이어야만 하는 것은 아닙니다. true, null, 숫자, 문자열 하나도 문법상 JSON입니다. 반면 한 파일에 서로 떨어진 JSON 값 둘을 이어 쓰면 일반 JSON 한 문서로 읽지 못합니다. 여러 레코드를 줄별로 담는 JSONL은 다른 형식입니다.

  • {}와 []는 비어 있어도 각각 유효한 객체와 배열입니다.
  • null과 문자열 "null"은 서로 다른 값입니다.
  • 한 줄에 객체 하나씩 있는 자료는 JSON 배열로 묶거나 JSONL 도구를 사용하세요.

큰 입력이나 깊은 중첩은 먼저 나눠 확인하세요

브라우저가 멈추지 않도록 이 도구는 UTF-8 입력 1 MiB, 객체·배열 중첩 64단계, 값 50,000개까지 처리합니다. 제한을 넘기면 결과 대신 이유를 알립니다. 큰 로그 전체를 한꺼번에 붙이기보다 필요한 JSON 문서나 완전한 객체를 골라 확인하는 편이 빠릅니다.

  • 1 MiB는 1,048,576바이트이며 한글 한 글자는 보통 UTF-8에서 여러 바이트를 차지합니다.
  • 자료를 자를 때는 따옴표나 중괄호 중간을 끊지 말고 완전한 JSON 값으로 나누세요.
  • 이 입력 제한은 표준 문법의 제한이 아니라 도구의 사용 한도입니다.

복사한 결과를 실제 입력 조건과 대조하세요

정리된 결과는 사람이 읽기 쉽고 압축된 결과는 공간을 덜 차지합니다. 어느 쪽이든 문법 검사는 필수 키, 허용 자료형, 값의 범위까지 확인하지 않습니다. API 요청이나 설정 파일에 넣기 전에는 받는 시스템의 명세와 원래 데이터 의미를 다시 대조하세요.

  • {"age":-5}는 JSON 문법상 가능해도 어떤 서비스의 나이 조건에는 맞지 않을 수 있습니다.
  • 문자열 "42"와 숫자 42를 구분하고 필요한 키가 빠지지 않았는지 확인하세요.
  • 오류와 중복 키 경고를 확인한 뒤 원하는 형식의 결과를 복사하세요.

JSON 정리·압축 자주 묻는 질문

JSON 정리와 압축의 차이는 무엇인가요?

정리는 구조 사이에 줄바꿈과 2칸·4칸 들여쓰기를 넣어 읽기 쉽게 만들고, 압축은 문자열 바깥의 불필요한 공백을 지워 짧은 한 줄 텍스트로 만듭니다. 두 기능 모두 값 자체를 바꾸려는 기능은 아닙니다.

압축하면 문자열 안의 공백도 지워지나요?

아니요. {"city":"서울 강남"}의 서울과 강남 사이 공백은 문자열 값이므로 유지합니다. 압축은 문자열 바깥의 공백과 줄바꿈만 제거합니다.

오류 위치가 실제 잘못된 글자와 다를 수 있나요?

네. 표시된 줄·열은 검사가 멈춘 첫 지점입니다. 앞에서 쉼표를 빠뜨렸다면 다음 키의 시작 부분이 오류 위치로 나올 수 있으니, 해당 위치 앞부분도 함께 살펴보세요.

JSON에 주석이나 마지막 쉼표를 넣어도 되나요?

일반 JSON에서는 주석과 마지막 항목 뒤의 쉼표가 허용되지 않습니다. JSONC 또는 JSON5를 사용하는 프로그램이라면 그 프로그램의 형식에 맞춰 별도로 처리해야 합니다.

중복된 키는 정리 과정에서 없어지나요?

이 도구는 {"id":1,"id":2}의 두 키를 텍스트 결과에 모두 남기고 중복 경고를 표시합니다. 다만 다른 프로그램은 마지막 값만 사용할 수 있으므로 전달 전에 의도한 값을 확인하세요.

큰 숫자를 압축하면 값이 바뀌나요?

이 도구는 9007199254740993 같은 긴 정수와 1e-400 같은 지수 표기를 입력 그대로 출력합니다. 결과를 다시 읽는 프로그램의 숫자 정밀도는 별도로 확인해야 합니다.

배열이나 객체가 아닌 true도 JSON인가요?

네. RFC 8259에서 JSON 문서는 하나의 값이며 true, null, 숫자, 문자열도 최상위에 올 수 있습니다. 실제 API가 객체나 배열을 요구하는지는 해당 명세를 확인하세요.

문법이 유효하면 API 요청도 성공하나요?

문법이 유효하다는 것은 JSON 형식으로 읽을 수 있다는 뜻입니다. 필수 키, 자료형, 날짜의 실제 유효성, 토큰 권한과 같은 API별 규칙은 이 도구에서 검사하지 않습니다.

입력한 내용이 서버로 전송되나요?

정리·압축과 문법 검사는 현재 브라우저에서 실행되며 입력 JSON을 처리 목적으로 서버에 보내지 않습니다. 민감한 값은 결과를 복사해 다른 곳에 붙여 넣을 때도 주의하세요.

JSON 문법과 숫자 보존 기준

JSON 구문은 RFC 8259를, JavaScript의 JSON 처리와 숫자 표현은 ECMAScript 명세와 MDN 문서를 참고했습니다. 정리와 압축은 문자열 바깥의 공백을 바꾸며, 실제 프로그램이 요구하는 필드와 자료형 검증은 별도로 해야 합니다.

다른 데이터 작업으로 이어가기

JSON과 YAML 사이의 표기를 바꾸거나, JSON 배열을 JSONL로 나눌 때는 목적에 맞는 변환 도구를 사용하세요. 구조를 접고 펼쳐 살펴보려면 JSON 검사·트리뷰어를 이용하세요.

Roberin
센스 있는 개발자
창의적이고 실용적인 툴로 더 나은 세상을 만드는 센스 있는 개발자, Roberin입니다. 기술은 모두를 위한 것, 함께 더 편리한 세상을 만들어 가요! 😊
문의 양식
확인에 필요한 이야기만 남겨주세요.
답장이 필요한 경우 이메일을 함께 적어주세요. 오류 제보라면 페이지 주소, 입력값, 기대한 결과와 실제 결과를 적어주시면 확인이 빨라집니다.