본문으로 바로가기

XML 포맷터베타

XML을 보기 좋게 들여쓰거나 한 줄로 압축합니다. 잘 만들어진(well-formed) XML인지도 확인합니다. 입력한 내용은 브라우저 밖으로 전송되지 않습니다.

0자 · 0줄
방식

0자 · 0줄

사용 방법

입력창에 XML을 붙여넣으면 결과가 나옵니다. “방식”에서 정렬을 고르면 태그마다 줄을 나누고 들여써서 구조를 한눈에 볼 수 있게 하고, 압축을 고르면 태그 사이의 줄바꿈과 공백만 없애 파일 크기를 줄입니다. 정렬을 고르면 들여쓰기 폭(공백 2칸·4칸·탭)도 바꿀 수 있습니다. 텍스트와 요소가 섞인 혼합 콘텐츠(mixed content)에서는 정렬이 그 사이의 공백을 다듬어 다시 배치하지만, 압축은 그 공백을 원래 그대로 남깁니다. 입력한 XML이 잘 만들어진(well-formed) 문서가 아니면 결과 대신 오류 안내가 나오고, 가능하면 몇 번째 줄·칸에서 문제가 생겼는지도 함께 보여 줍니다.

잘 만들어짐(well-formed)과 유효함(valid)은 다릅니다

XML을 다룰 때 자주 헷갈리는 개념입니다. “잘 만들어짐(well-formed)“은 태그가 제대로 열리고 닫혔는지, 속성값이 따옴표로 감싸여 있는지, 루트 요소가 하나뿐인지처럼 XML 자체의 문법을 지켰는지를 뜻합니다. 반면 “유효함(valid)“은 그 문서가 DTD나 XSD 같은 특정 스키마가 정한 구조(어떤 요소가 어떤 순서로 와야 하는지, 어떤 속성이 필수인지 등)를 따르는지를 뜻합니다. 이 도구는 브라우저 내장 파서로 well-formed 여부만 검사하며, 스키마 검증은 하지 않습니다. 스키마에 맞는지 확인하려면 그 스키마를 지원하는 별도 도구가 필요합니다.

주석·CDATA·처리 지시문은 그대로 유지됩니다

정렬·압축 모두 <!-- 주석 -->, <![CDATA[ ... ]]> 구간, <?처리 지시문?>의 내용을 바꾸지 않습니다. 정렬할 때는 이런 요소들도 각자 자기 줄에 들여써서 놓고, 압축할 때는 줄바꿈만 없앤 채 원래 내용을 그대로 남깁니다. <!DOCTYPE ...> 선언과 <?xml version="1.0"?> 같은 XML 선언도 원문 그대로 맨 앞에 남습니다.

XXE(외부 엔터티) 걱정 없이 붙여넣어도 됩니다

서버에 XML을 올려 파싱하는 방식은 XXE(XML External Entity) 공격에 취약할 수 있어 조심해야 합니다. 하지만 이 도구는 브라우저에 내장된 DOMParser를 그대로 쓰는데, 이 API는 문서 안에 적힌 외부 DTD나 외부 엔터티를 실제로 가져오지(fetch) 않도록 만들어져 있습니다. 게다가 처리 자체가 여러분의 브라우저 안에서만 일어나고 서버로 아무것도 전송되지 않으므로, 출처를 모르는 XML이라도 이 도구에 붙여넣는 것만으로 서버가 공격받을 일은 없습니다.

개인정보

입력한 XML은 이 브라우저 안에서만 처리되며 어디에도 저장되거나 전송되지 않습니다. 페이지를 닫으면 입력 내용도 함께 사라집니다.

참고 자료

자주 묻는 질문

이 도구는 XML 문법 오류(well-formed)만 검사하나요, 아니면 스키마(XSD·DTD)까지 검증하나요?

well-formed 여부만 검사합니다. 즉 태그가 제대로 열리고 닫혔는지, 속성값에 따옴표가 있는지, 루트 요소가 하나뿐인지 같은 XML 자체의 문법만 확인합니다. 특정 스키마(XSD·DTD)에 맞는 구조인지, 필수 요소가 빠지지 않았는지 같은 '유효성(valid)' 검사는 하지 않습니다.

브라우저에서 XML을 파싱하면 XXE(외부 엔터티) 공격에 노출되나요?

아닙니다. 브라우저 내장 DOMParser는 문서에 적힌 외부 DTD나 외부 엔터티를 실제로 가져오지(fetch) 않습니다. 게다가 이 도구는 서버로 아무것도 보내지 않고 브라우저 안에서만 처리하므로, 신뢰할 수 없는 XML을 붙여넣어도 서버 쪽 XXE 공격 경로가 애초에 존재하지 않습니다.

압축(minify)하면 주석이나 CDATA 내용도 사라지나요?

아니요. 압축은 태그 사이의 줄바꿈과 들여쓰기(공백)만 없앨 뿐, 주석·CDATA 구간·처리 지시문·텍스트 내용은 그대로 남습니다. 주석까지 지우고 싶다면 별도로 지워야 합니다.

큰 XML 파일도 처리할 수 있나요?

네, 브라우저 내장 파서를 쓰기 때문에 수 MB 정도의 XML도 무리 없이 처리됩니다. 다만 아주 크거나 깊이 중첩된 문서는 브라우저 성능에 따라 잠깐 멈칫할 수 있습니다.