WebToolBox

URL 인코드

WebToolBox에서 제공하는 무료 인코딩 도구인 URL 인코드 기능을 브라우저에서 바로 사용해 보세요. 복잡한 설치 없이 빠르고 안전하게 작업을 처리할 수 있습니다.

입력

결과

URL 인코딩(퍼센트 인코딩, RFC 3986)의 원리와 필요성

URL 인코딩(퍼센트 인코딩, Percent-Encoding)은 인터넷 URL(URI) 체계에서 허용되지 않거나 특별한 의미를 갖는 문자들을 '%XX'(16진수 바이트 값) 형태로 변환하는 표준 통신 규약(RFC 3986)입니다.

URL 규격은 영문 대소문자(A-Z, a-z), 숫자(0-9), 그리고 비예약 문자(-, _, ., ~)만을 안전한 문자(Unreserved Characters)로 규정합니다.

따라서 공백, 한글, 한자, 일본어, 이모지 등의 비ASCII 문자와 URL 구문 예약어(?, &, =, /, #, :)를 쿼리 파라미터나 경로로 전달할 때는 데이터 유실이나 경로 왜곡을 방지하기 위해 반드시 퍼센트 인코딩을 거쳐야 합니다.

입출력 예시 (Examples)

입력 (Input)결과 (Output)설명
검색어%EA%B2%80%EC%83%89%EC%96%B4UTF-8 한글 3바이트 퍼센트 인코딩
hello worldhello%20world공백 문자의 표준 URL 퍼센트 인코딩
a=1&b=2a%3D1%26b%3D2URL 쿼리 파라미터 예약어 인코딩
https://example.comhttps%3A%2F%2Fexample.com전체 URL을 파라미터 값으로 넘길 때의 인코딩

JavaScript 인코딩 함수 비교 (encodeURI vs encodeURIComponent)

함수명인코딩 대상보존되는 예약어 (인코딩 제외)적합한 활용 상황
encodeURI()완전한 전체 URL; , / ? : @ & = + $ #완전한 주소 링크 전체를 유효화할 때
encodeURIComponent()개별 파라미터 값- _ . ! ~ * ' ( )쿼리 스트링의 키나 값, 리다이렉트 URL 파라미터
escape() (사용 금지)ASCII 외 문자@ * _ + - . /비표준(Deprecated), 유니코드 미지원

온라인 URL 인코딩 도구 사용 방법

  1. 상단 입력 텍스트 영역에 URL로 변환하고자 하는 문자열을 입력하거나 붙여넣습니다.
  2. 입력 즉시 브라우저가 UTF-8 바이트 시퀀스를 기준으로 안전한 퍼센트 인코딩 문자열을 생성합니다.
  3. '복사' 버튼을 눌러 변환된 결과를 클립보드에 복사하고 브라우저 주소창이나 API 호출에 사용합니다.
  4. 복원 작업이 필요할 때는 상단 메뉴의 'URL 디코딩' 도구를 통해 원본으로 되돌릴 수 있습니다.

URL 인코딩 실무 팁 및 주의사항

  • 이중 인코딩(Double Encoding) 주의: 이미 인코딩된 문자열을 다시 인코딩하면 '%' 기호 자체가 '%25'로 바뀌어 '%2520' 같은 잘못된 문자열이 생성됩니다.
  • 공백 문자: URL 경로(Path)에서는 반드시 '%20'을 사용해야 하며, 폼 전송(application/x-www-form-urlencoded)에서는 '+'로 대체될 수 있습니다.
  • 한글 인코딩 규격: 과거 EUC-KR 시절에는 한글이 2바이트로 인코딩되었으나, 현대 웹의 표준은 무조건 3바이트 UTF-8(%XX%XX%XX)입니다.

프로그래밍 언어별 사용 예제 (Code Examples)

JavaScript / TypeScriptjavascript
// 쿼리 파라미터 값 인코딩 (권장)
const query = encodeURIComponent('검색어 & 결과');
console.log(query); // %EA%B2%80%EC%83%89%EC%96%B4%20%26%20%EA%B2%B0%EA%B3%BC

// 전체 URL 인코딩
const fullUrl = encodeURI('https://example.com/search?q=검색');
Python 3 urllibpython
import urllib.parse

query = "검색어 & 결과"
encoded = urllib.parse.quote(query)
print(encoded) # %EA%B2%80%EC%83%89%EC%96%B4%20%26%20%EA%B2%B0%EA%B3%BC

FAQ (자주 묻는 질문)

URL 인코딩과 퍼센트 인코딩은 같은 말인가요?
네, 동일합니다. 인코딩된 문자가 퍼센트 기호(%) 뒤에 16진수 2자리로 표현되기 때문에 퍼센트 인코딩(Percent-Encoding)이라고도 부릅니다.
한글 1글자는 왜 % 기호가 3개나 붙나요?
웹 표준인 UTF-8 문자셋에서 한글 음절 1자는 3바이트(24비트)를 차지합니다. 각 바이트마다 '%XX' 형태로 변환되므로 한글 1글자당 총 9글자(예: '가' -> %EA%B0%80)로 변환됩니다.
공백이 '+'로 바뀌는 것과 '%20'으로 바뀌는 것의 차이는 무엇인가요?
표준 URI 규격(RFC 3986)에서는 공백을 '%20'으로 표기합니다. 그러나 HTML 웹 폼(POST 요청 시 x-www-form-urlencoded)에서는 레거시 호환성을 위해 공백을 '+'로 전송하기도 합니다.
URL 인코딩을 하지 않고 전송하면 어떤 문제가 생기나요?
특수문자('&', '=', '?')가 URL 파라미터 구분자로 오인되어 데이터가 잘리거나, 서버에서 400 Bad Request 에러 또는 글자 깨짐 현상이 발생합니다.
입력한 텍스트가 서버로 전송되나요?
전혀 전송되지 않습니다. 모든 URL 인코딩 처리는 방문자의 브라우저 내에서 100% 로컬 연산으로 이루어집니다.

인코딩 — 도구 목록

Base64 인코드

WebToolBox에서 제공하는 무료 인코딩 도구인 Base64 인코드 기능을 브라우저에서 바로 사용해 보세요. 복잡한 설치 없이 빠르고 안전하게 작업을 처리할 수 있습니다.

Base64 디코드

WebToolBox에서 제공하는 무료 인코딩 도구인 Base64 디코드 기능을 브라우저에서 바로 사용해 보세요. 복잡한 설치 없이 빠르고 안전하게 작업을 처리할 수 있습니다.

URL 디코드

WebToolBox에서 제공하는 무료 인코딩 도구인 URL 디코드 기능을 브라우저에서 바로 사용해 보세요. 복잡한 설치 없이 빠르고 안전하게 작업을 처리할 수 있습니다.

HTML 이스케이프

WebToolBox에서 제공하는 무료 인코딩 도구인 HTML 이스케이프 기능을 브라우저에서 바로 사용해 보세요. 복잡한 설치 없이 빠르고 안전하게 작업을 처리할 수 있습니다.

유니코드 변환

WebToolBox에서 제공하는 무료 인코딩 도구인 유니코드 변환 기능을 브라우저에서 바로 사용해 보세요. 복잡한 설치 없이 빠르고 안전하게 작업을 처리할 수 있습니다.

JWT 디코더

WebToolBox에서 제공하는 무료 인코딩 도구인 JWT 디코더 기능을 브라우저에서 바로 사용해 보세요. 복잡한 설치 없이 빠르고 안전하게 작업을 처리할 수 있습니다.

퓨니코드 변환기 (Punycode)

WebToolBox에서 제공하는 무료 인코딩 도구인 퓨니코드 변환기 (Punycode) 기능을 브라우저에서 바로 사용해 보세요. 복잡한 설치 없이 빠르고 안전하게 작업을 처리할 수 있습니다.