문자열 이스케이프 변환기
한 입력으로 10개 컨텍스트 이스케이프 출력 — JavaScript, JSON, HTML 엔티티, URL, SQL, regex, Bash(단·이중 따옴표), C 문자열, Unicode \u. 필요한 것을 복사.
- JavaScript 문자열
Hello \"world\"!\nLine with \'quotes\' & <html> tags.\nPath: C:\\Users\\you\\file.txt\nUnicode: 한글 日本語 🎉\nSQL danger: \'; DROP TABLE users; --
- JSON.stringify
"Hello \"world\"!\nLine with 'quotes' & <html> tags.\nPath: C:\\Users\\you\\file.txt\nUnicode: 한글 日本語 🎉\nSQL danger: '; DROP TABLE users; --"
- HTML 엔티티
Hello "world"! Line with 'quotes' & <html> tags. Path: C:\Users\you\file.txt Unicode: 한글 日本語 🎉 SQL danger: '; DROP TABLE users; --
- URL (퍼센트 인코딩)
Hello%20%22world%22!%0ALine%20with%20'quotes'%20%26%20%3Chtml%3E%20tags.%0APath%3A%20C%3A%5CUsers%5Cyou%5Cfile.txt%0AUnicode%3A%20%ED%95%9C%EA%B8%80%20%E6%97%A5%E6%9C%AC%E8%AA%9E%20%F0%9F%8E%89%0ASQL%20danger%3A%20'%3B%20DROP%20TABLE%20users%3B%20--
- SQL 리터럴 (단일 따옴표)
'Hello "world"! Line with ''quotes'' & <html> tags. Path: C:\Users\you\file.txt Unicode: 한글 日本語 🎉 SQL danger: ''; DROP TABLE users; --'
- 정규식 (메타문자)
Hello "world"! Line with 'quotes' & <html> tags\. Path: C:\\Users\\you\\file\.txt Unicode: 한글 日本語 🎉 SQL danger: '; DROP TABLE users; --
- Bash '단일 따옴표'
'Hello "world"! Line with '\''quotes'\'' & <html> tags. Path: C:\Users\you\file.txt Unicode: 한글 日本語 🎉 SQL danger: '\''; DROP TABLE users; --'
- Bash "이중 따옴표"
"Hello \"world\"! Line with 'quotes' & <html> tags. Path: C:\\Users\\you\\file.txt Unicode: 한글 日本語 🎉 SQL danger: '; DROP TABLE users; --"
- C 문자열 리터럴
"Hello \"world\"!\nLine with 'quotes' & <html> tags.\nPath: C:\\Users\\you\\file.txt\nUnicode: \ud55c\uae00 \u65e5\u672c\u8a9e \U0001f389\nSQL danger: '; DROP TABLE users; --"
- Unicode \uXXXX
Hello "world"! Line with 'quotes' & <html> tags. Path: C:\Users\you\file.txt Unicode: \ud55c\uae00 \u65e5\u672c\u8a9e \u{1f389} SQL danger: '; DROP TABLE users; --
모두 단방향(원본 → 이스케이프). 역방향이 필요하면 HTML 디코더 / URL 디코더 / JSON.parse 도구를 참고하세요.
사용법
- 입력 박스에 문자열을 그대로 붙여넣기(따옴표 불필요).
- 각 형식별로 이스케이프 결과가 나란히 표시됨.
- 붙여넣을 컨텍스트에 맞는 결과를 복사.
자세한 설명
펼치기접기
임의의 문자열을 입력하면 흔히 붙여넣는 모든 컨텍스트에 맞춰 이스케이프된 결과를 한꺼번에 보여줍니다: JavaScript 문자열 리터럴(\n, \t, \", \\, 제어문자), JSON(JSON.stringify 사용), HTML 엔티티(&, <, >, ", '), URL 퍼센트 인코딩, SQL 단일 따옴표 리터럴(아포스트로피 더블링), regex 메타문자 이스케이프(.*+?(){}[]|^$\), Bash 단·이중 따옴표(각자 다른 규칙), C 문자열 리터럴(제어문자는 3자리 8진수 \ooo, 비-ASCII는 \uXXXX), 비-ASCII 문자에 대한 순수 Unicode 이스케이프. 한 번 입력, 10가지 즉시 사용 가능한 출력.
자주 묻는 질문
왜 Bash가 2개 있나요?
단일 따옴표 문자열은 ' 외에는 모두 리터럴 — 따라서 '\'' 닫고-열기 트릭 사용. 이중 따옴표 문자열은 $VAR, 백틱, \\, \"를 해석하므로 백슬래시가 필요합니다. 규칙이 다르며, 변수 확장이 필요한지에 따라 선택.
JavaScript와 JSON의 차이는?
JSON이 더 엄격: 이중 따옴표만 허용(단일 불가), 이스케이프는 \\, \", \/, \b, \f, \n, \r, \t, \uXXXX만 가능. JavaScript는 단일 따옴표, 템플릿 리터럴, hex/octal 이스케이프, \u{XXXX}도 허용. .json 파일 생성 시 JSON, .js 소스 작성 시 JS.
왜 SQL이 단일 따옴표인가요?
표준 SQL은 문자열 리터럴에 단일 따옴표 사용; 이중 따옴표는 식별자(테이블·컬럼명)용. 문자열 안에 아포스트로피를 넣으려면 두 개로: it''s. PostgreSQL·MySQL·SQLite·표준 ANSI SQL 모두 호환.
한 번 이스케이프해서 어디서나 쓰면 안 되나?
안 된다. 그렇게 하려는 시도에서 주입 취약점이 생긴다. 이스케이프는 목적지가 정의한다. 같은 따옴표가 JSON에서는 무해하고, SQL에서는 구조를 이루며, 셸에서는 메타문자다. 그래서 한 맥락을 위해 이스케이프한 값은 다른 맥락에서는 그냥 틀린 값이다. 값이 쓰이는 경계에서, 그 목적지를 위해, 한 번만 이스케이프하고 나머지 어디서든 원래 값을 유지하라.
SQL에서 이스케이프보다 파라미터를 써야 하는 이유는?
이스케이프는 매번 내가 정확해야 한다는 부담을 지우고, 그 규칙은 데이터베이스와 연결의 문자셋과 실행 모드에 따라 달라지기 때문이다. 파라미터는 그 질문 자체를 없앤다. 값이 문장의 텍스트가 되지 않으므로, 값의 내용이 문장이 하는 일을 바꿀 수 없다. 손으로 하는 SQL 이스케이프는 파라미터 바인딩이 안 되는 도구를 위한 최후 수단으로 두어라.
관련 도구
유니코드 이스케이프 변환기
텍스트를 \uXXXX, U+XXXX, HTML 엔티티로 인코딩하고, 그 어떤 형식이든 다시 텍스트로 디코딩합니다. 이모지·확장 문자도 처리합니다.
개발
쿼리 문자열 ↔ JSON 변환기
URL 쿼리 문자열을 JSON 객체로, 그리고 그 반대로 변환합니다. 브라우저에서 동작합니다.
개발
HTML 엔티티 인코더 / 디코더
HTML 특수문자(& < > " ')를 이스케이프하거나 엔티티를 원문으로 디코드합니다.
개발
URL 인코더 / 디코더
URL용으로 텍스트를 퍼센트 인코딩하거나, 인코딩된 URL을 디코딩하세요.
개발
정규식 테스터
자바스크립트 정규식을 실시간으로 테스트하고 매치 강조와 치환 미리보기를 확인하세요.
개발
URL 파서
URL을 프로토콜·호스트·포트·경로·쿼리·해시로 분해. 쿼리 파라미터를 표로 디코딩.
개발