JSON 포맷터
JSON을 구문 강조와 함께 정리하고 키를 정렬합니다. 오류는 행과 열로 정확히 알려 드리며, 브라우저에서 로컬로 실행됩니다.
브라우저에서 로컬로 처리됩니다. 텍스트는 업로드되지 않습니다.
도구 소개
압축되었거나 어지러운 JSON을 붙여넣으면 들여쓰기가 적용되고 색상으로 강조된 깔끔한 결과를 한 번에 얻을 수 있습니다. 공백 2칸, 공백 4칸, 탭 중에서 고를 수 있고, 모든 객체의 키를 알파벳순으로 정렬하면 두 데이터를 줄 단위로 비교하거나 버전 관리에서 변경 내역을 안정적으로 유지할 수 있습니다.
텍스트가 올바른 JSON이 아니면 무엇이 잘못되었는지와 정확한 위치(행, 열, 문제가 된 문자 아래의 캐럿 표시)를 알려 드립니다. 끝에 붙은 쉼표, 작은따옴표 문자열, 따옴표 없는 키, 빠진 쉼표, 닫히지 않은 문자열 같은 흔한 실수마다 쉬운 말로 설명을 제공합니다.
서식 정리는 모두 브라우저 안에서 이루어지며 붙여넣은 JSON은 업로드되지 않습니다. 숫자는 작성한 그대로 유지되므로 20자리 ID나 1.0 같은 값이 조용히 반올림되거나 바뀌지 않으며, 정수가 JavaScript에서 안전하게 표현하기에 너무 크면 알림이 표시됩니다.
사용 방법
- 1입력란에 JSON을 붙여넣거나, 업로드로 .json 파일을 끌어다 놓거나, “예시 삽입”을 클릭하세요.
- 2들여쓰기(공백 2칸, 공백 4칸, 탭)를 고르고, 정해진 순서가 필요하면 키 정렬을 켜세요.
- 3아래에 강조 표시된 결과를 확인하세요. 오류가 있으면 입력란 아래에 표시된 행과 열을 따라가세요.
- 4결과를 복사하거나 .json 파일로 다운로드하세요.
지원 형식
일반 텍스트 또는 .json 파일 형태의 표준 JSON(RFC 8259). 주석, 끝 쉼표, 작은따옴표 등 JSON5 확장 문법은 올바른 JSON이 아니므로 오류로 표시됩니다.
프라이버시
이 도구는 브라우저에서 실행됩니다. 입력하신 데이터는 사용자의 기기에서 처리되며 당사 서버로 전송되지 않습니다.
제한 사항
- 5MB를 넘는 입력은 자동으로 처리하지 않습니다. 직접 처리하도록 선택할 수는 있지만, 기기에 따라 페이지가 느려질 수 있습니다.
- 매우 큰 출력에서는 구문 강조를 생략하며, 화면에는 처음 400,000자만 표시합니다. 복사와 다운로드에는 항상 전체 결과가 포함됩니다.
- 키를 정렬하면 모든 객체를 분석하고 재배열하므로, 큰 문서에서는 단순 서식 정리보다 느립니다. 정렬하지 않을 때는 중복된 키가 그대로 유지됩니다.
- ±9,007,199,254,740,991을 넘는 정수는 출력 텍스트에 그대로 보존되지만, 이후 JavaScript 코드에서 JSON.parse를 호출하면 반올림됩니다.
FAQ
내 JSON이 서버로 전송되나요?
아니요. 분석, 서식 정리, 구문 강조가 모두 브라우저 탭 안에서 실행됩니다. 붙여넣은 내용은 업로드되지 않으므로 API 응답이나 설정 파일에 사용해도 되지만, 공용 컴퓨터에서는 비밀 정보를 붙여넣지 않는 것이 좋습니다.
편집기에서는 문제없는데 왜 올바르지 않은 JSON이라고 나오나요?
편집기와 많은 파서는 주석, 끝 쉼표, 작은따옴표, 따옴표 없는 키 같은 느슨한 문법(JSON5 또는 JavaScript 객체 리터럴)을 허용합니다. API와 JSON.parse가 기대하는 엄격한 JSON에서는 이런 문법을 쓸 수 없습니다. 오류 메시지에 정확한 문제와 위치가 표시됩니다.
서식을 정리하면 데이터가 바뀌나요?
아니요. 바뀌는 것은 공백뿐입니다(정렬을 켜면 키 순서도 바뀝니다). 문자열, 숫자, 값은 매우 큰 정수를 포함해 작성한 그대로 유지됩니다.
키를 정렬하면 배열은 어떻게 되나요?
아무 영향도 없습니다. 배열의 순서는 의미가 있으므로 절대 바꾸지 않습니다. 모든 단계에서 객체 안의 키만 유니코드 코드 포인트 순서로 정렬됩니다.
관련 도구
JSON 검사기
JSON이 올바른지 확인하고, 첫 번째 오류의 정확한 행과 열을 문제 문자 아래 캐럿 표시와 함께 알려 드립니다.
JSON 압축기
JSON의 공백을 제거해 데이터 크기를 줄이고, 필요하면 키도 정렬합니다. 검증과 처리는 브라우저에서 로컬로 이루어집니다.
JSON을 TypeScript로 변환
JSON 샘플에서 TypeScript 인터페이스나 타입을 생성합니다. 중첩 객체, 배열, 유니온, null, 선택적 속성을 지원합니다.
URL 인코더
URL과 쿼리 문자열에서 안전하게 쓸 수 있도록 텍스트를 퍼센트 인코딩합니다. 구성 요소 모드와 전체 URL 모드를 지원하며 브라우저에서 실행됩니다.