JSON·XML·YAML 파서
JSON·XML·YAML 을 붙여넣거나 파일로 열면 문법을 검사하고(틀리면 몇 줄 몇 칸인지), 접고 펼치는 트리로 보여 주고, 값·키를 검색하고, 경로로 값을 찾고, 정리·압축하고, 서로 변환합니다. 모든 처리는 이 브라우저 안에서만 이뤄지며 입력과 파일은 서버로 보내지 않습니다.
JSON·XML·YAML 파일을 입력칸으로 끌어다 놓아도 됩니다. 파일은 이 브라우저에서만 읽습니다(UTF-8, 최대 2MB). 형식은 확장자와 내용으로 알아보고 알맞은 탭으로 열어 드립니다.
구조 요약
검색
트리
항목을 누르면 경로가 여기에 표시됩니다
경로로 찾기
JSONPath 일부를 지원합니다: $.a.b · $.list[0] · $.list[-1] · $.list[*].name · $..price · $.list[0:2] · $.list[?(@.price < 10)] · $['키 이름']
정리·변환
변환 규칙: 키는 요소 이름이 되고 배열은 같은 이름의 요소가 반복됩니다. "@이름" 키는 속성, "#text" 키는 요소의 글이 됩니다. 요소 이름으로 쓸 수 없는 글자는 _ 로 바뀝니다. 키가 하나뿐인 객체는 그 키가 루트 이름이 됩니다(아니면 「루트 이름」, 비워 두면 root). YAML 로 바꿀 때는 그대로 옮겨 쓰며, 문자열은 다른 값으로 오해될 때(true, 007 …)만 따옴표를 붙입니다.
JSON·XML·YAML 파일을 입력칸으로 끌어다 놓아도 됩니다. 파일은 이 브라우저에서만 읽습니다(UTF-8, 최대 2MB). 형식은 확장자와 내용으로 알아보고 알맞은 탭으로 열어 드립니다.
구조 요약
검색
트리
항목을 누르면 경로가 여기에 표시됩니다
경로로 찾기
XPath 일부를 지원합니다: /root/item · //name · /root/item[2] · //item[@id='a'] · //item[title='x'] · //item/@id · //name/text() · 이름만 쓰면 어디서든 찾습니다
정리·변환
변환 규칙: 속성은 "@이름" 키, 속성·자식과 함께 있는 글은 "#text" 키가 됩니다. 같은 이름이 반복되면 배열, 내용이 없는 요소는 null 입니다. 주석·처리 명령은 버립니다. XML 은 값에 형식이 없어 기본은 모두 문자열입니다(JSON·YAML 모두 같습니다).
JSON·XML·YAML 파일을 입력칸으로 끌어다 놓아도 됩니다. 파일은 이 브라우저에서만 읽습니다(UTF-8, 최대 2MB). 형식은 확장자와 내용으로 알아보고 알맞은 탭으로 열어 드립니다.
구조 요약
검색
트리
항목을 누르면 경로가 여기에 표시됩니다
경로로 찾기
YAML 도 JSON 과 같은 구조로 읽어 JSONPath 로 찾습니다: $.a.b · $.list[0] · $.list[*].name · $..price · $.list[?(@.price < 10)] · $['키 이름']
정리·변환
변환 규칙: YAML 은 JSON 과 같은 구조로 읽으므로 JSON 으로는 그대로 바뀝니다. XML 로 바꿀 때는 JSON→XML 규칙(키는 요소 이름, 배열은 같은 이름 반복, "@이름" 속성, "#text" 글)을 따릅니다. 주석은 변환하면 사라집니다.
알아 둘 점
- JSON 은 엄격하게 읽습니다 — 주석, 마지막 쉼표, 작은따옴표, 따옴표 없는 키는 오류로 알려 줍니다.
- 숫자는 원문 그대로 보관합니다. 12345678901234567890 이나 1.0 이 정리·변환을 거쳐도 바뀌지 않습니다.
- 같은 키가 두 번 나오면 오류는 아니지만 경고로 알려 줍니다(실제 프로그램은 마지막 값만 씁니다).
- XML 의 DOCTYPE 내부 선언(ENTITY)은 해석하지 않고 거부합니다. 엔티티 폭탄·외부 파일 읽기 같은 공격의 입구이기 때문입니다. 외부 DTD 를 가리키는 선언은 읽지 않고 건너뜁니다.
- XML 은 < > & " ' 와 숫자 참조(A)만 풀어 줍니다. 그 밖의 &이름; 은 오류입니다.
- 입력은 2MB, 중첩은 200단계까지입니다.
- YAML 은 자주 쓰는 문법을 지원합니다 — 맵·목록·따옴표 글·| > 블록 글·[ ] { } 흐름·주석. 앵커(&)·별칭(*)·태그(!)·여러 문서(---)·? 복합 키·여러 줄 따옴표 글은 지원하지 않고 오류로 알려 줍니다. 별칭은 내용을 곱절로 부풀리는 공격의 입구이기도 해서 해석하지 않습니다.
- YAML 값은 1.2 규칙으로 읽습니다. null · true/false · 10진 숫자만 값이 되고 yes/no · 0x1F · 날짜는 글자 그대로 문자열입니다. 들여쓰기에는 공백만 쓸 수 있습니다(탭은 오류).
자주 묻는 질문
입력한 JSON·XML 이 서버로 전송되나요?
아닙니다. 읽기·검사·변환 모두 이 브라우저에서 이루어지며 어디로도 전송·저장되지 않습니다.
「코드 정리」나 개발자 도구의 JSON 탭과 무엇이 다른가요?
그쪽은 예쁘게 다시 쓰는 도구이고, 여기는 구조를 읽는 도구입니다. 트리로 훑어보기, 경로로 값 찾기, 오류 위치, 구조 요약, JSON↔XML 변환이 있습니다.
XML 을 JSON 으로 바꾸면 숫자가 문자열로 나와요.
XML 에는 값의 형식이 없어서 기본은 모두 문자열입니다. 「숫자·true/false 는 값으로 변환」을 켜면 숫자처럼 생긴 글만 숫자로 바꿉니다(007 같은 앞자리 0 은 문자열로 둡니다).
JSON 을 XML 로 바꿨다가 되돌리면 같은가요?
이 도구가 만든 규칙(속성 "@", 글 "#text", 반복은 배열) 안에서는 같습니다. 다만 빈 문자열과 null 은 둘 다 빈 요소라 null 로 돌아오고, 요소 이름으로 못 쓰는 키는 바뀝니다.
YAML 의 앵커(&)와 별칭(*)은 왜 안 되나요?
별칭은 같은 내용을 여러 번 가리키게 해 문서를 몇 단계만에 수십억 배로 부풀릴 수 있어(별칭 폭탄) 해석하지 않고 오류로 알려 드립니다. 별칭을 펼친 글을 붙여넣으면 읽을 수 있습니다.
이 도구 사용 안내
JSON·XML·YAML이 올바른지 확인하고 구조를 살펴볼 때 쓰세요. 문법 오류는 몇 줄 몇 칸인지 알려 주고, 접고 펼치는 트리로 보여 주며 값·키 검색, 경로로 값 찾기, 정리·압축, 서로 변환을 지원합니다. 모든 처리는 브라우저 안에서 이루어집니다.
자주 묻는 질문
JSON에 오류가 있으면 알려 주나요?
네. 문법이 틀리면 몇 줄 몇 칸인지 알려 줍니다.
JSON·XML·YAML을 서로 변환할 수 있나요?
네. 서로 변환하고 정리·압축도 할 수 있습니다.
큰 JSON에서 원하는 값을 찾을 수 있나요?
네. 트리를 접고 펼치며, 값·키 검색과 경로로 값 찾기를 지원합니다.
함께 쓰는 도구
모든 도구 보기비밀번호 생성기
길이와 문자 종류를 골라, 또는 외우기 쉬운 단어 조합(패스프레이즈)으로 추측하기 어려운 비밀번호를 만듭니다. 만든 값은 이 화면 밖으로 나가지 않습니다.
내 IP 확인
지금 접속한 공인 IP 주소와 대략적인 위치를 확인합니다.
파일 암호화·비밀 메모
비밀번호로 글이나 파일을 AES-256으로 암호화하고 복호화합니다. 모든 처리는 이 브라우저 안에서만 이뤄지며 글·파일·비밀번호는 서버로 보내지 않습니다.
웹페이지·RSS 점검기
주소를 넣으면 서버가 접속해 제목·설명·OG 미리보기 정보, 응답 헤더, 리다이렉트 경로, SSL 인증서 만료일을 점검하고, RSS/Atom 피드의 형식과 흔한 오류를 확인하며, API 가 다른 사이트의 브라우저 요청을 허용하는지(CORS) 판정하고, 도메인의 DNS 레코드(A·MX·TXT·NS 등)를 공개 DNS 로 조회합니다.
다이어그램 만들기
글로 흐름도·시퀀스·ER·간트 같은 그림을 그리고 SVG·PNG 로 저장합니다(Mermaid 문법). 입력한 글은 서버로 보내지 않습니다.
개발자 도구 모음
URL·Base64·HTML·유니코드 인코딩, JSON 정리·CSV 변환, 유닉스 시간, JWT 디코더, 해시, UUID, 정규식, 텍스트 비교, 진법·cron 해석, 표 변환, 서브넷(CIDR)·chmod 계산, HTTP·MIME·포트 사전, robots·sitemap, 더미 데이터, TOTP·semver·비트 연산·설정 파일(.env·INI·TOML) 변환·JSON 스키마 검증·docker run→compose·.gitignore·OG 태그 생성·ASCII/ANSI 코드표까지 40가지 개발 보조 도구를 한 곳에서.