ConvertText.app LogoConvertText.app

URL 인코더 / 디코더

URL, 쿼리 문자열, 특수 문자를 퍼센트 인코딩으로 변환하거나, 퍼센트 인코딩된 텍스트를 읽기 쉬운 URL로 되돌리세요 — 브라우저에서 즉시 처리됩니다. 이 URL 인코더 디코더는 퍼센트 인코더, 퍼센트 디코더, 쿼리 문자열 인코더, 쿼리 문자열 디코더, UTF-8 호환 URL 인코딩 변환 도구로 한 페이지에서 모두 사용할 수 있습니다.

입력 필드에 URL이나 텍스트를 붙여넣고, 인코딩 또는 디코딩 방향을 선택하고, URL 컴포넌트 단위인지 전체 URL인지 지정한 뒤 결과를 복사하세요. 모든 처리는 JavaScript의 기본 URL 함수를 사용해 브라우저에서 로컬로 실행되므로, 입력한 데이터는 절대 기기를 벗어나지 않습니다.

변환 옵션
인코딩과 디코딩 중 어느 것을 할지, 그리고 URL 컴포넌트(예: 쿼리 값)와 전체 URL 중 어느 것으로 작업할지 선택하세요.

컴포넌트 모드는 / ? # & = 같은 예약 문자를 퍼센트 인코딩하여 값이 쿼리 문자열이나 경로 세그먼트 내에서 안전하게 사용될 수 있도록 합니다.

인코딩할 텍스트
인코딩하려는 텍스트나 URL을 입력하세요. 공백은 %20이 되고, 특수 문자는 퍼센트 인코딩됩니다.
0
인코딩된 출력
퍼센트 인코딩된 결과로, URL에서 사용하기 안전합니다.
0

이 도구는 브라우저 기반의 프라이빗 URL 인코더/디코더입니다. 서버로 데이터를 전송하지 않고 encodeURIComponent, encodeURI, decodeURIComponent, decodeURI 네이티브 함수를 사용하여 UTF-8 텍스트를 안전하게 처리합니다.

이 URL 인코더·디코더는 무엇을 하나요?

URL 인코더는 URL에서 직접 사용할 수 없는 문자를 퍼센트 인코딩 시퀀스로 변환합니다. URL 디코더는 그 반대로, 퍼센트 인코딩된 텍스트를 원래 문자로 되돌립니다. 이 페이지는 URL 컴포넌트 단위와 전체 URL 모두 양방향으로 처리합니다.

이 도구는 네 가지 표준 JavaScript 함수를 사용합니다:

  • encodeURIComponent — 쿼리 파라미터 값 같은 URL 컴포넌트 하나를 인코딩.
  • encodeURI — : / ? # & = 같은 예약 문자를 유지하며 전체 URL을 인코딩.
  • decodeURIComponent — URL 컴포넌트 하나를 원래 문자로 디코딩.
  • decodeURI — 예약 문자를 건드리지 않고 전체 URL을 디코딩.

모든 변환은 UTF-8 호환이므로 악센트 문자, 이모지, 비라틴 문자 모두 올바르게 처리됩니다. 업로드도, 저장도, API 호출도 없습니다.

URL 인코딩 예시

URL 인코딩이 실제로 어떻게 동작하는지 몇 가지 예를 살펴보겠습니다:

  • 공백은 %20이 됩니다. 예를 들어 '안녕 세계'는 %EC%95%88%EB%85%95%20%EC%84%B8%EA%B3%84로 인코딩됩니다.
  • 쿼리 값 안의 슬래시는 %2F가 됩니다. a/b 파라미터는 a%2Fb가 됩니다.
  • 값 안의 물음표는 %3F가 됩니다. '무엇?'은 %EB%AC%B4%EC%97%87%3F가 됩니다.
  • 값 안의 &는 %26이 되어 주변 쿼리 문자열이 깨지지 않습니다.
  • 값 안의 #는 %23이 됩니다. c#는 c%23이 됩니다.
  • ASCII 외 문자는 멀티바이트 UTF-8 시퀀스를 사용합니다. 예를 들어 café는 caf%C3%A9가 됩니다(é는 2바이트 UTF-8).
  • 이모지도 멀티바이트 UTF-8을 사용합니다: 😀는 %F0%9F%98%80이 됩니다.

디코딩 모드로 전환하고 위 인코딩된 문자열 중 하나를 붙여넣으면 원문이 정확히 복원됩니다.

URL 컴포넌트 인코딩과 전체 URL 인코딩

두 인코더는 예약 문자 처리 방식이 다르기 때문에 올바른 모드를 선택하는 것이 중요합니다.

컴포넌트 모드(encodeURIComponent / decodeURIComponent)는 URL에 삽입할 단일 값을 인코딩할 때 사용합니다. 쿼리 파라미터 값, 경로 세그먼트, 프래그먼트 값 등이 해당됩니다. 이 모드는 : / ? # [ ] @ ! $ & ' ( ) * + , ; = 같은 예약 문자를 퍼센트 인코딩하여 주변 URL 구조를 실수로 변경하지 않도록 합니다.

전체 URL 모드(encodeURI / decodeURI)는 https://example.com/path?query=value#fragment 같은 완성된 URL이 있고, 공백이나 ASCII 외 문자 같은 안전하지 않은 문자만 이스케이프하고 싶을 때 사용합니다. 구조적 예약 문자는 건드리지 않습니다.

흔한 실수는 쿼리 파라미터로 쓸 값에 encodeURI를 사용하는 것입니다. 예약 문자가 그대로 남아 주변 URL을 망가뜨릴 수 있습니다. 확실하지 않으면 각 쿼리 값에 encodeURIComponent를 사용한 뒤 URL을 조합하세요.

퍼센트 인코딩이란 무엇인가요?

퍼센트 인코딩(URL 인코딩이라고도 함)은 URL에서 예약 문자(구조적 의미를 가진 문자)나 허용되지 않는 문자를 표현하는 방법입니다. 안전하지 않은 각 바이트는 퍼센트 기호와 두 자리 16진수로 표기됩니다. 예를 들어 공백은 %20, 슬래시는 %2F, 물음표는 %3F입니다.

인코딩은 문자가 아닌 바이트 단위로 동작합니다. 현대 URL은 먼저 UTF-8로 문자를 바이트로 변환하기 때문에 악센트 문자 하나가 2바이트, 이모지 하나가 4바이트가 될 수 있습니다. 이 도구는 항상 UTF-8을 사용하므로 인코딩된 문자열은 웹 전체에서 호환됩니다.

퍼센트 인코딩은 RFC 3986에 정의되어 있습니다. 여기서 사용하는 네이티브 JavaScript 함수가 이 스펙을 구현하므로, 어떤 브라우저에서 encodeURIComponent로 인코딩한 값이든 decodeURIComponent로 어디서나 올바르게 디코딩됩니다.

이 도구를 언제 사용하나요?

이 URL 인코더 디코더는 텍스트를 URL에 안전하게 포함하거나 URL에서 꺼내야 할 때 유용합니다. 주요 사용 사례:

  • API 요청, 로그 라인, 브라우저 주소창에 붙여넣기 전에 쿼리 문자열 텍스트를 인코딩.
  • 요청 로그나 분석 내보내기에서 URL 파라미터를 디코딩해 원래 값 확인.
  • 긴 인코딩된 URL을 디코딩해 실제로 무엇이 전달되는지 검사.
  • 채팅, 문서, JSON 페이로드로 공유하기 전에 URL의 특수 문자 이스케이프.
  • 퍼센트 인코딩과 UTF-8 바이트 시퀀스가 문자에 어떻게 매핑되는지 학습.

도구가 브라우저에서 완전히 실행되므로 원격 서비스에 붙여넣기 꺼려지는 민감한 URL(내부 링크, 토큰, 서명된 URL)에도 안심하고 사용할 수 있습니다.

URL 인코딩과 URL 클리닝의 차이

URL 인코딩과 URL 클리닝은 자주 혼동되지만 전혀 다른 작업입니다.

URL 인코딩(이 도구)은 문자를 URL에 안전한 퍼센트 인코딩 형식으로 변환하고 그 반대도 수행합니다. URL 구조는 그대로 유지되며 아무것도 추가되거나 삭제되지 않습니다.

URL 클리닝(별도 유형의 도구)은 utm_source, utm_medium, fbclid, gclid 같은 추적 파라미터를 URL에서 제거하여 링크에 추적 메타데이터가 포함되지 않도록 합니다. URL 클리닝은 URL의 파라미터를 변경하지만, 인코딩은 그렇지 않습니다.

추적 파라미터를 제거하려면 전용 URL 클리닝 도구가 필요합니다. 텍스트를 퍼센트 인코딩 형식으로 변환하거나 그 반대를 하려면 이 도구가 적합합니다.

자주 묻는 질문

URL 인코더와 디코더란 무엇인가요?

URL 인코더는 URL의 예약 문자나 안전하지 않은 문자를 퍼센트 인코딩 시퀀스로 변환합니다(예: 공백 → %20). URL 디코더는 반대로 원래 문자를 복원합니다. 이 페이지는 양방향을 모두 지원하며 URL 컴포넌트 단위와 전체 URL 모두 브라우저에서 처리합니다.

URL 인코딩이란 무엇인가요?

URL 인코딩은 URL에서 특별한 의미를 가지거나 허용되지 않는 문자를 퍼센트 인코딩 시퀀스로 대체하는 과정입니다. 안전하지 않은 각 바이트는 퍼센트 기호와 두 자리 16진수로 표기됩니다. URL 인코딩은 퍼센트 인코딩이라고도 하며 RFC 3986에 정의되어 있습니다.

퍼센트 인코딩이란 무엇인가요?

퍼센트 인코딩은 URL이 안전하지 않거나 예약된 문자를 표현하기 위해 사용하는 인코딩 방식입니다. 문자는 하나 이상의 바이트(현대 URL에서는 UTF-8)로 변환되고, 각 바이트는 퍼센트 기호와 두 자리 16진수 값으로 표기됩니다. 예를 들어 공백은 바이트 0x20이며 %20으로 표기됩니다.

encodeURIComponent와 encodeURI는 언제 구분해서 사용하나요?

URL에 삽입할 단일 값(쿼리 파라미터 값, 경로 세그먼트, 프래그먼트 값 등)을 인코딩할 때는 encodeURIComponent를 사용하세요. /, ?, #, &, = 같은 예약 문자도 인코딩하여 주변 URL 구조를 실수로 변경하지 않습니다. 이미 완성된 URL이 있고 공백이나 ASCII 외 문자 같은 안전하지 않은 문자만 이스케이프하고 싶을 때는 encodeURI를 사용하세요. 구조적 예약 문자는 건드리지 않습니다.

%20과 +의 차이는 무엇인가요?

둘 다 공백을 나타낼 수 있지만 문맥이 다릅니다. %20은 공백의 표준 퍼센트 인코딩으로 URL 어디서나 유효합니다. +는 application/x-www-form-urlencoded 데이터 — 즉 HTML 폼 전송 본문이나 일부 레거시 코드가 생성한 쿼리 문자열 — 에서만 공백으로 해석됩니다. 네이티브 decodeURIComponent와 decodeURI는 +를 공백으로 변환하지 않으며, 이 도구도 같은 엄격한 동작을 따릅니다. +는 입력한 그대로 유지됩니다. 폼 데이터를 디코딩할 때 +를 공백으로 처리해야 한다면, 디코딩 전에 +를 수동으로 공백으로 바꾸세요.

이 도구로 쿼리 문자열도 디코딩할 수 있나요?

네. 인코딩된 쿼리 문자열(또는 단일 인코딩 값)을 입력 필드에 붙여넣고 방향을 디코딩으로 바꾸세요. 단일 파라미터 값에는 컴포넌트 모드를, 전체 URL을 디코딩할 때는 전체 URL 모드를 사용하세요. 단, 이 도구는 쿼리 문자열을 키/값 쌍으로 분리하지 않습니다. 붙여넣은 텍스트의 퍼센트 인코딩 문자를 디코딩합니다.

이 URL 디코더는 UTF-8 문자를 지원하나요?

네. 네이티브 JavaScript 함수는 퍼센트 인코딩 시퀀스를 UTF-8 바이트로 처리하므로 악센트 문자, 이모지, 비라틴 문자 모두 원래 형태로 올바르게 디코딩됩니다. 예를 들어 caf%C3%A9는 café로, %F0%9F%98%80은 😀로 디코딩됩니다. 시퀀스가 유효한 UTF-8이 아닐 경우, 디코더는 조용히 대체 문자를 생성하는 대신 잘못된 입력 오류를 보고합니다.

입력한 텍스트가 서버에 업로드되나요?

아니요. 인코더와 디코더는 JavaScript 네이티브 URL 함수를 사용해 브라우저에서만 완전히 실행됩니다. 입력 데이터는 절대 서버로 전송되지 않으며, 저장되거나 로그에 기록되지도 않습니다. 탭을 닫으면 모든 데이터가 삭제됩니다. 원격 서비스에 붙여넣기 꺼려지는 민감한 URL(내부 링크, 토큰, 서명된 URL)에도 안심하고 사용할 수 있습니다.

URL 인코딩과 URL 클리닝은 같은 것인가요?

아니요. URL 인코딩은 어떤 파라미터가 있는지 바꾸지 않고 문자를 퍼센트 인코딩 형식으로 변환하거나 복원합니다. URL 클리닝은 utm_source, utm_medium, fbclid, gclid 같은 추적 파라미터를 URL에서 제거하는 별도의 작업입니다. 링크에서 추적기를 제거하려면 전용 URL 클리닝 도구가 필요합니다. 이 페이지는 인코딩과 디코딩만 수행합니다.

디코딩한 URL에 아직 퍼센트 기호가 남아있는 이유는 무엇인가요?

원래 URL이 두 번 인코딩(이중 인코딩)된 경우 한 번의 디코딩으로는 한 겹만 벗겨집니다. 예를 들어 %2520은 %20으로 디코딩되고, 두 번째에서 %20이 공백으로 디코딩됩니다. 아직 인코딩된 것처럼 보이면 디코더를 한 번 더 통과시키세요. 유효한 이스케이프 시퀀스의 일부가 아닌 리터럴 퍼센트 기호(예: abc%)는 잘못된 퍼센트 인코딩이며, 디코더는 추측 대신 오류를 보고합니다.

더 많은 텍스트 도구 탐색

텍스트 변환, 인코딩, 변형을 위한 무료 온라인 도구

대소문자 변환

텍스트 대소문자 변환 — 대문자, 소문자, 타이틀 케이스 등

모스 부호 번역기

텍스트를 모스 부호로 변환하거나 되돌립니다

모스 부호 오디오 디코더

오디오 파일 또는 마이크에서 모스 부호 디코딩

이진 번역기

텍스트를 이진 코드로 변환하거나 되돌립니다

Base64 인코더/디코더

Base64 텍스트를 인코딩 및 디코딩합니다

Hex Converter

텍스트를 16진수로 변환하거나 되돌립니다

ROT13 인코더/디코더

ROT13 암호를 사용하여 텍스트를 인코딩 및 디코딩합니다

위첨자 생성기

지원되는 경우 텍스트를 유니코드 위첨자로 변환합니다

아래첨자 생성기

지원되는 경우 텍스트를 유니코드 아래첨자로 변환합니다

취소선 텍스트 생성기

복사 붙여넣기용 Unicode 취소선 텍스트를 즉시 생성

이미지를 Base64로

이미지를 Base64 문자열과 데이터 URI로 변환