URL Encoder / Decoder

IETF RFC 3986 표준 기반, UTF-8 퍼센트 인코딩 양방향 변환기

현재 입력: 0자 실시간 용량: 0 Byte

🔍 URL 변환기란 무엇인가요? (What is URL Encoder)

초기 인터넷 통신 규약은 오직 7비트 ASCII 문자 집합(영문 및 숫자)만을 안전하게 전송할 수 있도록 설계되었습니다. 현대의 웹은 한글, 한자, 이모지(Emoji) 등 방대한 다국어 데이터를 교환하기 때문에, 이러한 비정형 데이터를 웹 서버나 데이터베이스가 충돌 없이 처리할 수 있도록 표준화된 16진수 포맷으로 치환해야 합니다. 이 과정을 'URL 인코딩(URL Encoding)' 또는 '퍼센트 인코딩(Percent-encoding)'이라고 부릅니다.

FreetyTools의 변환기는 웹 표준인 IETF RFC 3986 가이드라인을 엄격하게 준수하며, 어떠한 백엔드 API 서버의 개입 없이 오직 사용자의 브라우저 내에서 가장 빠르고 안전하게 데이터를 양방향 변환합니다.

💡 쉽고 빠른 3-Step 사용 방법 (How to Use)

Step 1

대상 입력

상단의 텍스트 창에 변환하고자 하는 원본 URL이나 특정 파라미터 값(한글, 공백, 특수문자 등)을 그대로 입력하거나 붙여넣습니다.

Step 2

변환 실행

목적에 맞게 하단의 'URL 인코딩(Encode)' 버튼을 눌러 안전한 텍스트로 치환하거나, 'URL 디코딩(Decode)' 버튼을 클릭하여 원래의 문장으로 해독합니다.

Step 3

결과 복사

즉각적으로 변환이 완료된 텍스트를 확인한 후, 우측 하단의 '결과 복사' 버튼을 눌러 클립보드에 안전하게 저장하고 필요한 곳에 사용합니다.

⚙️ 기술 명세 및 인코딩 표준 (Technical Specs)

문자열이 인코딩되는 내부 알고리즘은 3단계의 정밀한 바이트 매핑(Byte Mapping) 과정을 거칩니다. 예를 들어 한국어 '가'를 변환할 경우, 브라우저는 유니코드(U+AC00)를 UTF-8 규칙에 따라 3바이트로 쪼갠 후, 각각의 16진수 바이트 앞에 퍼센트(%) 기호를 결합하여 최종적으로 %EA%B0%80 라는 결과값을 도출합니다.

1. 평문 입력 ex) '가' (U+AC00)
2. UTF-8 바이너리화 3바이트 분할
3. 16진수 & % 결합 최종: %EA%B0%80

※ 자바스크립트 인코딩 내장 함수의 공학적 차이

본 변환기는 파라미터 값 전송에 특화된 encodeURIComponent() 알고리즘을 사용합니다.

url-encoding-test.js
// 1. encodeURI (전체 URL 구조 유지용)
// 도메인과 파라미터 구조(?, =, &)를 유지하며 한글과 공백만 변환
console.log(encodeURI("https://freety.tools/?q=한글 텍스트")); 
// 출력: https://freety.tools/?q=%ED%95%9C%EA%B8%80%20%ED%85%8D%EC%8A%A4%ED%8A%B8

// 2. encodeURIComponent (파라미터 값 전용)
// http:// 부터 시스템 문자열 전체를 무조건 16진수로 변환 (본 도구 적용)
console.log(encodeURIComponent("https://freety.tools/?q=한글 텍스트"));
// 출력: https%3A%2F%2Ffreety.tools%2F%3Fq%3D%ED%95%9C%EA%B8%80%20%ED%85%8D%EC%8A%A4%ED%8A%B8

💡 실무 활용 시나리오 (Practical Use Cases)

마케팅 캠페인 추적 (UTM)

구글 애널리틱스(GA) 등을 위한 UTM 파라미터 링크 생성 시, 캠페인명에 포함된 띄어쓰기(공백)나 특수문자를 웹 표준에 맞게 변환하여 광고 플랫폼에서 링크가 깨지는 '링크 유실(Link Rot)' 현상을 방어합니다.

REST API 데이터 전송

프론트엔드에서 백엔드 서버로 GET 방식의 쿼리 스트링(?search=검색어)을 통해 한글 검색어나 특수 기호 데이터를 넘길 때, 예약 문자로 인한 400 Bad Request 에러를 사전에 차단합니다.

다국어 도메인 처리

한글 도메인이나 한글 이름으로 된 첨부파일 링크를 이메일이나 메신저로 공유할 때, 시스템이 인식할 수 있는 안전한 ASCII 문자열로 치환하여 상대방이 오류 없이 접속하도록 돕습니다.

🛠 장애 대응 및 자주 묻는 질문 (Troubleshooting)

Q. 이중 인코딩(Double Encoding) 문제를 피하려면?

A. 이미 인코딩된 문자열을 한 번 더 인코딩하면 '%' 기호 자체가 '%25'로 이중 변환됩니다. 결과값에 '%25'가 비정상적으로 반복된다면 이미 변환이 완료된 데이터를 다시 처리한 것이므로 주의가 필요합니다.

Q. 디코딩 버튼을 눌렀는데 "URIError"가 발생합니다.

A. 입력하신 텍스트의 '% 기호' 뒤에 올바른 16진수 숫자 두 자리가 오지 않았거나, 데이터가 중간에 잘린 경우 발생합니다. 원본 URL 코드가 누락 없이 복사되었는지 확인해 주세요.

🛡 개인정보 보호 및 데이터 보안 서약

FreetyTools의 모든 변환 로직은 100% 클라이언트 사이드(Client-Side)에서 브라우저 메모리로만 실행됩니다. 입력하신 텍스트와 결과값은 귀하의 기기 밖으로 단 1바이트도 유출되지 않으며, 외부 서버에 전송되거나 기록되지 않습니다.

※ 주의: URL 인코딩은 데이터를 '암호화(Encryption)'하는 것이 아닙니다. 비밀번호, 주민등록번호, API 키 등 민감한 개인정보를 인코딩만 거친 채로 공개된 네트워크를 통해 전송하지 마십시오.