ONLY MY KIT

URL 가이드 / ENCODE · DECODE

URL 인코딩이란? 한글·공백·특수문자가 %로 바뀌는 이유

URL Encoding은 URL에서 안전하게 사용할 수 있도록 특정 문자를 %와 16진수 값으로 표현하는 방식입니다. 링크가 고장 난 것이 아니라 웹에서 전달하기 좋은 형태로 바뀐 경우가 많습니다.
게시 2026-08-27수정 2026-08-27약 6분
01

링크에 왜 % 문자가 생길까요?

웹 주소는 정해진 구조 문자와 문자 표현 규칙을 사용합니다. 한글, 공백 또는 일부 특수문자가 검색어처럼 URL 안에 들어가면 브라우저와 서버가 같은 값으로 이해하도록 퍼센트 인코딩할 수 있습니다.

예를 들어 https://example.com/search?q=서울 맛집에서 검색어 값은 전달 과정에서 %EC%84%9C%EC%9A%B8%20%EB%A7%9B%EC%A7%91처럼 보일 수 있습니다.

한글 검색어 서울 맛집이 퍼센트 인코딩된 URL 문자열로 바뀌는 전후 비교
02

%20, %2F, %3F는 무엇인가요?

% 뒤의 두 자리는 문자를 나타내는 바이트의 16진수 값입니다. 공백은 흔히 %20, 슬래시는 %2F, 물음표는 %3F로 표현됩니다. 한글은 UTF-8에서 여러 바이트를 사용하므로 한 글자에도 %xx 묶음이 여러 개 생깁니다.

자주 보이는 퍼센트 인코딩 예
원문인코딩
공백%20
/%2F
?%3F
서울%EC%84%9C%EC%9A%B8
03

Encode와 Decode의 차이

Encode는 사람이 입력한 문자열을 URL에서 안전하게 쓸 수 있는 표현으로 바꿉니다. Decode는 %xx가 섞인 문자열을 다시 읽기 쉬운 문자로 되돌려 확인합니다.

검색어 인코딩과 복원

변경 전
서울 맛집
변경 후
%EC%84%9C%EC%9A%B8%20%EB%A7%9B%EC%A7%91

Decode를 실행하면 오른쪽 문자열을 다시 서울 맛집으로 확인할 수 있습니다.

04

URL 전체를 무조건 인코딩하면 안 되는 이유

https://, ?, &, =, #는 주소의 위치와 파라미터를 구분합니다. 전체 URL을 단순 문자열처럼 인코딩하면 이런 구분자까지 바뀌어 클릭할 수 없는 주소가 될 수 있습니다.

일반적으로 검색어 같은 쿼리 값만 인코딩합니다. Only My Kit에서는 ‘쿼리 값 / 텍스트’와 ‘URL 구조 유지’를 구분해 선택할 수 있으므로 목적에 맞는 범위를 고르세요.

05

언제 Decode가 필요할까요?

  • 메신저에서 복사한 링크가 % 문자로 길게 보일 때
  • 검색 결과 URL에 실제 한글 검색어가 무엇인지 확인할 때
  • UTM 또는 여러 쿼리 파라미터 값을 점검할 때
  • API 요청 URL에서 전달된 값을 읽어야 할 때
  • 공백이 %20이나 +로 표시된 이유를 확인할 때
06

Only My Kit에서 변환하는 방법

URL 인코더 또는 디코더에 문자열이나 URL을 입력하고, 처리 범위를 고른 다음 Encode 또는 Decode를 실행하세요. 결과를 확인한 뒤 복사하면 됩니다.

변환은 브라우저의 encodeURIComponent, decodeURIComponent와 URL 처리 기능으로 현재 기기에서 실행되며 입력값을 서버에 전송하지 않습니다.

  1. 문자열 또는 URL을 입력합니다.
  2. Encode 또는 Decode 방향을 선택합니다.
  3. 쿼리 값/텍스트 또는 URL 구조 유지 범위를 고릅니다.
  4. 결과를 확인하고 복사합니다.
07

URL 인코딩은 암호화가 아닙니다

퍼센트 인코딩은 전달 형식을 바꿀 뿐 누구나 Decode할 수 있습니다. 이메일 주소, 사용자 ID나 개인정보를 인코딩해도 내용이 숨겨지지 않습니다.

Base64도 표현 방식을 바꾸는 것이지 비밀을 보호하는 암호화가 아닙니다. 민감한 값은 URL에 넣지 말고 서비스의 적절한 인증과 암호화 방식을 사용하세요.

08

FAQ

공백은 항상 %20인가요?
URL 구성 요소에서는 %20으로 보이는 경우가 많고, 폼 방식의 쿼리 문자열에서는 +로 표현되기도 합니다.
URL Decode는 안전한 링크인지 확인해 주나요?
아니요. 문자를 복원할 뿐 링크의 신뢰도나 악성 여부를 판별하지 않습니다.