Base64 인코딩 / 디코딩
텍스트를 Base64로, Base64를 텍스트로. UTF-8을 정확히 처리하고 URL 안전 문자표도 고를 수 있습니다.
출력
위에 붙여넣거나 입력하면 여기에 결과가 표시됩니다.
파일은 내 기기 밖으로 나가지 않습니다
이 도구는 브라우저 안에서만 작동합니다. 붙여넣은 내용은 기기에서 처리되고 서버로 전송되지 않으므로 토큰, 키, 공개 전 문서도 안심하고 사용할 수 있습니다.
사용 방법
- 일반 텍스트를 Base64로 바꾸려면 인코딩을, Base64를 텍스트로 되돌리려면 디코딩을 고르세요.
- 입력을 붙여 넣으세요. 디코딩할 때는 +와 /를 쓰는 표준 문자표와 -와 _를 쓰는 URL 안전 문자표를 모두 받으며, 패딩이 빠져 있어도 처리합니다.
- 결과를 URL이나 JWT, 파일 이름에 넣을 예정이면 URL 안전을 켜세요. 퍼센트 인코딩이 필요 없어집니다.
- 변환하기를 누르고 결과를 복사하세요. 한글과 이모지, 악센트 문자는 UTF-8 바이트로 인코딩되며, btoa 기반 도구가 흔히 틀리는 부분입니다.
자주 묻는 질문
- Base64가 암호화인가요?
- 아니요. Base64는 바이트를 64개의 인쇄 가능한 문자로 표현하는 되돌릴 수 있는 인코딩입니다. 누구나 즉시 디코딩할 수 있습니다. 전송이나 삽입 용도로만 쓰고 비밀을 감추는 데는 절대 쓰지 마세요.
- 한글이나 이모지 같은 비 ASCII 문자는 어떻게 처리하나요?
- 인코딩하기 전에 텍스트를 UTF-8 바이트로 바꾸고, 디코딩한 결과도 UTF-8로 해석합니다. 대부분의 언어와 HTTP 라이브러리가 하는 방식과 같습니다. 자바스크립트의 btoa()는 Latin-1만 받기 때문에 순진하게 만든 도구는 이런 문자에서 오류가 납니다.
- 표준 Base64와 URL 안전 Base64는 무엇이 다른가요?
- 표준 Base64(RFC 4648 4절)는 +와 /를 쓰고 =로 패딩합니다. URL 안전 Base64(5절)는 이를 -와 _로 바꾸고 보통 패딩을 뺍니다. 그래서 URL, 쿠키, JWT에서 이스케이프 없이 쓸 수 있습니다. 이 도구의 디코더는 둘 다 받습니다.
- 인코딩 결과가 원문보다 3분의 1쯤 긴 이유는 무엇인가요?
- Base64는 3바이트를 4글자로 담기 때문에 결과 크기가 입력의 약 4/3에 패딩 문자 최대 2개를 더한 정도가 됩니다. 인쇄 가능한 문자만 쓰기 위해 치르는 비용입니다.
- 데이터가 서버로 전송되나요?
- 아니요. 인코딩과 디코딩 모두 브라우저 안에서 실행됩니다. API 키나 접속 문자열, 개인적인 글을 변환해도 기기 밖으로 나가지 않습니다.