본문으로 바로가기
URL 인코딩
쿼리 값·한글·이모지 퍼센트 인코딩/디코딩. component·full.
블로그

URL 인코딩, 양방향.

쿼리 값·한글·이모지를 안전하게 퍼센트 인코딩하고 다시 되돌립니다. component(값)·full(전체 URL) 선택.

입력

도구 준비 중입니다. 준비가 끝나면 입력할 수 있습니다. 안내가 계속 보이면 새로고침하거나 JavaScript 허용 여부를 확인하세요.

결과
결과가 여기에 표시됩니다.

Component vs Full URL — 범위를 올바로 고르기

Component 는 encodeURIComponent 로 / ? # & = 같은 예약문자까지 변환하며, 쿼리 값 하나나 경로 한 조각에 씁니다. Full URL 은 구분자를 남기지만 아직 퍼센트 인코딩되지 않은 주소 텍스트에만 씁니다. %20 을 다시 처리하면 %2520 이 됩니다. 새 쿼리는 인코딩 전 값을 URL.searchParams.set 에 전달하세요.

'+ 는 공백' 함정

URLSearchParams("q=a+b").get("q") 는 a b, decodeURIComponent("a+b") 는 a+b 입니다. 쿼리에 문자 그대로의 + 를 남기려면 %2B 가 필요합니다. '+ 를 공백으로'는 쿼리·폼 값만 Component 모드로 수동 변환할 때 켜며, Full URL 모드에서는 모든 + 를 그대로 둡니다.

한글·이모지도 정확히 왕복

한글·일본어·이모지는 UTF-8 퍼센트 시퀀스로 인코딩되고 그대로 복원됩니다. 깨진 시퀀스(잘린 % 등)는 깨진 글자 대신 오류로 표시합니다.

자주 묻는 질문

슬래시(/)가 왜 인코딩되나요?
Component 모드에서는 / 도 이스케이프됩니다. 경로 구분자를 그대로 두려면 Full URL 로 전환하세요.
쿼리스트링의 민감정보에 써도 안전한가요?
아니요. 붙여 넣은 값은 브라우저에서 변환하지만 Cloudflare Web Analytics가 페이지 조회를 별도로 처리할 수 있습니다. 값을 담은 URL을 방문·공유하면 요청·로그·브라우저 기록에 남을 수 있으니 비밀값을 넣지 마세요.