Skip to content
서버전송 없음 · 브라우저 처리

URL 인코딩

URL 인코딩·디코딩과 쿼리 파라미터 분해를 지원해요.

즐겨찾기하면 홈에서 바로 찾을 수 있어요

이럴 때 쓰세요

검색어 '달곰 도구' → %EB%8B%AC%EA%B3%B0%20%EB%8F%84%EA%B5%AC
쿼리 파라미터를 JSON으로 분해해 확인
리다이렉트 URL에 한글 넣기 전 인코딩

이렇게 사용하세요

11단계입력에 내용을 붙여넣으면 바로 시작해요
22단계인코딩 버튼을 누르면 결과가 아래에 나타나요
33단계복사 버튼으로 결과를 바로 가져다 쓸 수 있어요

결과가 예상과 다를 때

결과가 잘려 보여요

전체 결과는 복사 버튼으로 받을 수 있어요.

입력한 내용이 사라졌어요

이 기기에 자동 저장돼요. 브라우저 저장소를 지우면 함께 사라져요.

자주 하는 실수

계산 근거

표준은 RFC 3986입니다. URI에서 의미가 있는 예약 문자는 그대로 두고 나머지 바이트를 퍼센트 기호 뒤에 두 자리 16진수로 씁니다. 자바스크립트의 encodeURIComponent은 영문과 숫자, 그리고 - _ . ! ~ * ' ( )만 남기고, encodeURI는 여기에 : / ? # $ , @ & = + ;까지 보존합니다. HTML 폼 전송 형식은 공백을 %20 대신 +로 씁니다.

실제로 계산해 보면

'즐거운 여행'을 인코딩하면?

%EC%A6%90%EA%B1%B0%EC%9A%B4%20%EC%97%AC%ED%96%89으로 48자입니다. UTF-8에서 한글 일곱 글자가 21바이트, 공백이 1바이트로 22바이트인데 한글 한 글자가 3바이트라 글자마다 9자, 공백은 3자가 됩니다.

'a b&c=d'와 'a+b'는 어떻게 달라지나요?

encodeURIComponent은 'a%20b%26c%3Dd'를 만듭니다. 폼 형식으로는 'a+b%26c%3Dd'처럼 공백이 +가 되고, &와 =는 각각 %26과 %3D로 보호됩니다.

쿼리 파라미터는 어떻게 떨어지나요?

?name=%EC%A6%90%EA%B1%B0%EC%9A%B4&age=30은 &를 구분자로 잘라 두 쌍이 됩니다. 각각을 퍼센트 디코딩하면 '즐거운'과 30이 나오고, +는 공백으로 바뀝니다.

더 궁금한 것

왜 URL-safe 알파벳을 쓰는 곳이 있나요?

토큰 형식(JWT)은 헤이더·페이로드·서명을 URL-safe Base64로 담습니다. 데이터는 빼기와 밑줄을 쓰고 문법은 마침표 세 글자만 허용합니다. 표준 Base64의 덧셈·슬래시·등호가 들어가면 쿼리 파라미터가 깨집니다.

한글이 들어간 주소가 시스템마다 다르게 보입니다.

퍼센트 인코딩이 URL의 표준 형태지만 서버마다 알파벳 대소문자 구분이나 디코딩 시점이 달라 같은 주소가 여러 모양으로 보일 수 있습니다. 정규화 규칙과 서버 설정이 각각 다르기 때문입니다.

파일명에 사용할 수 있는 문자는 어떻게 정하나요?

가장 안전한 건 영문 소문자와 숫자, 하이픈과 밑줄입니다. 공백은 %20이 되고, 한글과 괄호는 환경에 따라 그대로 인식될 때도 있어 링크가 깨집니다. 짧게 줄인 이름으로 바꾸는 편이 안전합니다.

알아둘 경계값

결과를 믿기 전 확인 목록

자주 묻는 질문

한글 URL도 되나요?

네. encodeURIComponent 기준으로 한글·특수문자를 변환합니다.

+와 %20 중 뭘 쓰나요?

경로에는 %20, 쿼리 문자열에서는 +도 허용돼요. 이 도구는 encodeURIComponent 기준으로 %20을 씁니다.

관련 도구

전체보기 →