본문으로 건너뛰기
  • 이미지 압축이미지 도구 · 사진과 그래픽을 JPG나 WebP로 다시 인코딩해 용량을 줄입니다. 품질 슬라이더와 선택형 크기 축소를 제공합니다.
  • 이미지 크기 조절이미지 도구 · 이미지의 가로와 세로를 픽셀이나 백분율로 바꿉니다. 고품질 축소를 지원합니다.
  • 이미지 변환이미지 도구 · 이미지 한 장이나 여러 장의 형식을 JPG, PNG, WebP로 바꿉니다. 품질과 투명도를 조절할 수 있습니다.
  • 이미지 자르기이미지 도구 · 드래그할 수 있는 선택 영역, 가로세로 비율 프리셋, 정확한 픽셀 입력으로 이미지의 일부를 잘라 냅니다.
  • 이미지 회전·반전이미지 도구 · 사진을 90°나 180° 돌리고 좌우나 상하로 뒤집습니다. 실시간 미리보기를 제공합니다.
  • EXIF 보기·삭제이미지 도구 · 사진의 EXIF 정보(카메라, 날짜, 위치)를 보고, 화질 손실 없이 전부 또는 GPS 위치만 삭제합니다.
  • HEIC JPG 변환이미지 도구 · iPhone과 iPad의 HEIC, HEIF 사진을 어디서나 열리는 JPG나 PNG 파일로 바꿉니다.
  • 이미지 흐림·모자이크이미지 도구 · 사진 속 얼굴, 이름, 번호판 등을 모자이크, 흐림, 단색 상자로 가립니다.
  • 파비콘 만들기이미지 도구 · 이미지, 텍스트, 이모지로 ICO, PNG 아이콘, 웹 매니페스트까지 갖춘 파비콘 세트를 만듭니다.
  • PDF 병합PDF 도구 · 여러 PDF 파일을 원하는 순서대로 하나의 문서로 합칩니다. 파일마다 페이지 범위를 지정할 수도 있습니다.
  • PDF 분할PDF 도구 · 페이지를 새 PDF로 추출하거나, 문서를 페이지별, 범위별, 일정한 페이지 수별로 여러 파일로 나눕니다.
  • PDF 페이지 순서 변경PDF 도구 · 드래그 앤 드롭으로 PDF의 페이지 순서를 바꾸고, 필요 없는 페이지를 지운 뒤 결과를 저장합니다.

URL 인코더·디코더

텍스트, 쿼리 값, 전체 URL을 퍼센트 인코딩하거나 디코딩하고, URL 매개변수를 살펴봅니다.

브라우저에서 처리 – 데이터를 업로드하지 않습니다

도구를 불러오는 중…

URL 인코더·디코더 소개

URL에는 제한된 ASCII 문자만 쓸 수 있습니다. 공백, 한글, 악센트가 붙은 글자, 이모지, 그리고 &, =, ?, #처럼 URL에서 특별한 뜻을 가진 문자는 퍼센트 인코딩한 바이트로 적어야 합니다. 예를 들어 공백은 %20이 되고 "é"는 %C3%A9가 됩니다. 이 도구는 텍스트를 이 형식으로 바꾸고 다시 원래대로 되돌립니다.

URL 표준이 정한 UTF-8 인코딩을 쓰며, JavaScript의 encodeURIComponent, encodeURI 함수와 같은 규칙을 따릅니다. 내장된 URL 분석 기능은 전체 주소를 프로토콜, 호스트, 경로, 프래그먼트로 나누고 쿼리 매개변수를 디코딩한 목록으로 보여 줍니다.

사용 방법

  1. "인코딩"이나 "디코딩"을 고르세요.
  2. 모드를 고르세요. 쿼리 값 하나나 경로의 한 부분이라면 "컴포넌트", 완전한 주소의 구조를 유지하려면 "전체 URL", 공백을 +로 쓰는 application/x-www-form-urlencoded 데이터라면 "폼(+)"을 고릅니다.
  3. 입력 상자에 텍스트를 입력하거나 붙여넣으세요. 입력하는 대로 결과가 바뀝니다.
  4. "결과 복사"로 결과를 클립보드에 복사하거나, "서로 바꾸기"로 결과를 입력으로 옮기고 방향을 반대로 바꾸세요.
  5. 완전한 URL을 붙여넣으면 결과 아래의 "URL 분석"에서 각 부분과 디코딩한 쿼리 매개변수를 볼 수 있습니다.

기능

  • 세 가지 인코딩 모드: 컴포넌트(encodeURIComponent), 전체 URL(encodeURI), 공백을 +로 쓰는 HTML 폼 인코딩을 지원합니다.
  • 유니코드 완전 지원: 한글 같은 비라틴 문자와 이모지를 브라우저와 똑같이 UTF-8 바이트로 인코딩합니다.
  • 명확한 오류 메시지: 디코딩에 실패하면 잘못된 % 시퀀스가 어디에 있는지, 또는 바이트가 올바른 UTF-8이 아닌지 알려 줍니다.
  • URL 분석: 호스트, 포트, 경로, 프래그먼트와 모든 쿼리 매개변수를 디코딩한 형태로 보여 주며, 반복된 키도 모두 표시합니다.
  • 개인정보 보호: 모든 처리가 브라우저 안에서 이루어지므로 토큰이나 개인 정보가 담긴 URL도 어디로도 전송되지 않습니다.

사용 예

검색어 인코딩하기

"coffee & cake"를 ?q=…의 값으로 넘기려면 "컴포넌트" 모드로 인코딩하세요. 결과는 coffee%20%26%20cake입니다. 인코딩하지 않으면 &가 새 매개변수의 시작으로 해석됩니다.

추적 링크 읽기

https://example.com/?redirect=https%3A%2F%2Fshop.example%2Fcart%3Fid%3D7 같은 긴 링크를 붙여넣으면 redirect 매개변수가 https://shop.example/cart?id=7로 디코딩되는 것을 볼 수 있습니다.

폼 데이터 디코딩하기

HTML 폼이 보낸 데이터는 name=Jane+Doe&city=S%C3%A3o+Paulo처럼 생겼습니다. "폼(+)" 모드로 디코딩하면 "name=Jane Doe&city=São Paulo"가 나옵니다.

제한 사항과 참고

  • "전체 URL" 모드는 / ? # & = 같은 예약 문자를 인코딩하지 않으므로 매개변수 값 하나를 인코딩하는 데는 맞지 않습니다. 그럴 때는 "컴포넌트" 모드를 쓰세요.
  • "전체 URL" 모드에서 "%2F"를 디코딩하면 %2F가 그대로 남습니다. decodeURI는 예약 문자를 일부러 이스케이프된 상태로 두기 때문입니다.
  • 도구가 UTF-8 바이트를 기대하므로, ISO-8859-1이나 Shift_JIS 같은 오래된 인코딩으로 퍼센트 인코딩한 데이터는 디코딩할 수 없습니다.
  • "URL 분석"은 https: 같은 스킴으로 시작하는 절대 URL에서만 동작합니다.
  • 국제화 도메인 이름은 브라우저가 돌려주는 퓨니코드 형태(예: xn--…)로 표시됩니다.

자주 묻는 질문

encodeURI와 encodeURIComponent는 무엇이 다른가요?

encodeURIComponent는 URL에서 특별한 뜻을 가진 모든 문자를 이스케이프하므로 값 하나에 안전하게 쓸 수 있습니다. encodeURI는 완전한 URL이 계속 동작하도록 : / ? # & = 같은 문자를 그대로 둡니다. "컴포넌트" 모드와 "전체 URL" 모드가 각각 이 두 함수에 해당합니다.

공백은 %20인가요, +인가요?

실제로는 둘 다 쓰입니다. %20은 URL의 어디에서나 올바릅니다. + 기호는 HTML 폼 제출(application/x-www-form-urlencoded)의 쿼리 문자열에서만 공백을 뜻합니다. 그 형식을 다룰 때는 "폼(+)" 모드를 쓰세요.

"올바른 UTF-8 텍스트가 아닌" 바이트라는 오류가 나는 이유는 무엇인가요?

% 시퀀스의 문법은 맞지만, 그 시퀀스가 나타내는 바이트가 올바른 UTF-8 텍스트를 이루지 못한다는 뜻입니다. 예를 들어 %C3 뒤에 이어지는 바이트가 없는 경우입니다. 데이터가 다른 문자 집합으로 인코딩되었거나 중간에 잘렸을 수 있습니다.

URL이 서버로 전송되나요?

아닙니다. 인코딩, 디코딩, 분석은 이 페이지의 JavaScript가 처리합니다. 페이지를 불러온 뒤에는 인터넷 연결을 끊어도 도구가 계속 동작합니다.

더 많은 무료 도구