URL 인코더 / 디코더
URL과 쿼리 문자열을 컴포넌트, URI, 폼 모드로 퍼센트 인코딩·디코딩합니다. UTF-8, UTF-16, Latin-1 문자셋 지원, 브라우저에서 로컬로 처리.
입력 내용과 파일은 브라우저 밖으로 전송되지 않습니다
URL, 쿼리 문자열 또는 일반 텍스트를 붙여넣어 퍼센트 인코딩하거나 디코딩하세요.
인코딩 또는 디코딩 결과가 여기에 표시됩니다.
이 페이지에서
텍스트를 URL용으로 퍼센트 인코딩하고 %XX 시퀀스를 읽을 수 있는 텍스트로 되돌립니다. 세 가지 모드는 JavaScript의 encodeURIComponent, encodeURI, HTML 폼 인코딩에 해당하며, 처리는 Rust로 컴파일한 WebAssembly 모듈이 브라우저에서 수행합니다.
상세 기능
컴포넌트 모드는 영문자, 숫자, - _ . ! ~ * ' ( )를 제외한 모든 문자를 이스케이프하므로 /, ?, &, =도 인코딩됩니다. 쿼리 파라미터 값 하나나 경로 세그먼트 하나에 쓰세요. URI 모드는 전체 주소의 구조(: / ? # & = + $ , ; @)를 유지하고 공백과 URL에서 절대 유효하지 않은 문자만 이스케이프합니다. 폼 모드는 application/x-www-form-urlencoded를 따라 공백을 +로 바꾸고 영문자, 숫자, - _ . * 외에는 모두 이스케이프하며, 디코딩할 때 +를 다시 공백으로 바꿉니다.
인코딩 전에 텍스트는 선택한 문자셋으로 바이트로 바뀝니다. 웹 표준은 UTF-8이고, ISO-8859-1(Latin-1), UTF-16LE, UTF-16BE는 레거시 시스템용입니다. 문자셋으로 표현할 수 없는 문자는 위치와 함께 오류로 표시됩니다. 디코딩은 엄격해서 모든 % 뒤에 16진수 두 자리가 와야 하므로, 단독 100%는 조용히 넘어가지 않고 오류로 보고됩니다. 상태 줄에는 출력 길이가 문자 수와 바이트 수로 표시됩니다.
실용적인 예제
파라미터 값: a b&c=d/e?는 컴포넌트 모드에서 a%20b%26c%3Dd%2Fe%3F가 됩니다.
URL 전체: https://example.com/my path?q=a b&x=1는 URI 모드에서 https://example.com/my%20path?q=a%20b&x=1가 되고, 컴포넌트 모드에서는 https%3A%2F%2Fexample.com%2Fmy%20path%3Fq%3Da%20b%26x%3D1가 됩니다.
폼 데이터: John Doe & Co.는 폼 모드에서 John+Doe+%26+Co.가 됩니다. a+b%20c를 디코딩하면 폼 모드에서는 a b c, 컴포넌트 모드에서는 a+b c입니다.
문자셋: café는 UTF-8에서 caf%C3%A9, ISO-8859-1에서 caf%E9입니다.
이 도구 사용 방법
텍스트나 인코딩된 문자열 붙여 넣기
입력에 인코딩할 일반 텍스트나 디코딩할 퍼센트 인코딩 문자열을 넣습니다.
모드와 문자셋 선택
모드에서 단일 값이면 컴포넌트 (encodeURIComponent 방식), 전체 주소면 URI (encodeURI 방식), 폼 본문이면 폼 (application/x-www-form-urlencoded)을 고릅니다. 서버가 다른 인코딩을 요구하지 않는 한 텍스트 문자셋은 UTF-8로 둡니다.
인코딩 또는 디코딩
인코딩을 누르면 퍼센트 인코딩되고, 디코딩을 누르면 텍스트가 복원됩니다. 잘못된
%시퀀스와 문자셋 밖의 문자는 오류로 표시됩니다.결과 복사
복사는 출력을 클립보드에 넣습니다. 교체는 출력을 입력 칸으로 되돌려, 한 겹 더 디코딩할 때 쓸 수 있습니다.
팁 및 모범 사례
- 쿼리 값은 컴포넌트 모드에서 하나씩 인코딩한 다음
&와=로 이어 붙이세요. URL 전체를 컴포넌트 모드로 인코딩하면://까지 이스케이프되어 링크가 깨집니다. - URI 모드는
&,=,#를 이스케이프하지 않습니다. 파라미터 값에 이 문자가 있다면 그 값을 컴포넌트 모드로 인코딩하세요. +가 공백을 뜻하는 것은 폼 데이터에서뿐입니다. 폼 모드가 아니면 그대로 더하기 기호로 디코딩됩니다.%2520처럼 두 번 인코딩된 텍스트는 처음에%20이 됩니다. 교체를 누르고 다시 디코딩하면 다음 겹이 벗겨집니다.- 서버가 기대하는 문자셋을 쓰세요.
%E9는 ISO-8859-1에서é가 되지만, UTF-8에서는 단독%E9가 잘못된 텍스트로 보고됩니다.