사용법
- 인코딩하거나 디코딩할 텍스트를 입력하세요.
- '인코드' 또는 '디코드' 버튼을 누르세요.
- 복사 버튼으로 결과를 바로 사용하세요.
🎯 이럴 때 씁니다
- URL 쿼리 파라미터에 한글·특수문자 포함시키기 — 검색어·이름 등을 쿼리스트링에 안전하게 넣을 때 필요한 인코딩 확인
- API 요청 URL 인코딩 상태 확인 — & = ? 같은 예약 문자가 파라미터 값에 섞여 요청이 깨지는 것 방지
- 깨진 URL 인코딩 문자열 디코딩 — 로그·이메일에 남은 %XX 인코딩 문자열을 원문으로 복원
- 이메일·SNS 공유 링크에 특수문자 안전하게 담기 — 제목·설명에 공백·기호가 포함된 링크를 깨지지 않게 생성
입력 · 출력 예시
입력
https://example.com/검색?q=안녕하세요
출력
https%3A%2F%2Fexample.com%2F%EA%B2%80%EC%83%89%3Fq%3D%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94
'인코드' 버튼을 누르면 콜론·슬래시·물음표 같은 기호와 한글이 모두 %XX 형태로 퍼센트 인코딩됩니다. 한글 한 글자는 UTF-8 3바이트라 %XX 세 쌍으로 표현됩니다. 이 결과를 다시 '디코드'하면 원본 문자열로 돌아옵니다.
encodeURI와 encodeURIComponent의 차이
자바스크립트에는 URL 인코딩 함수가 두 가지 있습니다. 이 도구는 encodeURIComponent를 사용하는데, URL 전체가 아니라 쿼리 파라미터 값처럼 URL의 '일부'를 인코딩할 때 쓰는 함수라 : / ? & = 같은 구분 기호까지 전부 인코딩합니다.
| 함수 | 보존하는 문자 | 용도 |
|---|---|---|
| encodeURI | : / ? # [ ] @ & = + $ , ; 등 URL 구분자 보존 | 완전한 URL 전체를 인코딩할 때 |
| encodeURIComponent (이 도구) | - _ . ! ~ * ' ( )만 보존, 나머지 모두 인코딩 | 쿼리 파라미터 값 등 URL 일부를 인코딩할 때 |
예를 들어 encodeURI("https://a.com/검색?q=1&2")는 &와 ?를 그대로 두지만, encodeURIComponent는 &·?·/까지 모두 인코딩합니다. 쿼리 파라미터 값 하나만 인코딩할 때는 반드시 encodeURIComponent를 써야 &가 다른 파라미터와 섞이지 않습니다.
자주 묻는 질문
- 입력한 내용이 서버로 전송되나요?
- 전송되지 않습니다. 브라우저 내장 encodeURIComponent/decodeURIComponent 함수로 처리됩니다.
- 어떤 문자가 인코딩되나요?
- 영문자·숫자·일부 특수문자(-_.!~*'())를 제외한 모든 문자가 %XX 형태로 인코딩됩니다.
- 공백은 %20과 +(플러스) 중 어느 쪽으로 인코딩되나요?
- 이 도구는 %20으로 인코딩합니다. +는 application/x-www-form-urlencoded(폼 전송) 방식에서만 공백을 의미하며, URL 경로나 쿼리 파라미터에서는 %20이 표준입니다.
- 디코딩 중 오류가 나면 어떻게 하나요?
- 잘못된 형식의 % 이스케이프가 포함된 경우 오류 메시지가 표시됩니다. 원본 인코딩 문자열이 온전한지 확인하세요.
다른 텍스트 도구
📝
Markdown 미리보기
Markdown을 실시간으로 HTML 미리보기
✏️
텍스트 검색 및 치환
정규식 지원 검색·치환
🆚
DIFF(텍스트 차분 비교)
두 텍스트의 줄 단위 차이 비교
↕️
목록 정렬
리스트 정렬·중복 제거
📧
이메일 주소 추출
텍스트에서 이메일 추출·중복 제거
🔢
문자 수 계산
글자·바이트·줄·단어 수 계산
🔠
대소문자 변환
대문자·소문자·Title Case 변환
🔤
텍스트-ASCII(전각·반각) 변환
전각 문자 ↔ 반각 ASCII 변환
🈚
Unicode 문자 변환·검색
코드포인트 확인 및 문자 검색
🔟
텍스트-10진수 변환
텍스트 ↔ 코드포인트 10진수 변환
🧾
텍스트-16진수(HEX) 변환
텍스트 ↔ UTF-8 바이트 HEX 변환
0️⃣
바이너리 변환
텍스트 ↔ UTF-8 바이트 2진수 변환
🔡
아스키 아트(AA) 생성
텍스트를 아스키 아트 배너로 변환