작업 히스토리 (History)
기록된 작업이 없습니다.

로그인하시면 작업 기록을 무제한으로 저장하고 여러 기기에서 동기화하여 사용할 수 있습니다.

ENCODERDECODERCONVERSION

URL 인코더/디코더

URL 매개변수와 쿼리 스트링을 안전하게 인코딩하거나 디코딩합니다.

INPUT
0 chars
OUTPUT
0 chars

도구 설명 및 사용 방법

웹 URL 주소에 한국어, 띄어쓰기 또는 특수기호가 인가되었을 때 생기는 오류를 배제할 수 있도록 백분율 인코딩 문자열(Percent Encoding)로 변환하거나 본래 주소로 복원합니다.

사용 단계

1
작업 목적에 따라 상단에서 "인코딩(Encode)" 혹은 "디코딩(Decode)" 동작 모드를 택합니다.
2
입력창에 분석할 주소 URL 또는 파라미터가 담긴 스트링을 복사해 넣습니다.
3
공백은 %20, 특수문자는 주소 규격에 부합되게 안전 가공된 결과 텍스트가 노출됩니다.
4
완성된 URL 문자열을 클립보드에 담아 브라우저 접속이나 API 요청 주소로 사용합니다.

작동 원리 및 상세 설명

URL 인코더/디코더는 URI 스펙(RFC 3986)의 퍼센트 인코딩(Percent-Encoding) 표준에 근거합니다. 인코더는 입력값을 UTF-8 옥텟(Octet) 바이트 스트림으로 해석한 후, 예약되지 않은(Unreserved) 표준 문자(알파벳, 숫자, 일부 특수문자)를 제외한 모든 문자 1바이트를 % 뒤에 붙는 16진수 2글자(예: 공백 -> %20)로 인코딩 매핑해 줍니다.

자주 묻는 질문 (FAQ)

URL 인코딩(Percent Encoding)이 필요한 이유는 무엇인가요?
인터넷 통신 규약(RFC 3986)에서 URL 주소창은 아스키(ASCII) 문자 일부만 허용합니다. 한글, 일본어, 혹은 공백, 특수기호(#, ?, & 등)가 주소에 직접 섞여 전송되면 라우터 오류를 야기하므로 % 뒤에 16진수 문자를 붙이는 형태로 인코딩하여 전송하게 됩니다.
전체 URL과 쿼리 파라미터 값을 다르게 인코딩해야 하나요?
예, 전체 URL을 인코딩할 때는 도메인 구분에 필요한 슬래시(/)나 프로토콜 콜론(:) 기호는 유지해야 하지만, 파라미터 내의 값만 인코딩할 때는 이들 기호까지 완전히 %3F, %2F 등으로 안전 치환(encodeURIComponent)해야 데이터 유실을 피할 수 있습니다.

코드 사용 예시

JavaScript URL 인코딩 및 디코딩 기본 API 예제
javascript
const rawUrl = "https://example.com/search?q=개발자 도구";

// 1. 전체 URL용 인코딩 (/, :, ? 기호 유지)
const encodedWholeUrl = encodeURI(rawUrl);
console.log(encodedWholeUrl); 
// "https://example.com/search?q=%EA%B0%9C%EB%B0%9C%EC%9E%90%20%EB%8F%84%EA%B5%AC"

// 2. 파라미터 값 전용 인코딩 (모든 특수기호 치환)
const paramValue = "개발자/도구";
const encodedParam = encodeURIComponent(paramValue);
console.log(encodedParam); // "%EA%B0%9C%EB%B0%9C%EC%9E%90%2F%EB%8F%84%EA%B5%AC"

브라우저 표준 encodeURI와 encodeURIComponent의 작동 차이를 나타내는 핵심 코드 스니펫입니다.