브라우저 주소창에서 한글을 입력하면 %EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94처럼 변하는 걸 본 적 있나요? 이것이 퍼센트 인코딩(Percent Encoding), 즉 URL 인코딩입니다. 무료 URL 인코더/디코더로 즉시 변환해보세요.
왜 URL에서 한글이 깨지는가?
URL은 ASCII 문자만 안전하게 전송할 수 있도록 설계되었습니다. 한글, 띄어쓰기, 특수문자(& = ? # 등)는 URL에서 특별한 의미를 가지거나 ASCII 범위를 벗어나기 때문에 반드시 인코딩해야 합니다.
URL 인코딩이 필요한 실전 상황
쿼리 파라미터
검색어에 특수문자·한글 포함 시 — ?q=%EC%84%9C%EC%9A%B8
API 요청
REST API 경로에 한글 파라미터 전달 시
폼 데이터
HTML form이 POST로 데이터를 전송할 때 자동 인코딩
파일 경로
파일명에 공백·한글이 포함된 URL 생성 시
encodeURI vs encodeURIComponent 차이
encodeURI(url)
URL 전체를 인코딩. : / ? # & 등 URL 구조 문자는 유지
encodeURIComponent(value)
파라미터 값 인코딩. URL 구조 문자까지 모두 인코딩 → 쿼리스트링 값에 사용
URL 인코딩 실전 예제
한글 검색어
검색어: '서울 맛집' → ?q=%EC%84%9C%EC%9A%B8+%EB%A7%9B%EC%A7%91
이메일 주소
user@example.com → user%40example.com (%40 = @)
공백 처리
공백은 + 또는 %20으로 인코딩 (폼 데이터는 +, URL 경로는 %20)
슬래시 포함 값
2024/01/15 → 2024%2F01%2F15 (%2F = /)
언어별 URL 인코딩 함수
encodeURIComponent(str) — 쿼리 파라미터 값urllib.parse.quote(str) / urllib.parse.urlencode(dict)URLEncoder.encode(str, StandardCharsets.UTF_8)urlencode($str) — 폼 데이터 / rawurlencode($str) — URL 경로SpinFlow URL 인코더/디코더로 클릭 한 번에 변환하세요. 한글, 이모지, 특수문자 모두 지원합니다.