Base64 Encoder / Decoder이란?
Base64는 RFC 4648에 정의된 바이너리-텍스트 인코딩 스킴으로, 64문자 알파벳을 사용하여 모든 바이너리 데이터를 안전한 ASCII 문자열로 변환합니다: 대문자 A–Z (0–25), 소문자 a–z (26–51), 숫자 0–9 (52–61), 기호 + (62) 및 / (63)입니다. 입력 길이가 3바이트의 배수가 아닌 경우 등호(=)가 패딩으로 사용됩니다. Base64는 HTML과 CSS에 이미지를 삽입하거나, 이메일(MIME)을 통한 바이너리 첨부 파일 전송, 인라인 미디어용 데이터 URL 인코딩, 텍스트 전용 API 및 프로토콜을 통한 바이너리 페이로드 전달에 널리 사용됩니다. 3바이트의 입력이 정확히 4개의 출력 문자로 매핑되므로, 인코딩된 표현은 원본보다 약 33% 더 큽니다. 이 도구는 표준 Base64 인코딩 및 디코딩을 브라우저에서 완전히 수행하며, 전체 UTF-8 입력을 지원하여 국제 텍스트, 이모지 및 특수 문자가 서버 왕복 없이 올바르게 인코딩됩니다.
이 계산기를 사용해야 할 때
- 이미지, 오디오 또는 PDF와 같은 이진 데이터를 JSON API 페이로드나 HTML 페이지에 삽입할 때
- 일반 텍스트만 지원하는 이메일 프로토콜(MIME)을 통해 파일 첨부 파일을 보낼 때
- Base64로 인코딩된 자격 증명을 사용하는 Basic Auth 인증 시스템을 구축할 때
- ASCII 텍스트만 지원하는 프로토콜(예: XML, SOAP)을 통해 데이터를 전송하기 위해 인코딩할 때
- 텍스트 기반 데이터베이스나 구성 파일에 이진 데이터를 저장해야 할 때
- API 요청이나 이메일 첨부 파일의 인코딩된 페이로드를 디버깅하거나 검사할 때
단계:
- 입력 영역에 텍스트를 붙여넣거나 입력하거나, 직접 인코딩을 위해 파일을 업로드합니다.
- 인코딩 또는 디코딩 모드를 토글 버튼으로 선택합니다.
- 여러 값을 한 번에 처리해야 하는 경우 배치 모드를 활성화하고 구분자를 선택합니다.
- 변환 버튼을 클릭하면 출력 영역이 실시간으로 업데이트됩니다.
- 복사 버튼으로 결과를 클립보드에 복사하거나 나중에 사용하기 위해 다운로드합니다.
공식
인코딩: 바이너리 데이터 → 6비트 그룹 → Base64 알파벳 (A-Z, a-z, 0-9, +, /) ➡ 디코딩: 프로세스를 반대로
사용 사례
- Data URL을 사용하여 HTML, CSS 또는 SVG 파일에 이미지나 폰트를 인라인으로 삽입
- 이메일 프로토콜(MIME)을 통한 바이너리 파일 첨부 인코딩 전송
- Base64로 자격 증명을 전달하는 기본 HTTP 인증 헤더 구축
- JSON 또는 XML 구성 파일에 암호화 키나 인증서와 같은 바이너리 데이터 저장
- 텍스트 전용 API, REST 엔드포인트 또는 메시지 큐를 통한 바이너리 페이로드 전송
- Base64 인코딩된 세그먼트를 포함하는 프로토콜 버퍼, JWT 토큰 또는 Webhook 페이로드 디버깅
주요 이점
- 입력하면서 실시간 출력으로 즉시 인코딩 및 디코딩
- 국제 텍스트와 이모지가 올바르게 인코딩되는 완전한 UTF-8 지원
- 배치 모드에서 줄이나 쉼표로 구분된 여러 문자열을 인코딩 또는 디코딩 가능
- 파일 업로드는 서버 업로드 없이 브라우저에서 직접 파일을 Base64로 변환
- 원클릭 복사 버튼으로 코드나 구성에서 결과를 빠르게 사용
- 프라이버시 우선: 모든 처리가 로컬에서 이루어지며 서버로 전송되는 것은 없습니다
전문가 팁
- URL이나 파일 경로에 인코딩된 데이터를 삽입할 때 URL 안전 Base64 사용 (+를 -로, /를 _로 대체)
- 페이로드 크기가 중요한 경우 Base64 인코딩 전에 데이터를 압축 — 인코딩만으로 약 33% 오버헤드 추가
- 디코딩 전에 항상 입력 문자셋이 예상 인코딩과 일치하는지 확인, 특히 비ASCII 텍스트의 경우
- 이메일 첨부의 경우 클라이언트 간 호환성을 보장하기 위해 MIME content-transfer-encoding 헤더와 함께 Base64 사용
- 배치 모드는 여러 값을 한 번에 인코딩하는 데 유용 — 데이터 형식에 따라 줄바꿈 또는 쉼표 구분자 사용
피해야 할 일반적인 실수
- Base64가 보안이나 기밀성을 제공한다고 가정 — 이는 역방향 가능한 인코딩이지 암호화가 아님
- Base64가 데이터 크기를 약 33% 증가시킨다는 것을 잊음 — API 또는 스토리지 한도를 초과할 수 있음
- 표준 Base64와 URL 안전 Base64를 혼동 — 서로 다른 특수 문자를 사용 (+, / vs -, _)
- 등호(=)를 패딩 대신 리터럴 데이터로 취급 — 인코딩된 콘텐츠의 일부가 아님
주요 용어 설명
- Base64: 64개의 인쇄 가능한 ASCII 문자를 사용하여 바이너리 데이터를 표현하는 바이너리-텍스트 인코딩 스킴
- 인코딩: 원시 텍스트 또는 바이너리 데이터를 텍스트 기반 시스템에서 안전한 전송을 위해 Base64 문자열로 변환
- 디코딩: 인코딩된 문자열에서 원본 바이트 또는 텍스트를 복구하기 위해 Base64 인코딩을 반전
- UTF-8: Unicode 표준의 모든 문자를 지원하는 가변 너비 Unicode 문자 인코딩
- 패딩: Base64 문자열 끝에 추가되어 길이를 4의 배수로 만드는 등호(=) 문자
관련 개념
예시
인코딩 "Hello World!" → "SGVsbG8gV29ybGQh". 디코딩 "U3Vuc2hpbmU=" → "Sunshine". 입력의 3바이트마다 4개의 Base64 문자가 됩니다.
결과 해석 방법
이 변환기는 두 가지 모드로 작동합니다: 인코딩(텍스트 → Base64) 및 디코딩(Base64 → 텍스트). 인코딩 시 출력은 항상 A–Z, a–z, 0–9, +, / 문자를 사용하는 유효한 Base64 문자열입니다. 디코딩 시 유효한 Base64 문자열을 붙여넣으면 도구가 원래 텍스트 또는 이진 데이터를 반환합니다.
바이트 수 출력은 작업 중인 데이터의 크기를 보여주며, 이는 크기 오버헤드를 이해하는 데 유용합니다. Base64 인코딩은 데이터 크기를 약 33% 증가시키므로, 100바이트 파일은 인코딩 시 133바이트가 됩니다. 페이로드 크기를 최소화해야 한다면, 인코딩 전에 데이터를 압축하거나 사용 사례에 더 효율적인 인코딩 방식을 고려하세요.

