URL 인코더 및 디코더 - 쿼리 스트링 인코딩 온라인
URL, 쿼리 파라미터, 특수 문자를 즉시 인코딩·디코딩하세요. URL 구성 요소를 파싱하고 인코딩·디코딩 형식 간 변환 가능.
자주 묻는 질문
URL 인코딩이란?
URL 인코딩(퍼센트 인코딩이라고도 함)은 URL에서 안전하게 전송할 수 있는 형식으로 문자를 변환합니다. URL에서 특별한 의미를 가지거나 허용되지 않는 문자(공백, &, ?, = 등)는 퍼센트 기호와 16진수 값으로 대체됩니다. 예를 들어 공백은 %20이 되고 @는 %40이 됩니다.
언제 URL 인코딩을 사용해야 하나요?
URL 인코딩은 다음 경우에 사용합니다: 사용자 입력을 URL 쿼리 파라미터로 전달할 때, URL 경로에 특수 문자를 포함할 때, GET 요청으로 폼 데이터를 제출할 때, 동적 값으로 API 요청 URL을 생성할 때, 한글이나 이모지 같은 비ASCII 문자를 URL에 포함할 때. URL이 유효하고 브라우저와 서버에서 올바르게 파싱되도록 보장합니다.
encodeURIComponent와 encodeURI의 차이점은?
encodeURIComponent는 A-Z, a-z, 0-9, - _ . ! ~ * ' ( )를 제외한 거의 모든 문자를 인코딩합니다. 쿼리 파라미터 값을 인코딩할 때 사용하세요. encodeURI는 : / ? # @ 같은 URL 구조 문자를 보존하며 전체 URL을 기능적으로 유지하면서 인코딩할 때 사용합니다. 값에는 encodeURIComponent, 전체 URL에는 encodeURI를 사용하세요.
공백을 %20으로 인코딩해야 하나요, +로 해야 하나요?
둘 다 유효하지만 다른 상황에서 사용됩니다. %20은 URL에서 공백의 표준 RFC 3986 인코딩입니다. + 기호는 application/x-www-form-urlencoded 형식(HTML 폼 제출)에서 사용됩니다. 현대 웹 API는 일반적으로 %20을 기대하고, 폼 데이터는 전통적으로 +를 사용합니다. 이 도구는 두 옵션 모두 지원합니다.
URL 인코딩은 안전한가요?
URL 인코딩은 암호화가 아닙니다 - URL에서 문자를 안전하게 표현하는 방법일 뿐입니다. 디코딩 후에도 데이터를 읽을 수 있습니다. 이 도구는 브라우저에서 모든 것을 처리하므로 데이터가 기기를 벗어나지 않습니다. 민감한 데이터의 경우 항상 HTTPS와 적절한 인증을 사용하세요.
코드 예시
// Encode query parameter value
const encoded = encodeURIComponent('hello world & more');
console.log(encoded); // "hello%20world%20%26%20more"
// Decode
const decoded = decodeURIComponent(encoded);
console.log(decoded); // "hello world & more"
// Encode full URL (preserves structure)
const url = encodeURI('https://example.com/path?q=hello world');
console.log(url); // "https://example.com/path?q=hello%20world"