URL 인코딩·디코딩
주소에 들어갈 문자, 읽을 수 있는 문자로.
사용법 보기 ↓encodeURIComponent / decodeURIComponent: 값 하나를 변환합니다. 공백은 %20, +는 %2B로 인코딩합니다.
입력·결과는 저장하거나 서버로 보내지 않습니다. 입력한 주소에 접속하지 않으며 결과는 텍스트로만 표시합니다.
값 하나인지, 전체 주소인지 먼저 확인하세요.
URL 인코딩은 암호화가 아닙니다. 비밀번호나 토큰을 보호하는 용도로 사용하지 마세요.
- 01
변환 범위 선택
검색어·파일명 한 조각은 쿼리 값·경로 조각, 주소 전체는 전체 URL을 선택하세요. 폼 값은 값 하나의 공백을 +로 다룹니다. 쿼리 문자열을 여러 항목으로 나누는 기능은 아닙니다.
- 02
방향 선택 후 변환
인코딩 또는 디코딩을 선택하고 변환 버튼을 누르세요. 공백을 잘라내거나 반복해서 변환하지 않습니다. 브라우저 입력창은 줄바꿈을 LF로 바꾸므로, 디코딩 결과의 CR/CRLF를 보존하려면 복사·다운로드 버튼을 사용하세요. 입력이나 설정이 바뀌면 이전 결과를 지웁니다.
- 03
결과 확인·복사·저장
결과를 복사하거나 UTF-8 TXT로 저장하세요. 결과로 역변환은 결과를 입력으로 옮기고 방향을 바꿉니다. 입력 제한을 넘는 결과는 복사·다운로드만 지원합니다.
공백과 +는 구분합니다.
hello world+
→ hello%20world%2B
→ hello+world%2B (form)
전체 URL 예시:
https://example.com/a b?q=hello world
→ https://example.com/a%20b?q=hello%20world
자주 묻는 질문
Base64의 URL-safe와 같은 기능인가요?
아닙니다. URL 인코딩은 UTF-8 바이트를 %HH로 표현합니다. URL-safe Base64는 Base64에서 사용하는 문자 구성을 바꾸는 별도 방식입니다.
전체 URL 디코딩에서 %2F가 남는 이유는?
decodeURI는 /, ?, &, =, # 같은 URL 구분자의 인코딩을 유지합니다. %2F까지 /로 풀려면 쿼리 값·경로 조각을 선택하세요. 전체 URL 모드는 주소 유효성 검사, 도메인의 Punycode 변환이나 URL 정규화 기능이 아닙니다.
이미 인코딩된 문자열은 어떻게 되나요?
인코딩은 기존 %도 %25로 바꿉니다. %20을 인코딩하면 %2520이며, %2520을 한 번 디코딩하면 %20입니다. 중복 인코딩을 자동으로 추측하거나 반복해서 해제하지 않습니다.
폼 값의 디코딩은 무엇이 다른가요?
폼 값에서는 +를 공백으로, %2B를 실제 +로 변환합니다. 다른 두 모드는 +를 그대로 둡니다. 잘못된 % 표기나 UTF-8은 대체 문자로 고치지 않고 오류로 알립니다. EUC-KR 등 다른 문자 인코딩은 지원하지 않습니다.
모든 특수문자를 인코딩하나요?
쿼리 값·경로 조각은 JavaScript encodeURIComponent와 같아서 영문·숫자와 - _ . ! ~ * ' ( )는 유지합니다. 폼 값은 이 중 ! ~ ' ( )도 인코딩합니다. JSON이나 HTML 문자열 이스케이프 용도로는 사용할 수 없습니다.