Skip to content
서버전송 없음 · 브라우저 처리

HTML 이스케이프

HTML 특수문자를 엔티티로 바꾸거나 되돌려요. 블로그 코드 붙여넣기용.

즐겨찾기하면 홈에서 바로 찾을 수 있어요

이럴 때 쓰세요

코드 예제를 블로그에 그대로 보여주기
를 <div>로 바꿔 게시판에 붙이기
이스케이프된 문자를 원래대로 되돌리기

이렇게 사용하세요

11단계원본에 내용을 붙여넣으면 바로 시작해요
22단계이스케이프 → 버튼을 누르면 결과가 아래에 나타나요
33단계복사 버튼으로 결과를 바로 가져다 쓸 수 있어요

결과가 예상과 다를 때

결과가 잘려 보여요

전체 결과는 복사 버튼으로 받을 수 있어요.

입력한 내용이 사라졌어요

이 기기에 자동 저장돼요. 브라우저 저장소를 지우면 함께 사라져요.

자주 하는 실수

계산 근거

HTML Living Standard는 &, <, >, ", '를 이름 기반 문자 참조로 정의합니다. &로 시작해 세미콜론으로 끝나며, 문서 안에서 실제 기호 대신 이 표기를 씁니다. 이는 URL의 퍼센트 인코딩과 별개의 체계입니다.

실제로 계산해 보면

div 태그가 있는 코드를 변환하면 어떤 형태인가요?

<div class="...">처럼 꺾쇠와 따옴표가 모두 참조로 바뀝니다. 작은따옴표까지 '가 되므로 붙여 넣은 코드가 태그로 해석되지 않고 문자 그대로 화면에 보입니다.

원래대로 되돌리는 순서가 중요한 이유는?

역변환은 '를 "를 >를 <를 차례로 바꾼 뒤 마지막에 &를 바꿉니다. 순서가 바뀌면 &lt;가 먼저 풀려 <가 남아, 쓴 글자와 실제 꺾쇠가 구분되지 않게 됩니다.

화면에 태그를 그대로 보여 주고 싶다면요?

텍스트로는 언제나 값이 표시되지만 줄바꿈과 공백이 무너집니다. 줄바꿈을 유지하려면 코드 블록으로 감싸야 합니다. 화면 용도라면 값만 확인하고, 그대로 보여 줄 목적이라면 코드 블록이 안전합니다.

더 궁금한 것

URL에 들어가는 한글은 따로 인코딩해야 하나요?

예. 검색은 퍼센트 인코딩으로 %EA%B2%80%EC%83%89가 되지만 문서 이스케이프로는 그대로 남습니다. 질의 문자열은 &를 구분자로 쓰기 때문에 값에는 퍼센트 인코딩이 필요합니다.

제출 폼 값에 적용하면 막힌 주입이 정리되나요?

텍스트 입력과 속성값을 변환하면 태그 주입은 막힙니다. 다만 링크 속성에 넣을 때 javascript: 스킴은 이 변환으로 막히지 않습니다. 속성값에는 별도의 검증과 안전한 스킴 허용 목록을 함께 둬야 합니다.

엑셀 값을 붙여 넣으면 왜 글자가 사라지나요?

값에 들어 있는 &가 엔티티 시작으로 읽히면 뒤 글자가 통째로 없어진 것처럼 보입니다. 붙여 넣은 값을 한 번 변환해 &로 바꾸면 값이 보존됩니다. 반대로 이미 변환된 값을 다시 넣으면 이중 변환으로 화면에 <가 그대로 노출됩니다.

알아둘 경계값

결과를 믿기 전 확인 목록

자주 묻는 질문

언제 쓰나요?

코드를 블로그·게시판에 그대로 보여줄 때 씁니다.

줄바꿈도 변환되나요?

아니요. <, >, &, 따옴표만 변환해요. 줄바꿈은 그대로 유지돼요.

관련 도구

전체보기 →