Text/Clean

웹페이지·HTML 원문을 순수 텍스트로 바꾸기

HTML 소스에서 태그를 지우고 문단과 줄바꿈을 살려 순수 텍스트를 얻는 방법. script·style 제거, & 같은 엔티티 해석, 표를 탭으로 바꾸는 원리와 화면 복사와의 차이를 설명합니다.

블로그 에디터의 HTML 보기, 이메일 템플릿, CMS 내보내기 파일처럼 HTML 원문만 손에 있을 때 본문 글자만 뽑아내고 싶은 경우가 있습니다. 태그를 손으로 지우면 & 같은 엔티티와 스크립트 코드가 남기 쉽습니다.

기본 파이프라인

내장 레시피는 다음 순서입니다.

  1. HTML 태그 제거 — 태그를 지우고 블록 경계를 줄바꿈으로, 엔티티를 문자로 바꿉니다.
  2. 보이지 않는 문자·따옴표 정리  가 바뀐 NBSP(U+00A0)와 둥근 따옴표를 일반 문자로 정리합니다.
  3. 앞뒤 공백 제거 — 소스의 들여쓰기 때문에 줄 앞에 남은 공백을 지웁니다.
  4. 빈 줄 제거 — '연속 빈 줄을 하나로'로 문단 사이 여백을 한 줄로 맞춥니다.
  5. 연속 공백·탭 정리 — 줄 안의 여러 칸 공백을 한 칸으로 줄입니다.
레시피HTML → 순수 텍스트
  1. HTML 태그 제거
  2. 보이지 않는 문자·따옴표 정리
  3. 앞뒤 공백 제거
  4. 빈 줄 제거
  5. 연속 공백·탭 정리
이 레시피로 도구 열기

태그 제거가 처리하는 것

  • 주석과 실행 코드: <!-- --> 주석과 <script>, <style>, <noscript>, <template> 요소는 내용까지 지웁니다. 태그만 지우면 자바스크립트나 CSS 코드가 본문처럼 남기 때문입니다.
  • 블록 태그와 줄바꿈: '블록 태그·<br> 을 줄바꿈으로'가 켜져 있으면 <br>p, div, h1~h6, li, tr 같은 블록 요소의 경계에서 줄을 바꿉니다. 여는 태그와 닫는 태그 모두 줄바꿈이 되므로 빈 줄이 생기는데, 세 줄 이상 이어지는 빈 줄은 두 줄로 줄입니다.
  • : 셀의 끝(</td>, </th>)은 탭으로 바꿉니다. 결과를 스프레드시트에 붙여넣으면 열이 나뉩니다.
  • 엔티티: '&amp; 같은 엔티티 해석'이 켜져 있으면 &amp; &lt; &gt; &quot; &nbsp; &hellip; 같은 자주 쓰는 이름 엔티티와 &#39; &#x27; 같은 숫자 엔티티를 실제 문자로 바꿉니다. 도구가 모르는 이름 엔티티는 원문 그대로 둡니다.
<h2>공지</h2>
<p>이번 주 점검&nbsp;일정입니다.<br>문의는 Q&amp;A 게시판으로.</p>
<ul><li>월: 서버</li><li>수: DB</li></ul>
<script>track();</script>

위 원문은 아래처럼 정리됩니다.

공지

이번 주 점검 일정입니다.
문의는 Q&A 게시판으로.

월: 서버

수: DB

목록 항목 사이에 빈 줄이 남는 것이 싫다면 연속 빈 줄 정리 대신 '빈 줄 모두 제거'를 고르세요. 다만 이 경우 문단 사이의 빈 줄도 함께 사라집니다.

표 구조를 살리고 싶다면

레시피의 마지막 단계인 연속 공백·탭 정리는 기본으로 '탭도 공백으로 합치기'가 켜져 있어 표의 탭을 공백으로 바꿉니다. 앞뒤 공백 제거도 줄 앞뒤의 탭을 지웁니다. 표를 탭 구분 데이터로 쓰려면 연속 공백·탭 정리의 '탭도 공백으로 합치기'를 끄고, 앞뒤 공백 제거 단계는 끄세요.

브라우저 화면 복사와의 차이

웹페이지를 화면에서 드래그해 복사하는 것과 HTML 원문을 이 도구로 정리하는 것은 결과가 다릅니다.

  • 이 도구는 CSS를 해석하지 않습니다. display:none 으로 숨겨진 요소의 글자도 결과에 남습니다.
  • 이미지의 대체 텍스트(alt)나 링크 주소(href)는 태그와 함께 사라집니다. 링크 주소가 필요하면 태그를 지우기 전에 원문에서 따로 확인하세요.
  • HTML 소스 안에서 긴 문장을 여러 줄로 나눠 적었다면 그 줄바꿈이 그대로 남습니다. 이런 경우 문단 안의 줄을 이어 주는 PDF 복사 줄바꿈 복원 를 뒤에 추가하면 도움이 됩니다.
  • <span> 처럼 블록이 아닌 요소 경계에는 줄바꿈도 공백도 넣지 않으므로, 원문에서 공백 없이 붙어 있던 요소는 글자가 붙어서 나옵니다.

이메일 템플릿의 숨은 문자

뉴스레터 HTML에는 받은편지함 미리보기 문구를 조절하려고 &zwnj;&#8203; 같은 보이지 않는 문자를 수십 개씩 넣는 경우가 있습니다. 태그 제거가 이 엔티티를 제로폭 비결합자(U+200C)와 제로폭 공백(U+200B)으로 바꾸고, 레시피의 두 번째 단계가 이를 지웁니다. 보이지 않는 문자·따옴표 정리 단계를 끄면 이 문자들이 결과에 남아, 겉보기에는 멀쩡한 텍스트가 검색이나 비교에서 어긋날 수 있습니다.

목록 항목 앞에 글머리표를 다시 붙이고 싶다면 레시피 뒤에 줄 앞뒤에 문자 붙이기를 추가하고 앞에 - 를 넣으세요. 다만 모든 줄에 붙으므로 제목과 문단이 섞인 결과에는 맞지 않습니다.

주의

  • 태그는 < 뒤에 영문자가 오고 > 로 닫히는 형태를 기준으로 지웁니다. 속성값 안에 > 가 들어 있는 드문 원문은 일부가 남을 수 있습니다.
  • 엔티티는 태그를 지운 뒤에 해석하므로, 원문의 &lt;b&gt; 는 태그로 처리되지 않고 <b> 라는 글자로 남습니다. 의도한 동작입니다.

체크리스트

  • 원문 전체를 붙여넣고 레시피를 먼저 적용해 봅니다.
  • 표를 쓸 거라면 탭을 지우는 단계를 끕니다.
  • 링크 주소가 필요하면 태그를 지우기 전에 확보합니다.

최종 수정: 2026-09-23