데이터·개발

URL 인코더·디코더

URL이나 쿼리 값을 퍼센트 인코딩하고 읽을 수 있는 문자열로 복원합니다.

직접 실행하는 예제와 결과 해석 보기 ↓
브라우저 실행 데이터 비저장 무료
변환할 문자열
0자
변환 결과

Ctrl + Enter를 누르면 기본 작업을 실행합니다.

URL ENCODE & DECODE

주소와 쿼리 값을 전송 가능한 형태로 바꿉니다.

URL에 한글, 공백, &, = 같은 문자가 포함되면 문자의 의미가 주소 문법과 충돌할 수 있습니다. 전체 URL 또는 하나의 쿼리 값을 선택해 필요한 범위만 퍼센트 인코딩하고, %ED%88%B4처럼 표시된 문자열은 사람이 읽을 수 있는 원문으로 복원합니다.

01

사용 방법

입력부터 결과 활용까지 네 단계로 진행합니다.

  1. 1입력값 준비

    URL 전체 또는 변환할 쿼리 값을 입력합니다.

  2. 2처리 범위 선택

    전체 URL과 구성요소 중 알맞은 기준을 고릅니다.

  3. 3인코딩·디코딩

    원하는 방향의 변환 버튼을 누릅니다.

  4. 4주소 검토

    결과를 복사하기 전에 예약 문자가 유지됐는지 확인합니다.

범위 선택

전체 URL과 구성요소는 보존해야 할 문자가 다릅니다.

전체 URL 모드는 https://, 슬래시, 물음표처럼 주소 구조를 만드는 문자를 유지합니다. 구성요소 모드는 검색어 또는 파라미터 값 하나를 대상으로 더 많은 문자를 인코딩합니다. 쿼리 값만 전달할 때는 구성요소 모드를 사용하는 편이 안전합니다.

전체 URL주소 구조를 유지하면서 한글과 공백 등을 변환합니다.

구성요소파라미터 값 안의 &, =, ? 같은 문자까지 변환합니다.

%20과 +이 도구는 공백을 표준 퍼센트 형식인 %20으로 표현합니다.

예제로 확인하기

주소 전체와 검색어 한 개는 다르게 인코딩합니다

검색어에 &#가 들어가면 서버가 값의 일부를 새 매개변수나 주소 조각으로 읽을 수 있습니다. 먼저 바꾸려는 것이 완성된 주소인지, 주소 안에 들어갈 값 한 개인지 정하세요.

검색어 ‘봄 & 여름’을 쿼리 값으로 전달하기

봄 & 여름
→ %EB%B4%84%20%26%20%EC%97%AC%EB%A6%84

구성요소 모드는 공백을 %20, 앰퍼샌드를 %26으로 바꿉니다. 이 결과를 ?q= 뒤에 붙이면 두 계절 이름과 앰퍼샌드를 하나의 검색어로 전달할 수 있습니다. 한글의 퍼센트 표시는 UTF-8 바이트를 16진수로 나타낸 것입니다.

완성된 주소에서는 구조 문자를 남깁니다

https://example.com/문서?q=hello world
→ https://example.com/%EB%AC%B8%EC%84%9C?q=hello%20world

전체 URL 모드는 :, /, ?, = 같은 구분자를 남겨 주소 구조를 보존합니다. 그래서 검색어 자체의 &를 안전한 값으로 처리하는 용도로는 충분하지 않습니다. 매개변수 값마다 구성요소 인코딩을 적용한 뒤 주소를 조립하세요.

‘+’는 여기서 공백으로 바뀌지 않습니다

A+B%20C → A+B C

폼 인코딩의 application/x-www-form-urlencoded 규칙과 이 도구의 퍼센트 디코딩은 다릅니다. 이 도구는 문자 +를 그대로 유지합니다. 폼 데이터에서 플러스가 공백을 뜻하는지는 원본 형식을 먼저 확인하세요.

결과가 다를 때

이중 인코딩과 깨진 퍼센트 문자를 구별하세요

  1. %252F가 보이면 변환 횟수를 확인하세요. 이미 인코딩된 %2F를 다시 인코딩하면 퍼센트 기호가 %25가 됩니다. 구성요소 디코딩 한 번은 %2F, 두 번은 /입니다. 무조건 반복해서 풀면 원래 값이 변할 수 있습니다.
  2. 전체 URL 디코딩은 예약 문자를 남길 수 있습니다. 같은 %2F도 전체 모드에서는 유지되고 구성요소 모드에서는 슬래시로 바뀝니다. 경로 안의 값인지 실제 경로 구분자인지 판단한 뒤 모드를 고르세요.
  3. 잘린 입력은 복원할 수 없습니다. 단독 %, %G1, 중간에 잘린 한글 바이트는 오류가 납니다. 로그에서 가져왔다면 문자열이 생략되지 않았는지 확인하세요.
  4. 인코딩은 주소 검증 기능이 아닙니다. 도메인 소유자, 링크의 안전성, 서버가 지원하는 경로까지 확인하지 않습니다. 앞뒤 공백도 문자로 처리하므로 복사할 때 의도치 않은 공백이 들어가지 않았는지 확인하세요.

쿼리에 넣을 값이 JSON이라면 JSON 포매터에서 문법을 확인한 뒤 최종 문자열을 구성요소 모드로 변환할 수 있습니다.

동작 근거: MDN의 encodeURIComponent와 폼 인코딩 설명.

예제를 실행하면 작업 영역의 입력과 설정이 바뀝니다. 내용·동작 확인: · 툴하루

02

대표적인 사용 사례

실제 작업에서는 이렇게 활용할 수 있습니다.

QUERY

검색어 파라미터

한글 검색어와 특수문자를 안전한 쿼리 값으로 만듭니다.

REDIR

리디렉션 주소

다른 URL을 파라미터로 전달할 때 구조가 섞이지 않게 합니다.

DEBUG

깨진 주소 분석

로그에 남은 퍼센트 문자열을 원문으로 바꿔 문제를 확인합니다.

03

자주 묻는 질문

사용 전 알아두면 좋은 기준을 정리했습니다.

언제 ‘구성요소’ 모드를 사용해야 하나요?

검색어, 파일명, 콜백 주소처럼 URL의 한 파라미터 값만 변환할 때 사용합니다. 전체 주소를 구성요소로 인코딩하면 슬래시와 콜론까지 바뀝니다.

공백이 +가 아니라 %20으로 변환되는 이유는 무엇인가요?

+ 표기는 HTML 폼 인코딩에서 주로 사용합니다. 일반 URI 퍼센트 인코딩에서는 공백을 %20으로 표현하는 방식이 명확합니다.

디코딩 오류는 왜 발생하나요?

% 뒤에 두 자리 16진수가 없거나 UTF-8 바이트 순서가 올바르지 않으면 복원할 수 없습니다. 문자열이 중간에서 잘리지 않았는지 확인하세요.

URL을 실제로 열거나 서버로 보내나요?

아니요. 입력한 문자열만 브라우저에서 변환하며 해당 주소에 접속하거나 서버에 전송하지 않습니다.

RELATED WORKFLOW

쿼리 파라미터를 안전하게 만드는 흐름

1원본 값 확인검색어·파일명 준비
2구성요소 인코딩예약 문자 충돌 방지
3URL에 결합최종 주소 동작 확인