XML 포맷터

브라우저에서 XML을 2/4칸 공백 또는 탭으로 보기 좋게 정리하거나 압축합니다. 주석, CDATA, 처리 명령을 유지하고 파싱 오류를 알려 줍니다.

입력 내용과 파일은 브라우저 밖으로 전송되지 않습니다

입력 XML

XML을 붙여넣거나 .xml 파일을 여기로 끌어다 놓아 들여쓰기하거나 한 줄로 압축하세요.

편집기에서 Tab 키는 들여쓰기를 합니다. 편집기에서 나가려면 Esc를 누른 다음 Tab을 누르세요.

이 페이지에서

한 줄로 되어 있거나 들여쓰기가 엉망인 XML 문서를 깔끔하게 들여쓴 트리로 바꾸거나, 전송용으로 압축하세요. 입력은 브라우저 자체 XML 파서가 읽기 때문에 잘못된 마크업을 몰래 “고치지” 않고 행과 열 위치와 함께 오류로 알려 줍니다.

상세 기능

포맷은 모든 요소를 각자의 줄에 놓고 2칸 공백, 4칸 공백 또는 탭으로 들여씁니다. 텍스트만 담은 요소는 한 줄로 유지되고(<to>Ann</to>), 빈 요소는 <b/>로 출력됩니다. 압축 모드 (최소화)는 태그 사이 공백을 제거합니다. XML 선언, 주석, <![CDATA[…]]> 섹션, <?xml-stylesheet …?> 같은 처리 명령, DOCTYPE은 그대로 유지되며, 특수 문자는 출력 시 다시 이스케이프됩니다(&amp;, &lt;, &quot;).

파싱은 HTML이 아닌 엄격한 XML 기준입니다. 닫히지 않았거나 짝이 맞지 않는 태그, 빠진 따옴표, 정의되지 않은 엔티티가 있으면 파서 메시지와 함께 포맷이 중단됩니다. 예를 들어 Chrome에서는 error on line 1 at column 11: Opening and ending tag mismatch가 표시됩니다. 브라우저가 DOCTYPE의 내부 서브셋(<!DOCTYPE x [ … ]>)을 제공하지 않기 때문에 이 부분은 유지되지 않습니다.

.xml 파일을 열거나 에디터에 끌어다 놓은 뒤 결과를 복사하거나 formatted.xml로 저장하세요. 에디터는 태그, 속성, 주석을 강조하고 요소를 접을 수 있으며 큰 파일에서도 빠르게 동작합니다. 들여쓰기와 압축 설정은 이 브라우저에 기억되지만 XML 자체는 저장되거나 어디로도 전송되지 않습니다.

실용적인 예제

한 줄 문서 들여쓰기: <note><to>Ann</to><from>Bob</from></note>를 2칸 공백으로 포맷하면 <note>, <to>Ann</to>, <from>Bob</from>, </note>의 네 줄이 됩니다.

주석과 CDATA 유지: <?xml version="1.0"?><!-- cfg --><config><db host="localhost" port="5432"/><![CDATA[a<b]]></config>에서 선언과 주석은 각각 별도 줄에 놓이고, <![CDATA[a<b]]>는 <config> 안에 그대로 남습니다.

압축: 압축 모드를 켜면 <a>1</a>와 <b/>를 담은 들여쓴 <root>가 <root><a>1</a><b/></root>가 됩니다.

깨진 태그 찾기: <a><b></a>는 “Opening and ending tag mismatch: b line 1 and a” 오류로 거부됩니다.

이 도구 사용 방법

  1. XML 입력

    입력 XML 에디터에 붙여넣거나, 열기를 눌러 .xml 파일을 불러오거나, 파일을 에디터에 끌어다 놓습니다.

  2. 출력 스타일 선택

    들여쓰기 크기(2칸 공백, 4칸 공백 또는 탭)를 고르거나 압축 모드 (최소화)를 켭니다.

  3. 포맷

    포맷을 누르거나 Ctrl+Enter(macOS에서는 Cmd+Enter)를 누릅니다. 파싱 오류는 에디터 위에 표시됩니다.

  4. 결과 사용

    복사를 누르거나, 저장을 눌러 결과를 formatted.xml로 다운로드합니다.

팁 및 모범 사례

  • 들여쓰기나 압축 모드를 바꾸면 현재 문서가 즉시 다시 포맷됩니다.
  • 혼합 콘텐츠는 나뉘고 공백이 잘립니다. <p>Hello <b>world</b>!</p>는 Hello, <b>world</b>, !이 각각 별도 줄이 됩니다. 텍스트 안의 공백이 중요한 문서는 다시 포맷하지 마세요.
  • HTML 습관은 XML을 깨뜨립니다. 슬래시 없는 <br>이나 DTD 없는 &nbsp;는 여기서 오류입니다.
  • 줄 번호 옆 화살표를 눌러 요소를 접을 수 있고, Ctrl/Cmd+F로 문서 전체를 검색합니다.
  • 에디터에서 Tab은 들여쓰기를 넣습니다. 포커스를 밖으로 옮기려면 Esc를 누른 뒤 Tab을 누르세요.
  • 업로드가 없습니다. 문서는 페이지 안에서 처리되며, 처음 방문한 뒤에는 오프라인에서도 동작합니다.