이게 뭔가요?
URL에는 공백, 한글, &, ?, = 같은 문자를 그대로 넣을 수 없습니다. URL 인코딩(퍼센트 인코딩)은 이런 문자를 %XX 형태의 안전한 표현으로 바꿉니다. 이 도구는 문자열을 인코딩하거나 다시 디코딩하며, 컴포넌트(쿼리 값 하나)와 전체 URL 두 가지 범위를 구분해 처리합니다. 컴포넌트 모드는 /·?·& 까지 모두 인코딩하고, 전체 URL 모드는 이런 구조 문자를 보존합니다.
언제 쓰나요?
검색어나 한글이 들어간 쿼리 파라미터를 직접 만들 때, 로그에 남은 %EA%B0%80 같은 인코딩된 값을 사람이 읽으려고 되돌릴 때, 또는 리다이렉트 URL을 다른 URL의 쿼리 값으로 중첩해 넣을 때 씁니다.
실무에서 자주 틀리는 점
- encodeURI vs encodeURIComponent 혼동. 쿼리 “값”에는
encodeURIComponent를 써야 합니다.encodeURI로 값을 인코딩하면&·=가 살아남아 파라미터가 깨집니다. 이 도구의 “컴포넌트/전체 URL” 선택이 이 둘에 대응합니다. - 이중 인코딩. 이미 인코딩된 문자열을 한 번 더 인코딩하면
%가%25로 바뀌어 값이 망가집니다. - 공백의
+vs%20. 폼 전송(application/x-www-form-urlencoded)에서는 공백이+지만, 퍼센트 인코딩에서는%20입니다. 문맥에 따라 다릅니다.
주의 — 값 안에
%25가 보이면 이중 인코딩을 의심하세요.%2F를 한 번 더 인코딩하면%가%25로 바뀌어%252F가 되고, 서버가 한 번만 디코딩하면/가 아니라%2F라는 글자가 남아 리다이렉트가 깨집니다. URL을 쿼리 값에 넣을 때는encodeURIComponent를 딱 한 번만 적용하고, 넣으려는 값이 이미 인코딩돼 있지 않은지 이 도구의 디코딩 탭으로 먼저 확인하세요.