Base64 인코딩·디코딩
텍스트나 파일을 Base64로 인코딩하고 Base64를 원래대로 되돌립니다. 한국어와 이모지는 UTF-8로 처리하며 URL 안전 형식과 데이터 URL을 지원하고, 디코딩 결과는 파일로 저장할 수 있습니다.
Base64는 암호화가 아닙니다. 누구나 원래대로 되돌릴 수 있으므로 비밀번호나 비밀 정보를 숨기는 용도로는 쓸 수 없습니다.
표준(+ /)과 URL 안전(- _) Base64를 모두 읽을 수 있습니다. 끝의 = 는 생략해도 됩니다. 데이터 URL(data:…;base64,…)도 그대로 붙여 넣을 수 있습니다.
HTML이나 CSS에 바로 넣을 수 있는 형식입니다. 데이터 URL은 표준 Base64를 쓰므로 URL 안전 설정은 무시합니다.
앞부분 256바이트의 16진수 덤프
선택한 파일은 사용 중인 기기의 브라우저 안에서 처리됩니다. 이 사이트의 서버로 전송하거나 저장하지 않습니다. 접속 분석에 관해서는 개인정보처리방침을 확인해 주세요.
사용 방법
- "인코딩" 또는 "디코딩"을 고릅니다.
- 인코딩에서는 "텍스트" 또는 "파일"을 고릅니다. 파일을 고르면 바로 Base64로 바뀝니다. HTML이나 CSS에 넣으려면 "데이터 URL 형식으로", URL이나 파일 이름에 쓰려면 "URL 안전"을 켭니다.
- 디코딩에서는 Base64나 데이터 URL(data:…;base64,…)을 붙여 넣고 "디코딩하기"를 누릅니다. 표준 형식과 URL 안전 형식은 자동으로 구분합니다.
- 결과를 "복사"하거나 "파일로 저장"합니다. "결과를 입력으로"를 누르면 반대 방향 변환을 바로 할 수 있습니다.
지원 형식과 제한
- 텍스트 입력은 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이 아닌 문자 인코딩의 텍스트입니다. 저장 버튼으로 바이트를 그대로 파일로 저장할 수 있습니다.
입력한 내용이나 파일이 전송되나요?
아니요. 모든 처리는 브라우저 안에서 이루어지며 입력 내용이나 파일을 저장하거나 전송하지 않습니다.
관련 사용 가이드
- Base64는 암호화가 아니다: 인코딩·암호화·해시의 차이Base64가 실제로 하는 일, 비밀을 지킬 수 없는 이유, 암호화·해시와의 차이, 텍스트와 파일을 인코딩·디코딩하는 방법을 설명합니다.
관련 도구
최종 업데이트: