본문으로 바로가기

Base64 인코더 · 디코더베타

텍스트와 파일을 Base64로 인코딩하거나 디코딩합니다. 한글 등 유니코드도 안전하게 처리하고, URL-safe 옵션과 파일 다운로드를 지원합니다.

방향
입력 종류
0자 · 0줄
켜면 +, / 대신 -, _ 문자를 쓰고 끝의 = 패딩을 붙이지 않습니다. 주소(URL)나 파일 이름에 쓸 때 켜세요.

0자 · 0줄

파일은 이 기기 안에서만 처리되며 서버로 전송되지 않습니다.

사용 방법

인코딩 탭에서는 텍스트를 입력하면 Base64 문자열이 아래에 나타납니다. 디코딩 탭에서는 Base64 문자열이나 data: URL을 붙여넣으면 원래 텍스트로 바뀝니다. 버튼을 누를 필요가 없고, 입력을 고치는 동안에도 결과가 계속 갱신되며, 결과 옆의 복사 버튼으로 복사할 수 있습니다.

왜 btoa 대신 이 도구를 쓰나요

브라우저 기본 함수인 btoa는 라틴 문자(코드 포인트 0 ~ 255) 밖의 문자를 만나면 오류를 냅니다. 그래서 한글·한자·이모지가 섞인 문자열을 btoa로 인코딩하면 실패하거나 깨진 결과가 나옵니다. 이 도구는 TextEncoder로 문자열을 UTF-8 바이트로 바꾼 뒤 그 바이트를 Base64로 인코딩하므로, 어떤 언어의 문자든 안전하게 처리합니다. 디코딩도 마찬가지로 TextDecoder를 써서 원래 문자로 되돌립니다.

URL-safe Base64

표준 Base64는 +, /, = 세 문자를 씁니다. 이 문자들은 URL의 쿼리 문자열이나 파일 시스템에서 특별한 의미로 쓰일 수 있어 그대로 넣으면 문제가 생길 수 있습니다. URL-safe 옵션을 켜면 + → -, / → _로 바꾸고 끝의 = 패딩을 아예 붙이지 않습니다. JWT(JSON Web Token)나 URL 쿼리 파라미터에 값을 실을 때 흔히 이 방식을 씁니다. 디코딩할 때도 인코딩에 쓴 것과 같은 옵션을 선택해야 문자를 올바르게 해석합니다.

파일을 Base64로, Base64를 다시 파일로

인코딩 탭에서 입력 종류를 “파일”로 바꾸면 파일을 끌어다 놓거나 선택할 수 있습니다(최대 10MB). 변환 결과는 data:image/png;base64,iVBORw0KG...처럼 파일 형식 정보가 포함된 data URL로 나오며, 이 문자열을 그대로 이미지 태그나 CSS 배경으로 쓸 수 있습니다. 반대로 디코딩 탭에 이런 data URL이나 순수 Base64 문자열을 붙여넣으면, 다운로드 버튼으로 원래 파일을 다시 내려받을 수 있습니다. 파일 형식 정보가 없는 경우 확장자는 .bin으로 저장됩니다.

자주 나는 오류와 해결 방법

Base64가 아닌 문자(공백·줄바꿈은 자동으로 무시됩니다)가 섞여 있으면 어떤 문자가 문제인지 알려줍니다. 길이가 4의 배수가 아니거나 = 패딩 위치가 잘못되면 패딩 오류가 표시됩니다. 표준 Base64를 URL-safe로 디코딩하려 하면(또는 그 반대) 오류가 나므로, 인코딩할 때 쓴 옵션과 같은 옵션으로 디코딩하세요.

개인정보

입력한 텍스트와 파일은 이 브라우저 안에서만 처리되며 서버로 전송되지 않습니다. 페이지를 닫으면 모든 내용이 사라집니다.

참고 자료

자주 묻는 질문

한글이나 이모지를 인코딩해도 깨지지 않나요?

네. 이 도구는 문자를 UTF-8 바이트로 바꾼 뒤 Base64로 인코딩합니다(TextEncoder/TextDecoder 사용). 자바스크립트의 기본 btoa 함수는 라틴 문자만 지원해 한글·이모지에서 오류가 나지만, 이 도구는 그 문제가 없습니다.

URL-safe Base64는 언제 쓰나요?

일반 Base64는 +, /, = 문자를 쓰는데, 이 문자들은 URL이나 파일 이름에서 특별한 의미를 가질 수 있습니다. URL-safe 옵션을 켜면 +는 -로, /는 _로 바꾸고 끝의 = 패딩도 없애서, 주소창이나 쿼리 문자열, 파일 이름에 그대로 써도 안전합니다.

디코딩할 때 '올바른 UTF-8이 아닙니다'라는 오류가 뜨는 이유는 무엇인가요?

Base64로 인코딩된 원본이 텍스트가 아니라 이미지·PDF 같은 이진 파일이면, 그 바이트를 텍스트로 해석할 수 없어 이 오류가 납니다. 이때는 '16진수로 보기'로 바이트 값을 직접 확인하거나, 다운로드 버튼으로 원래 파일을 복원할 수 있습니다.

파일을 Base64로 바꾸면 어떤 형식이 되나요?

파일을 드롭하면 data:<파일 형식>;base64,<데이터> 형태의 data URL로 바뀝니다. 이 문자열은 HTML의 img 태그나 CSS 등에 파일을 직접 삽입할 때 흔히 쓰이며, 그대로 복사해서 사용할 수 있습니다.