·2분 읽기
Base64 변환 완벽 가이드 - 이미지 인코딩부터 API 인증까지
Base64 인코딩/디코딩의 원리와 실전 활용법을 정리했습니다. 이미지 변환, API 인증, 데이터 전송에서의 사용법을 알려드려요.

🔤
Base64 인코더/디코더 바로 사용하기
텍스트를 Base64로 인코딩하거나 디코딩하세요
→
Base64가 뭔가요?
Base64는 바이너리 데이터를 텍스트로 변환하는 인코딩 방식이에요. 이미지, 파일 같은 바이너리 데이터를 A-Z, a-z, 0-9, +, / 총 64개 문자로만 표현하거든요.
왜 이런 게 필요하냐면, 이메일이나 JSON 같은 텍스트 기반 시스템에서는 바이너리 데이터를 직접 다룰 수 없어요. Base64로 변환하면 텍스트처럼 다룰 수 있게 되는 거죠.
다만 Base64 인코딩을 하면 데이터 크기가 약 33% 커져요. 3바이트 데이터가 4글자 텍스트가 되거든요.
개발에서 Base64를 쓰는 3가지 경우
첫 번째, 이미지를 HTML이나 CSS에 직접 넣을 때예요. img 태그의 src에 data:image/png;base64,... 형태로 넣으면 별도 파일 요청 없이 이미지를 표시할 수 있어요. 아이콘같이 작은 이미지에 유용하거든요.
두 번째, API 인증 토큰이에요. HTTP Basic Auth에서는 사용자명:비밀번호를 Base64로 인코딩해서 보내요. Authorization: Basic dXNlcjpwYXNz 이런 식이죠.
세 번째, JSON으로 파일을 전송할 때예요. JSON은 텍스트 형식이라 바이너리를 직접 포함할 수 없어요. 파일을 Base64로 변환해서 문자열 값으로 넣는 거죠.
JavaScript와 Python에서 Base64 사용하기
JavaScript 브라우저에서는 btoa()로 인코딩, atob()로 디코딩해요. 한글 등 유니코드 문자는 먼저 UTF-8로 변환해야 해요.
Node.js에서는 Buffer.from(text).toString('base64')로 인코딩하고, Buffer.from(base64, 'base64').toString()으로 디코딩해요.
Python에서는 import base64 후 base64.b64encode()와 b64decode()를 사용해요. 파일 변환은 파일을 rb 모드로 읽은 뒤 인코딩하면 돼요.
코드 없이 빠르게 변환하고 싶으면 [Toolkio Base64 변환기](/base64)를 사용하세요. 텍스트를 붙여넣으면 바로 인코딩/디코딩 결과가 나와요.
Base64 사용 시 주의사항
Base64는 암호화가 아니에요. 누구나 디코딩할 수 있기 때문에 비밀번호 같은 민감한 정보를 Base64로만 보호하면 안 돼요.
대용량 파일은 Base64로 변환하면 안 돼요. 크기가 33% 커지고 메모리도 많이 사용하거든요. 큰 이미지는 URL로 참조하는 게 낫고, 작은 아이콘(수 KB)만 인라인으로 쓰세요.
URL에서 Base64를 쓸 때는 URL-safe Base64(+를 -로, /를 _로 대체)를 사용하세요. 일반 Base64의 +와 /는 URL에서 특별한 의미가 있거든요.
[URL 인코딩 가이드](/blog/how-to-encode-urls)에서 URL 안전 문자 처리 방법도 확인해보세요.