본문으로 건너뛰기
🛠️ToolsShed

HTML 인코더 / 디코더

특수 문자를 HTML 엔티티로 인코딩하고 다시 디코딩.

이 도구 소개

HTML 인코딩은 특수 문자를 HTML 엔티티 참조(웹 문서 내에서 문자를 안전하게 나타내는 문자열)로 변환합니다. < (보다 작음), > (보다 큼), & (앰퍼샌드), " (큰따옴표)와 같은 일반적인 문자는 HTML 마크업 내에서 특수한 의미를 가지므로, &lt;, &gt;, &amp;, &quot;로 인코딩하여 올바르게 표시해야 합니다. 디코딩은 이 과정을 역으로 수행하여 엔티티를 읽을 수 있는 문자로 변환합니다. 이는 웹 개발자, 콘텐츠 제작자, HTML에 민감한 문자를 포함할 수 있는 코드 스니펫, API 응답 또는 사용자 입력을 다루는 모든 사람에게 필수적입니다.

이 도구를 사용하려면 텍스트를 입력 필드에 붙여넣고 인코딩(특수 문자를 엔티티로 변환) 또는 디코딩(엔티티를 문자로 변환) 중 하나를 선택하세요. 변환은 브라우저에서 즉시 이루어지며 서버 업로드가 필요하지 않습니다. 원본 HTML을 인코딩하여 마크업으로 해석되지 않도록 보호하거나, 엔티티를 디코딩하여 원본 텍스트를 볼 수 있습니다. 결과는 즉시 표시되고 클립보드에 직접 복사할 수 있어 문서, 포럼 게시물, 이메일 작성, 데이터 준비 작업에서의 일괄 처리가 간단합니다.

자주 묻는 질문

코드 구현

import html

# Encode: replace <, >, &, ", ' with HTML entities
raw = "<script>alert('XSS')</script> & <b>bold</b>"

encoded = html.escape(raw)
print(encoded)
# &lt;script&gt;alert(&#x27;XSS&#x27;)&lt;/script&gt; &amp; &lt;b&gt;bold&lt;/b&gt;

# Also encode quotes (useful inside HTML attributes)
encoded_all = html.escape(raw, quote=True)
print(encoded_all)
# &lt;script&gt;alert(&#x27;XSS&#x27;)&lt;/script&gt; &amp; &lt;b&gt;bold&lt;/b&gt;

# Decode: convert HTML entities back to plain text
decoded = html.unescape(encoded)
print(decoded)
# <script>alert('XSS')</script> & <b>bold</b>

# Safe injection into a template
user_input = "<img src=x onerror=alert(1)>"
safe_html = f"<p>{html.escape(user_input)}</p>"

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.