RUNWEBTOOLS
한국어
데이터 포맷 & 인코딩

Base64 인코딩 설명: 무엇이고 언제 쓰는가

업데이트 2026-07-06

Base64는 데이터 URI·이메일 첨부·API 토큰·설정 파일 등에서 끊임없이 등장하지만, 제대로 설명되는 일은 드문 용어입니다. 흔히 암호화로 오해받는데, 이는 실제 보안 실수로 이어집니다. 이 가이드는 Base64가 실제로 무엇을 하는지, 왜 데이터를 키우는지, 어디서 진짜로 유용한지, 그리고 버려야 할 오해를 설명합니다.

Base64란 무엇인가

Base64는 인코딩이지 암호화나 압축이 아닙니다. 그 역할은 임의의 이진 데이터 — 이미지, 파일, 어떤 바이트 열이든 — 를 64개의 "안전한" 텍스트 문자만으로 표현하는 것입니다: A–Z, a–z, 0–9, 그리고 +/(패딩에는 = 사용). 이 문자들은 모두 일반 텍스트를 다루도록 만들어진 시스템을 무사히 통과하는데, 바로 이것이 Base64가 존재하는 이유입니다.

왜 필요한가

여전히 중요한 오래된 시스템 다수 — 이메일이 대표적 — 는 텍스트를 나르도록 설계됐지, 날것의 이진을 위한 게 아닙니다. 이진을 그대로 통과시키면 데이터가 손상될 수 있습니다: 특정 바이트 값이 제어 문자로 해석되거나, 잘려나가거나, 뭉개집니다. Base64는 이진을 그대로 통과하는 텍스트 형태로 바꾼 뒤 반대편에서 되돌려, 이 문제를 우회합니다.

개념적으로 왕복은 이렇게 보입니다:

이진 데이터  →  Base64 텍스트  →  이진 데이터
(원본)          (전송에 안전)      (동일한 사본)

왜 Base64는 데이터를 약 33% 키우는가

공짜는 없습니다. Base64는 입력 3바이트(24비트)를 6비트 그룹 4개로 나누고, 각각을 64개 문자 중 하나로 매핑합니다. 3바이트가 들어가 4문자가 나오므로, 인코딩된 출력은 원본보다 약 3분의 1 더 큽니다. 이 오버헤드는 이진을 텍스트로 안전하게 만드는 대가이며, 큰 파일을 이유 없이 Base64로 인코딩하면 안 되는 까닭입니다.

실제로 어디서 보게 되는가

데이터 URI

작은 이미지를 별도 네트워크 요청 없이 Base64 데이터 URI로 HTML이나 CSS에 직접 심을 수 있습니다:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUh..." />

작은 아이콘에는 편리하지만, 33% 크기 손해 때문에 큰 것에는 나쁜 선택입니다.

이메일 첨부

내부적으로 이메일 첨부는 Base64로 인코딩되어, 이진 파일이 텍스트 기반 이메일 시스템을 온전히 지나갈 수 있게 합니다.

토큰과 설정

토큰과 자격 증명은 헤더·URL·텍스트 설정 파일 안에 안전히 들어가도록 자주 Base64로 인코딩됩니다. 예를 들어 JWT(JSON Web Token)는 점으로 이어진 세 개의 Base64 구간인데, JWT 디코더가 그 내용을 즉시 읽을 수 있는 이유가 바로 이것입니다.

보안에 관한 오해

가장 중요하게 이해할 점: Base64는 암호화가 아니며 어떤 보안도 제공하지 않습니다. 키도 비밀도 없어 — 누구나 순식간에 Base64를 원본으로 되돌릴 수 있습니다. 비밀번호나 API 키가 Base64로만 "보호"돼 있다면, 사실상 평문이나 다름없다고 여기세요.

Base64는 "이 데이터를 텍스트 채널로 어떻게 안전하게 나르지?"에 답하지, "이 데이터를 어떻게 비밀로 하지?"에 답하지 않습니다. 비밀이 필요하면 진짜 암호화가 필요합니다. 둘을 결합하는 것이 흔합니다: 먼저 암호화하고, 그 결과를 텍스트로 전송할 수 있게 Base64로 인코딩합니다.

Base64와 URL

표준 Base64는 +/를 쓰는데, 이들은 URL에서 특별한 의미가 있어 쿼리 파라미터로 넘길 때 손상될 수 있습니다. Base64URL이라는 변형은 이를 -_로 바꾸고 패딩을 없애, 출력을 URL에 그대로 넣어도 안전하게 만듭니다. URL 안의 공백이나 앰퍼샌드 같은 문자와 씨름 중이라면, 그건 URL 인코딩의 일입니다 — 다른 문제를 위한 다른 도구입니다.

직접 인코딩·디코딩하기

Base64를 손으로 할 일은 거의 없지만, 자주 살펴보거나 만들어야 합니다 — 데이터 URI를 읽거나, 토큰 내용을 확인하거나, 임베드 이미지를 만들거나. 우리 Base64 인코더·디코더는 텍스트를 어느 방향으로든 즉시, 전부 브라우저 안에서 변환하므로 민감한 값도 기기를 떠나지 않습니다. Base64를 붙여 원본을 보거나, 텍스트를 붙여 인코딩된 형태를 얻으세요.

한 줄 요약

Base64는 이진을 안전한 텍스트로 바꿨다가 되돌리며, 약 33% 크기 증가를 대가로 하고, 비밀성은 전혀 없습니다. 데이터를 전송하는 데 쓰되, 절대 보호하는 데 쓰지 마세요.

데이터 포맷 & 인코딩 더 보기

데이터 포맷 & 인코딩 가이드 전체 보기 →

이 가이드에서 언급한 도구