홈 › 개발·웹 도구

Base64 인코딩·디코딩

Base64는 암호화가 아니에요. 누구나 풀 수 있으니 비밀번호를 숨기는 데 쓰지 마세요.

파일은 서버로 전송되지 않고 내 기기에서만 처리돼요

Base64, 3바이트를 4글자로 바꾸는 규칙

언제 쓰나요

Base64는 글자만 오갈 수 있는 통로에 바이트 데이터를 태워 보낼 때 써요. 웹 개발에서는 작은 아이콘을 CSS 파일 안에 바로 박아 넣거나, API 문서에 적힌 ‘아이디:비밀번호’ 형식의 기본 인증 값을 만들거나, 로그에 찍힌 알 수 없는 문자열이 무엇인지 풀어 볼 때 자주 만나요. 반대로 누군가 메신저로 보낸 긴 Base64 덩어리를 이미지나 PDF로 되돌려야 할 때도 이 도구 하나로 끝나요.

사용 방법

입력 칸에 1번, 방향 선택에 2번 표시가 붙은 화면

1단계글자 넣고 방향 고르기

  1. ① 왼쪽 칸에 글자를 넣으면 오른쪽 결과가 바로 바뀌어요. 처음 열면 예시 문장이 들어 있어요.
  2. ② 디코딩으로 바꾸면 왼쪽에 붙여 넣은 Base64를 글자로 풀어요. 앞에 data:…, 같은 머리말이 붙어 있어도 떼고 읽어요.
URL용 체크에 3번, 글자 수 안내 줄에 4번 표시가 붙은 화면

2단계옵션과 결과 확인

  1. ③ 주소나 토큰에 넣을 값이면 ‘URL용’을, 메일 본문 규격처럼 줄을 나눠야 하면 ‘76자마다 줄바꿈’을 켜요.
  2. ④ 아래 안내 줄에 글자 수, UTF-8 바이트 수, 결과 길이가 나와요. 예시 문장은 12자가 30바이트, Base64로 40자가 돼요.
파일 → Base64와 Base64 → 파일 탭에 5번 표시가 붙은 화면

3단계파일과 오가기

  1. ⑤ 파일을 Base64로 바꾸거나, 붙여 넣은 Base64를 파일로 저장하는 탭이에요. 저장할 때는 파일 앞부분 몇 바이트를 보고 확장자를 정해요.

바뀌는 원리

Base64는 데이터를 3바이트(24비트)씩 끊고, 이것을 6비트씩 네 조각으로 나눠요. 6비트는 0~63 사이 숫자라서 A–Z, a–z, 0–9, +, / 64글자 중 하나에 대응시킬 수 있어요. 그래서 3바이트가 언제나 4글자가 되고, 길이는 약 4/3배로 늘어나요.

Base64 변환 원리 그림한글 홍은 UTF-8로 ED 99 8D 세 바이트예요. 24비트를 6비트씩 네 조각으로 나누면 59, 25, 38, 13이 되고, Base64 글자표에서 7, Z, m, N에 해당해 7ZmN이 돼요.3바이트(24비트) → 6비트 × 4 → 4글자홍UTF-8ED1110110199100110018D10001101111011= 597011001= 25Z100110= 38m001101= 13N
한글 ‘홍’의 UTF-8 3바이트가 6비트씩 나뉘어 ‘7ZmN’ 네 글자가 돼요.

마지막 묶음이 3바이트를 못 채우면 남는 자리를 =로 메워요. 1바이트가 남으면 ==, 2바이트가 남으면 = 하나가 붙어요. 이 도구는 디코딩할 때 길이가 4의 배수가 될 때까지 =를 스스로 채워 넣어서, 끝의 =가 빠진 URL용 값도 그대로 풀려요.

원본 크기Base64 길이끝의 =
1바이트4자2개
2바이트4자1개
3바이트4자없음
1,000바이트1,336자2개

‘URL용’을 켜면 같은 64글자 중 주소에서 특별한 뜻을 가진 +와 /만 -와 _로 바꾸고 끝의 =를 지워요. 나머지 글자는 그대로라서, 표준 결과와 URL용 결과는 길이가 거의 같고 그 세 가지 기호만 달라요.

도움말디코딩 결과가 글자가 아니라는 안내가 뜨면 내용이 그림이나 압축 파일일 가능성이 커요. 같은 문자열을 ‘Base64 → 파일’ 탭에 붙이면 형식과 크기를 바로 알려 줘요.

주의할 점

더 궁금한 점

공백이나 줄바꿈이 섞인 Base64도 풀리나요?

풀려요. 디코딩 전에 공백과 줄바꿈을 모두 지우고, -와 _도 +와 /로 되돌린 다음 읽어요.

같은 글자인데 다른 사이트 결과와 달라요.

대부분 줄바꿈이나 끝의 = 차이예요. 두 옵션을 끈 상태의 결과가 표준 Base64예요.

파일 탭 결과 옆의 % 숫자는 무엇인가요?

결과 글자 수를 원본 바이트 수로 나눈 값이에요. data URI 형식을 켜면 data:image/png;base64, 같은 머리말 22자 정도가 더해져서, 100바이트짜리 작은 PNG라면 136자에 머리말이 붙어 158% 안팎이 나와요.

Base64를 글자·파일과 오가기

Base64는 사진이나 파일 같은 바이너리 데이터를 영문·숫자·+·/·= 64가지 글자로만 이루어진 문자열로 바꾸는 방식이에요. 이메일 첨부, JSON·HTML 안에 이미지 넣기(data URI), API 인증 헤더, JWT 토큰 등 글자만 다룰 수 있는 곳에 데이터를 실을 때 널리 쓰여요. 이 도구는 세 가지 방향의 변환을 브라우저에서 바로 해 줘요.

글자 ↔ Base64

한글은 UTF-8 바이트로 바꾼 뒤 Base64로 만들어서, 다른 프로그램·언어(파이썬, 자바, 리눅스 base64 명령)와 결과가 같아요. ‘URL용’을 켜면 +와 /를 -와 _로 바꾸고 끝의 =를 빼서 주소나 파일 이름에 그대로 쓸 수 있어요(JWT 형식). 디코딩할 때는 URL용 Base64와 줄바꿈이 섞인 Base64도 알아서 풀어요. 풀린 내용이 글자가 아니면 파일로 저장하라고 알려 줘요.

파일 → Base64, Base64 → 파일

이미지·PDF·글꼴 파일을 넣으면 Base64나 ‘data:image/png;base64,…’ 형식의 data URI로 바꿔요. 작은 아이콘을 CSS나 HTML에 직접 넣을 때 편해요. Base64는 원래 파일보다 약 33% 커지니 큰 파일에는 알맞지 않아요. 반대로 Base64 문자열이나 data URI를 붙여넣으면 파일 머리 부분을 보고 PNG, JPG, GIF, PDF, ZIP 등 형식을 알아내 알맞은 확장자로 저장하고, 이미지면 미리보기도 보여 줘요.

Base64는 암호화가 아니라 표현 방식만 바꾼 것이라 누구나 원래대로 풀 수 있어요. 비밀번호나 개인정보를 Base64로 바꿔 숨기는 것은 보안이 되지 않아요. 이 도구의 모든 변환은 이 기기에서만 이뤄져요.

자주 묻는 질문

결과 끝의 = 는 뭐예요?

길이를 4의 배수로 맞추는 채움 글자예요. URL용에서는 빼도 풀 수 있어요.

JWT 토큰을 풀 수 있나요?

토큰의 가운데 부분(점 사이)을 넣으면 내용(JSON)을 볼 수 있어요. 서명 검증은 하지 않아요.

한글이 깨져요.

다른 곳에서 EUC-KR로 만든 Base64일 수 있어요. 이 도구는 UTF-8로 풀어요.

함께 쓰면 좋은 도구