Base64 인코딩 / 디코딩

텍스트를 Base64로 인코딩하거나 Base64를 다시 텍스트로 디코딩하세요 — UTF-8 안전, 브라우저에서 모두 처리됩니다.

조회수 931회

Base64가 실제로 하는 일

Base64는 이진 데이터를 64개의 인쇄 가능한 문자(A-Z, a-z, 0-9, +, /)로 표현하여, 텍스트용으로 만들어진 경로를 통과할 수 있게 합니다: JSON 페이로드, data: URI, 기본 인증 헤더, 이메일 첨부 파일 등입니다. 3바이트마다 4문자로 변환되어 출력이 약 33% 커지고, 끝은 =로 채워집니다. 이 도구는 유니코드를 올바르게 처리하므로(먼저 제대로 UTF-8로 인코딩) "çğü 😀" 같은 문자열도 손상 없이 왕복합니다 — 단순한 btoa()는 이런 경우 오류를 일으킵니다.

Base64는 암호화가 아닙니다 — 기밀성이 전혀 없는 가역적 표현일 뿐입니다. 민감한 데이터는 실제 암호화가 필요하며, Base64는 바이트를 텍스트로 안전하게 다룰 수 있게 할 뿐입니다. 여기의 모든 처리는 브라우저에서 로컬로 실행되며, 입력값은 기기 밖으로 나가지 않습니다.

자주 묻는 질문

디코딩한 결과가 깨져 보이는 이유는 무엇인가요?

대개 입력이 올바른 Base64가 아니거나(잘렸거나, +/ 대신 URL 안전 문자 -_가 사용됨), 원본 바이트가 애초에 텍스트가 아니었기 때문입니다. 이 도구는 URL 안전 변형도 자동으로 디코딩합니다.

파일도 인코딩할 수 있나요?

이 도구는 텍스트 전용입니다. 파일의 경우 data: URI 방식이 일반적이며, 대부분의 언어에서 한 줄로 처리할 수 있습니다(PHP의 base64_encode(file_get_contents(...)), JS의 FileReader.readAsDataURL 등).

비밀번호에 Base64를 사용해도 안전한가요?

아니요 — 누구나 쉽게 원래대로 되돌릴 수 있습니다. HTTP 기본 인증은 전송 형식을 맞추는 용도로만 사용하며, 기밀성은 TLS에 의존합니다. 비밀번호는 반드시 해시(bcrypt/argon2)로 저장하고, Base64로는 절대 저장하지 마세요.

비슷한 도구