사용 방법
API 응답이나 설정 파일, 메일 헤더에서 알 수 없는 영문·숫자 덩어리를 발견했을 때 Base64 디코딩으로 내용을 확인해야 한다면, 이 페이지에서 설치 없이 바로 처리할 수 있습니다. 위쪽의 인코딩과 디코딩 탭 중 하나를 고르고 입력란에 내용을 붙여 넣으면 아래에 결과가 즉시 나타납니다.
인코딩은 한글, 영어, 일본어는 물론 이모지까지 그대로 받아들입니다. 내부적으로 UTF-8을 사용하기 때문에 한글이 깨져서 물음표나 이상한 기호로 바뀌는 일이 없습니다. 디코딩할 때는 가지고 있는 문자열을 그대로 붙여 넣으세요. 중간의 공백과 줄바꿈은 자동으로 무시되고, URL-safe 형식의 -와 _도 인식합니다. 잘못된 입력이면 엉뚱한 결과 대신 오류 메시지를 보여 줍니다. 결과는 복사 버튼 한 번으로 클립보드에 담을 수 있습니다.
변환은 전부 내 브라우저 안에서 끝납니다. 인증 토큰이나 사내 데이터를 열어 볼 때도 외부 서버로 넘어가지 않으니 안심하고 쓰셔도 됩니다.
Base64의 원리
Base64는 바이너리 데이터를 글자만으로 표현하는 방식입니다. 입력을 3바이트(24비트)씩 묶은 뒤 6비트씩 네 조각으로 나눕니다. 6비트는 0부터 63까지의 숫자가 되고, 이것을 영문 대문자·소문자·숫자·+·/로 이루어진 64개 문자에 대응시킵니다. 끝에 1~2바이트가 남으면 =를 붙여 길이를 맞춥니다.
| 입력 | 바이트 수 | Base64 결과 |
|---|---|---|
abc |
3 | YWJj |
한 |
3 (UTF-8) | 7ZWc |
3바이트가 4글자가 되므로 인코딩 결과는 원본보다 약 33% 커집니다. 한글 한 글자는 UTF-8에서 보통 3바이트라서 Base64로는 정확히 4글자가 됩니다. 변형인 base64url은 +를 -로, /를 _로 바꾸고 =를 생략하는 경우가 많은데, URL이나 파일 이름에 그대로 넣기 위해서입니다.
꼭 기억할 점은 Base64가 암호화가 아니라는 것입니다. 키도 없고 내용을 감추지도 않으며, 같은 데이터를 다른 글자로 적을 뿐입니다.
활용 사례와 팁
웹 개발에서는 Base64를 자주 만납니다. 데이터 URI는 data:image/png;base64, 뒤에 작은 이미지를 붙여 HTML이나 CSS에 바로 넣는 방식입니다. 이메일은 MIME 규격으로 첨부 파일을 글자로 바꿔 보냅니다. JSON은 바이너리를 직접 담을 수 없어서, API로 파일을 주고받을 때 JSON 페이로드 안에 Base64 문자열을 넣는 경우가 많습니다.
HTTP Basic 인증 헤더에는 아이디:비밀번호가 Base64로 들어갑니다. 쉽게 되돌릴 수 있으니 반드시 HTTPS 위에서만 써야 합니다. JWT는 점으로 구분된 세 개의 base64url 조각으로 이루어져 있어, 앞의 두 조각을 디코딩하면 헤더와 클레임 내용을 읽을 수 있습니다.
알아 두면 편한 구별법도 있습니다. 영문, 숫자, 몇 가지 기호로만 되어 있고 끝이 =나 ==로 끝나는 문자열은 Base64일 가능성이 높습니다. 디코딩했는데 읽을 수 없는 글자가 나온다면 원본이 이미지 같은 바이너리 파일이었을 가능성이 큽니다.