최근 사용한 도구가 없습니다
즐겨찾기한 도구가 없습니다

HTML 이스케이프 무료 온라인: HTML 엔티티 인코딩 디코딩 즉시

325 회 사용

HTML 엔티티 참조

문자엔티티 이름엔티티 번호설명
<&lt;&#60;작음, 태그 열기
>&gt;&#62;큼, 태그 닫기
&&amp;&#38;앰퍼샌드, 엔티티 시작
"&quot;&#34;큰따옴표, 속성 구분자
'&apos;&#39;작은따옴표, 속성 구분자
 &nbsp;&#160;줄바꿈 없는 공백
©&copy;&#169;저작권 기호
®&reg;&#174;등록 상표

HTML 엔티티 팁

HTML 문자 이스케이프
<를 &lt;, >를 &gt;, &를 &amp;, "를 &quot;로 변환합니다. HTML 코드를 브라우저가 해석하지 않고 텍스트로 표시하는 데 필수입니다.
XSS 방지
HTML 이스케이프는 웹 보안의 기본입니다. 사용자 입력 콘텐츠를 표시할 때 XSS(크로스 사이트 스크립팅) 공격을 방지합니다.
엔티티 참조 표
자주 사용되는 HTML 문자와 이름/숫자 엔티티가 정리된 참조 표를 확인하세요.

자주 묻는 질문

Q HTML 이스케이프란?
A HTML 이스케이프는 <, >, &, " 같은 특수문자를 HTML 엔티티(&lt;, &gt;, &amp;, &quot;)로 변환합니다. 브라우저가 코드로 해석하지 않고 텍스트로 표시합니다.
Q 보안에 왜 중요한가요?
A XSS(크로스 사이트 스크립팅) 공격을 방지합니다. 이스케이프 없이 사용자 텍스트를 표시하면 공격자가 악성 JavaScript를 삽입할 수 있습니다.
Q HTML 엔티티란?
A 특수문자를 나타내는 코드입니다: &lt;는 <, &amp;는 &, &copy;는 ©. 이름 형식(&amp;)이나 숫자 형식(&#38;)이 있습니다.
Q HTML 이스케이프가 모든 XSS 공격을 막을 수 있나요?
A 단독으로는 불가능합니다. 이스케이프는 출력 컨텍스트를 처리하지만 XSS는 JavaScript 실행, CSS 인젝션, 속성 기반 공격으로도 발생합니다. 적절한 Content Security Policy 헤더와 입력 검증도 필요합니다. 이스케이프는 하나의 계층일 뿐 만능 해결책이 아닙니다. 인라인 스크립트를 차단하는 CSP와 함께 사용하세요.
Q 꺾쇠괄호만 이스케이프하고 다른 문자는 그대로 둘 수 있는 방법이 있나요?
A 이 도구는 선택적 이스케이프를 지원하지 않습니다. 그럴 만한 이유가 있어요. 부분 이스케이프는 공격자가 악용할 수 있는 틈을 남깁니다. <와 >만 이스케이프하고 &는 그대로 둔다고 가정해 보세요. 사용자가 &lt;script&gt;를 입력하면 데이터베이스가 이중 인코딩할 경우 실제 태그로 렌더링될 수 있습니다. 전체 이스케이프를 한 번 실행한 후 출력을 신뢰하세요. 이상한 예외 상황을 피할 수 있습니다.
Q 이미 이스케이프된 HTML을 이스케이프 입력란에 붙여넣으면 어떻게 되나요?
A 도구가 다시 이스케이프 처리하여 `&amp;`가 `&amp;amp;`로 바뀝니다. 보통 원하는 결과가 아닙니다. 입력이 엔티티가 아닌 원시 HTML 문자인지 항상 확인하세요. 확실하지 않으면 작은 샘플을 먼저 붙여넣고 출력을 살펴보십시오. CMS에서 이미 한 번 이스케이프된 텍스트를 가져올 때 이 실수가 자주 발생합니다.
Q JavaScript의 <code>innerHTML</code>로 텍스트를 삽입하면 브라우저가 원시 HTML 태그를 표시하는 이유는 무엇인가요?
A <code>innerHTML</code>에 <code><</code>나 <code>></code> 같은 원시 문자를 전달하면 브라우저가 이를 마크업으로 해석합니다. 먼저 HTML 이스케이프를 적용하세요. <code><</code>는 <code>&lt;</code>로, <code>></code>는 <code>&gt;</code>로 변환됩니다. 이스케이프된 문자열을 <code>innerHTML</code>에 할당하면 태그가 문자 그대로 표시됩니다. 이 단계를 건너뛰면 레이아웃이 깨지거나 XSS 취약점이 생깁니다.
Q <textarea> 요소 안에서 HTML 이스케이프가 필요한가요?
A 네, 반드시 필요합니다. 많은 사람들이 textarea가 텍스트를 다르게 표시하니 안전한 영역이라고 착각합니다. 브라우저는 여전히 내부 HTML을 파싱합니다. 이스케이프되지 않은 <와 >를 넣으면 페이지가 깨지거나 XSS 취약점이 생깁니다. 사용자 콘텐츠를 주입하기 전에 항상 이스케이프하세요. 저희 도구는 수천 줄이라도 <를 &lt;로, >를 &gt;로 순식간에 변환합니다.
Q 사용자 입력을 데이터베이스에 저장할 때 HTML 이스케이프는 저장 전에 해야 하나요, 후에 해야 하나요?
A 원본 그대로 저장하고, 렌더링 시점에 이스케이프하세요. 이 규칙이 이중 인코딩 문제를 막아줍니다. 저장 전에 이스케이프하면 나중에 편집할 때 디코딩하고, 또 표시할 때 다시 인코딩해야 해서 버그가 생길 곳이 세 군데로 늘어납니다. 데이터베이스는 깨끗하게 유지하고, 브라우저로 보내기 직전에 이 도구로 처리하세요. &amp;가 &amp;amp;가 되어 사용자가 깨진 텍스트를 보는 사태를 피할 수 있습니다. 한 가지 예외: 정적 사이트를 만든다면 빌드 시점에 이스케이프해도 문제없습니다.
Q HTML 이스케이프와 URL 인코딩의 차이점은 무엇인가요?
A 완전히 다른 문제를 해결합니다. HTML 이스케이프는 <와 > 같은 문자를 엔티티(&lt;, &gt;)로 변환해 브라우저가 마크업이 아닌 텍스트로 렌더링하게 합니다. URL 인코딩은 쿼리 문자열과 경로에서 안전하게 전송되도록 문자를 퍼센트 인코딩(%3C, %3E)으로 바꿉니다. 이 둘을 혼동하면 미묘한 버그가 생깁니다. 사용자 입력으로 링크를 만들 때는 URL 인코딩, 같은 입력을 페이지에 표시할 때는 HTML 이스케이프를 쓰세요. 별개의 단계, 별개의 도구입니다—이 도구는 HTML만 처리합니다. 빠른 확인법: URL에 & 대신 %26이 보이면 그건 인코딩이지 이스케이프가 아닙니다. 각 레이어에 맞는 것을 사용하면 이중 인코딩 혼란을 피할 수 있습니다.

HTML 이스케이프 사용 방법

관련 도구