Base64 인코딩·디코딩

텍스트나 파일을 Base64로 인코딩하고 Base64를 원래대로 되돌립니다. 한국어와 이모지는 UTF-8로 처리하며 URL 안전 형식과 데이터 URL을 지원하고, 디코딩 결과는 파일로 저장할 수 있습니다.

Base64는 암호화가 아닙니다. 누구나 원래대로 되돌릴 수 있으므로 비밀번호나 비밀 정보를 숨기는 용도로는 쓸 수 없습니다.

작업
입력 종류

선택한 파일은 사용 중인 기기의 브라우저 안에서 처리됩니다. 이 사이트의 서버로 전송하거나 저장하지 않습니다. 접속 분석에 관해서는 개인정보처리방침을 확인해 주세요.

사용 방법

  1. "인코딩" 또는 "디코딩"을 고릅니다.
  2. 인코딩에서는 "텍스트" 또는 "파일"을 고릅니다. 파일을 고르면 바로 Base64로 바뀝니다. HTML이나 CSS에 넣으려면 "데이터 URL 형식으로", URL이나 파일 이름에 쓰려면 "URL 안전"을 켭니다.
  3. 디코딩에서는 Base64나 데이터 URL(data:…;base64,…)을 붙여 넣고 "디코딩하기"를 누릅니다. 표준 형식과 URL 안전 형식은 자동으로 구분합니다.
  4. 결과를 "복사"하거나 "파일로 저장"합니다. "결과를 입력으로"를 누르면 반대 방향 변환을 바로 할 수 있습니다.

지원 형식과 제한

  • 텍스트 입력은 5MB, 파일은 5MB까지입니다.
  • 텍스트는 UTF-8로 처리합니다. EUC-KR 등 다른 문자 인코딩으로 만든 Base64는 원래 글자로 되돌릴 수 없습니다. 입력란의 줄바꿈은 브라우저 사양상 LF로 인코딩됩니다.
  • 디코딩 결과가 UTF-8 텍스트가 아니면(이미지 같은 바이너리) 문자로 표시하지 않고 16진수 덤프와 저장 버튼을 보여 줍니다. 저장할 때 확장자는 데이터 URL의 종류나 앞부분 바이트(PNG, JPEG, GIF, WebP, PDF, ZIP 등)로 판단하고, 알 수 없으면 .bin으로 합니다.
  • 데이터 URL은 항상 표준 Base64로 출력하므로 URL 안전 설정은 무시합니다. Base64가 아닌 데이터 URL(";base64,"가 없는 것)은 디코딩할 수 없습니다.
  • Base64는 암호화가 아닙니다. 누구나 되돌릴 수 있습니다.

계산·변환 방식

인코딩은 텍스트를 UTF-8 바이트로 바꾸거나 파일의 바이트를 그대로 가져와 RFC 4648의 Base64로 변환합니다. URL 안전 형식은 + / 대신 - _ 를 쓰고 끝의 = 를 생략합니다.

데이터 URL은 "data:파일 종류;base64," 뒤에 Base64를 붙인 것입니다(RFC 2397). 파일 종류는 브라우저가 판단한 값을 씁니다.

디코딩은 표준 형식과 URL 안전 형식을 모두 받습니다. 공백과 줄바꿈은 무시하고, 끝의 = 가 부족해도 읽어 들입니다. Base64에 쓸 수 없는 문자가 있으면 그 위치를 알려 줍니다.

디코딩한 바이트는 엄격한 UTF-8로 읽습니다. 올바르지 않은 바이트가 있으면 깨진 글자를 보여 주지 않고 텍스트가 아니라고 표시합니다.

자주 묻는 질문

Base64로 암호화할 수 있나요?

아니요. Base64는 데이터를 문자로 나타내는 변환 방법일 뿐이며 누구나 되돌릴 수 있습니다. 비밀 정보 보호에는 쓰지 마세요.

이미지를 Base64나 데이터 URL로 바꿀 수 있나요?

네. "파일"을 고르고 이미지를 선택한 뒤 필요하면 "데이터 URL 형식으로"를 켭니다. 결과는 <img src="…">나 CSS url()에 그대로 쓸 수 있습니다.

URL 안전 형식이란 무엇인가요?

URL이나 파일 이름에서 특별한 의미가 있는 + 와 / 를 - 와 _ 로 바꾼 형식(RFC 4648의 base64url)입니다. 끝의 = 도 보통 생략합니다. 디코딩할 때는 두 형식을 자동으로 읽습니다.

디코딩하면 "UTF-8 텍스트가 아니다"라고 나옵니다.

원래 데이터가 이미지 같은 바이너리이거나 UTF-8이 아닌 문자 인코딩의 텍스트입니다. 저장 버튼으로 바이트를 그대로 파일로 저장할 수 있습니다.

입력한 내용이나 파일이 전송되나요?

아니요. 모든 처리는 브라우저 안에서 이루어지며 입력 내용이나 파일을 저장하거나 전송하지 않습니다.

최종 업데이트: