본문으로 건너뛰기
Betterbit Tools

URL 인코딩·디코딩

URL 값, 전체 주소, 폼 데이터를 퍼센트 인코딩하고 쿼리 파라미터를 표에서 바로 확인·수정하세요.

  • 브라우저에서 처리 — 파일이 기기 밖으로 나가지 않습니다
  • 더 적은 클릭, 키보드 지원
방향
인코딩 범위
이 브라우저에만 저장됨
49
입력 글자 수
91
결과 글자 수

쿼리 파라미터

디코딩된 이름과 값을 고치면 폼 방식으로 다시 인코딩해 URL을 만듭니다.

사용 방법

  1. 값을 URL에 넣으려면 인코딩, `%20` 같은 문자열을 읽으려면 디코딩을 고르세요.
  2. 값 하나는 구성 요소, 전체 링크는 전체 URL, 공백을 `+`로 써야 하면 폼 값을 고르세요.
  3. 텍스트, URL 또는 쿼리 문자열을 붙여넣으세요. 결과는 입력할 때마다 바로 바뀌고 이 브라우저에만 저장됩니다.
  4. 쿼리 문자열이 있으면 쿼리 파라미터 표에서 디코딩된 이름과 값을 수정하세요. URL이 즉시 다시 만들어집니다.
  5. 결과를 복사하거나 결과를 입력으로 사용을 눌러 반대 방향 변환도 확인하세요.

값 하나와 전체 URL은 다르게 인코딩해야 합니다

URL 구성 요소는 검색어, 리디렉션 주소, 경로 한 조각, 쿼리 값처럼 URL 안에 들어갈 데이터 한 부분입니다. 이때 `&`, `=`, `?`, `/`, `#`는 URL 구조를 만드는 문자이므로 값 안에서는 반드시 인코딩해야 합니다. 구성 요소 모드는 RFC 3986 기준으로 이 예약 문자를 인코딩합니다. 예를 들어 `a&b=c`는 `a%26b%3Dc`가 됩니다.

전체 URL 모드는 이미 구조를 가진 주소를 위한 것입니다. `:`, `/`, `?`, `&`, `=`, `#`는 남겨 두고 공백과 유니코드만 인코딩합니다. 쿼리 값 하나에 전체 URL 모드를 쓰면 값 안의 `&`나 `=`가 구분자로 해석되어 링크 뜻이 바뀔 수 있습니다.

퍼센트 인코딩과 폼 인코딩의 공백 표기

RFC 3986에서 퍼센트 인코딩은 `%` 뒤에 16진수 두 자리를 붙이는 방식입니다. 공백은 `%20`이고, `?`, `&`, `=`는 URI 부분을 나누는 예약 문자입니다. 어디서나 그대로 쓸 수 있는 비예약 문자는 영문 대·소문자, 숫자, `-`, `.`, `_`, `~`입니다. 한글이나 이모지는 먼저 UTF-8 바이트열이 되기 때문에 여러 개의 `%XX`로 바뀝니다.

HTML 폼의 `application/x-www-form-urlencoded` 방식은 관련 있지만 다릅니다. 폼 값에서 공백은 `+`이고, 실제 더하기 기호는 `%2B`로 써야 합니다. 쿼리 파라미터 표는 일반적인 폼 쿼리 문자열과 맞추기 위해 이 방식을 사용합니다. `%` 뒤에 두 자리 16진수가 없거나 UTF-8 바이트열이 잘리면 추측하지 않고 오류를 알려줍니다.

중첩된 URL도 파라미터별로 안전하게 확인

쿼리 문자열은 `?` 뒤에 오며, `&`는 파라미터를 나누고 첫 `=`는 이름과 값을 나눕니다. 표는 이름과 값을 각각 디코딩해서 보여 주므로 `redirect=https%3A%2F%2Fexample.com%2Fnext%3Fa%3D1%26b%3D2` 같은 리디렉션 값도 바깥쪽 `&`와 섞이지 않고 읽을 수 있습니다.

행을 수정하면 폼 방식으로 다시 인코딩해 URL을 만들고, 기본 주소와 `#` 뒤 프래그먼트는 유지합니다. 처음에 `=` 없이 쓰인 파라미터는 값을 입력하기 전까지 이름만 있는 형태로 유지됩니다. UTM 링크, OAuth 리디렉션 주소, API 요청 주소를 복사하기 전에 점검할 때 유용합니다.

자주 묻는 질문

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

URL 인코딩은 URI에서 안전하지 않거나 뜻이 겹칠 수 있는 바이트를 `%`와 16진수 두 자리로 바꾸는 방식입니다. 공백은 `%20`, 값 안의 앰퍼샌드는 `%26`이며 한글·이모지는 UTF-8 바이트열로 여러 번 인코딩됩니다.

구성 요소와 전체 URL 중 무엇을 골라야 하나요?

검색어·쿼리 값·리디렉션 값처럼 한 값만 넣을 때는 `&`, `=`, `?`, `/`를 모두 이스케이프하는 구성 요소를 쓰세요. `https:`와 `/`, `?`, `&`, `=` 구조를 유지해야 하는 완전한 주소에만 전체 URL을 쓰세요.

공백이 %20이 아니라 +로 디코딩되는 이유는 무엇인가요?

HTML 폼과 일반적인 쿼리 문자열의 `application/x-www-form-urlencoded` 방식에서는 `+`가 공백을 뜻합니다. 일반 URI 퍼센트 인코딩에서는 `%20`이 공백이고, 폼 디코딩을 선택하지 않으면 `+`는 실제 더하기 기호로 취급됩니다.

URL 디코딩에서 오류가 나는 이유는 무엇인가요?

퍼센트 이스케이프는 `%2F`처럼 `%` 뒤에 16진수 두 자리가 꼭 있어야 하므로 `%`나 `%2`만 있으면 해석할 수 없습니다. 또 인코딩된 바이트열은 유효한 UTF-8이어야 해서 잘린 한글·이모지 바이트열도 오류로 표시됩니다.

URL이나 토큰이 서버로 전송되나요?

아니요. 인코딩, 디코딩, 쿼리 분석, 브라우저 내 저장은 모두 현재 탭에서 실행되며 붙여넣은 값으로 서버 요청을 만들지 않습니다. 토큰이나 리디렉션 값이 들어간 URL도 기기 밖으로 전송되지 않습니다.

관련 도구

2026-10-15 업데이트