Base64 인코더 · 디코더
텍스트와 파일을 Base64로 인코딩/디코딩합니다. UTF-8 한글, 이미지 Data URL 생성을 지원합니다.
브라우저에서 로컬 처리 · 서버 업로드 없음Base64 인코더 · 디코더 소개
Base64 인코더·디코더는 텍스트와 파일을 Base64 문자열로 바꾸고 되돌립니다. 이미지를 Data URL로 만들어 HTML에 그대로 심거나, 설정 파일에 바이너리를 담아야 할 때, 또는 API가 Base64로 주고받는 값을 확인할 때 씁니다.
Base64는 임의의 바이트를 A–Z, a–z, 0–9와 +, / 예순네 글자로만 표현하는 방식입니다. 3바이트를 4글자로 바꾸기 때문에 결과는 원본보다 약 33% 커집니다. 이미지를 Data URL로 심을 때 파일이 커질수록 HTML이 급격히 무거워지는 이유가 이것이라, 작은 아이콘 정도에 쓰고 큰 이미지는 파일로 두는 편이 낫습니다. 한글을 다룰 때는 주의할 점이 있습니다. 자바스크립트의 btoa()를 그냥 쓰면 한글에서 오류가 나는데, 이 함수가 한 글자를 1바이트로 가정하기 때문입니다. 이 도구는 먼저 UTF-8 바이트로 변환한 뒤 인코딩하므로 한글과 이모지도 깨지지 않습니다.
URL이나 파일명에 넣을 값이라면 URL-safe(base64url)를 켜세요. 표준 Base64가 쓰는 +와 /는 URL에서 다른 의미를 가져 충돌하는데, 이를 각각 -와 _로 바꾸고 끝의 = 패딩을 생략한 변형입니다. JWT가 쓰는 방식도 이것입니다. 디코딩할 때는 두 형식을 자동으로 구분하므로 신경 쓰지 않아도 됩니다. 마지막으로, Base64는 인코딩이지 암호화가 아닙니다. 누구나 되돌릴 수 있으므로 비밀을 감추는 용도로 쓰면 안 됩니다.
사용 방법
- 위쪽에서 인코딩 또는 디코딩, 그리고 텍스트 또는 파일 모드를 고르세요.
- 텍스트 모드는 입력창에 입력하면 즉시 변환되고, 파일 모드는 파일을 끌어다 놓거나 선택하세요.
- URL에 사용할 값이라면 URL-safe(base64url)를 켜세요.
+ /가- _로 바뀌고 끝의=패딩이 제거됩니다. - 결과를 복사하거나, 파일 디코딩은 다운로드 버튼으로 원본 파일을 내려받으세요.
자주 묻는 질문
한글이 깨지지 않고 인코딩되나요?
btoa()만 쓰면 한글에서 오류가 나는데, 이 도구는 그 문제를 피합니다.URL-safe(base64url)는 무엇이 다른가요?
+, / 문자를 쓰는데 URL이나 파일명에서는 의미가 충돌할 수 있습니다. URL-safe는 이를 각각 -, _로 바꾸고 끝의 = 패딩을 생략한 변형입니다. 디코딩 시에는 자동으로 두 형식을 모두 인식합니다.Data URL은 어떻게 쓰나요?
data:이미지타입;base64,... 형태로, HTML img 태그의 src나 CSS background에 바로 붙여 넣어 외부 파일 없이 이미지를 표시할 수 있습니다. 용량이 큰 파일은 문자열이 매우 길어질 수 있습니다.