유틸리티

Base64 인코딩·디코딩이란? 이미지 변환까지 한 번에

API 응답 안에 aGVsbG8gd29ybGQ= 같은 문자열이 들어있다. 암호화된 것처럼 보이지만 사실 Base64로 인코딩된 텍스트다. 디코딩하면 원본이 바로 나온다.

Base64가 뭔가

Base64는 바이너리 데이터를 영문자, 숫자, +, / 총 64개 문자로 표현하는 인코딩 방식이다. 암호화가 아니라 형식 변환이다. 이메일 첨부파일, JWT 토큰, 이미지 Data URL 등에서 쓰인다.

예시
원본: hello world
Base64: aGVsbG8gd29ybGQ=
끝에 붙는 =는 패딩 문자로, 데이터 길이를 맞추기 위한 것이다.

Base64를 쓰는 경우

  • 이미지 Data URL — 작은 아이콘을 HTML에 직접 넣을 때. 별도 이미지 파일 요청 없이 페이지에 포함된다.
  • JWT 토큰 — 로그인 인증에서 사용하는 토큰의 헤더와 페이로드가 Base64로 인코딩되어 있다.
  • 이메일 첨부 — SMTP 프로토콜이 바이너리를 직접 전송하지 못해서 Base64로 변환한다.
  • API 인증 — HTTP Basic 인증에서 아이디:비밀번호를 Base64로 인코딩해서 보낸다.

텍스트·이미지 Base64 변환 방법

Base64 변환기의 텍스트 탭에 문자열을 넣으면 인코딩·디코딩 결과가 바로 나온다. 이미지 탭에서는 파일을 드래그해서 놓으면 Data URL 형식의 Base64 코드가 생성되어 HTML이나 CSS에 바로 붙여넣을 수 있다.

  1. 텍스트 변환: 입력창에 문자열을 넣고 인코딩 또는 디코딩 버튼을 누른다.
  2. 이미지 변환: 이미지 탭에서 PNG, JPG, SVG 등 파일을 업로드하면 Data URL이 생성된다.
  3. 결과를 복사해서 코드에 사용한다. 원본과 결과의 크기 비교도 함께 표시된다.

Base64는 인코딩 결과가 원본보다 약 33% 커진다. 큰 파일보다는 작은 아이콘이나 짧은 텍스트에 쓰는 게 적합하다.