사용 방법
- 위에서 인코딩 또는 디코딩을 고릅니다.
- 왼쪽에 텍스트나 Base64 문자열을 붙여 넣으면 오른쪽에 바로 결과가 나옵니다. 파일을 Base64로 바꾸려면 ‘파일 인코딩’을 누릅니다.
- JWT나 URL 파라미터에 넣을 값이면 URL-safe를 켜고 패딩을 뺍니다. 이메일 첨부(MIME)처럼 줄 길이 제한이 있으면 76자 줄바꿈을 켭니다.
- ‘바꾸기’를 누르면 결과를 입력으로 옮겨 반대 방향으로 확인할 수 있습니다.
계산 기준과 공식
Base64는 3바이트(24비트)를 6비트씩 네 조각으로 나눠 64개 글자(A–Z, a–z, 0–9, +, /) 중 하나로 바꿉니다. 그래서 결과는 원본보다 약 33% 길어집니다. 마지막에 남는 바이트가 3개가 안 되면 =로 길이를 맞춥니다(패딩).
- 문자 인코딩: 텍스트는 UTF-8 바이트로 바꾼 뒤 인코딩합니다. 한글 한 글자는 3바이트라 4글자의 Base64가 됩니다.
- URL-safe(base64url): 주소에서 의미가 있는
+와/를-와_로 바꾼 형식입니다. JWT가 이 형식을 씁니다. - 디코딩할 때는 공백과 줄바꿈을 무시하고, 패딩이 없어도, 표준과 URL-safe 형식 모두 받습니다.
예시
한글 ‘안녕’ 인코딩
‘안녕’은 UTF-8로 6바이트이고 Base64로
7JWI64WV(8글자)가 됩니다. 다른 사이트에서 결과가 다르다면 그쪽이 EUC-KR로 바꾼 뒤 인코딩했을 가능성이 높습니다.표준과 URL-safe 차이
?>>를 표준 Base64로 바꾸면Pz4+, URL-safe에 패딩 없이 바꾸면Pz4-입니다. 표준 결과를 그대로 주소에 넣으면/가 경로 구분자로 읽혀 값이 깨집니다.
결과를 읽는 법
디코딩 결과가 바이너리로 나오면 원본이 텍스트가 아니라 이미지·PDF 같은 파일이라는 뜻입니다. 파일 머리 부분을 보고 형식을 짐작해 알려주며, ‘파일로 받기’로 저장해 열면 됩니다.
Base64는 암호화가 아닙니다. 누구나 되돌릴 수 있으므로 비밀번호나 키를 숨기는 용도로 쓰면 안 됩니다.
자주 묻는 질문
Base64는 암호화인가요?
아닙니다. 바이너리를 글자로 옮겨 적는 표기 방식일 뿐이라 이 페이지처럼 누구나 바로 되돌릴 수 있습니다. 비밀을 지키려면 AES 같은 암호화를 써야 합니다.
끝에 붙는 = 는 무엇인가요?
패딩입니다. 원본 바이트 수가 3의 배수가 아닐 때 결과 길이를 4의 배수로 맞추려고 붙입니다. 1바이트가 남으면 ==, 2바이트가 남으면 = 하나가 붙습니다. JWT처럼 패딩을 빼는 형식도 많고, 이 도구는 패딩이 없어도 디코딩합니다.
디코딩하면 한글이 깨져요.
원본이 UTF-8이 아닌 EUC-KR(CP949)로 인코딩되었을 가능성이 큽니다. 이 도구는 UTF-8로 해석하고, UTF-8로 읽을 수 없으면 바이너리로 표시합니다. 그 경우 파일로 받아 메모장 등에서 EUC-KR로 열어 보세요.
이미지를 Base64로 바꿔 HTML에 넣고 싶어요.
‘파일 인코딩’으로 이미지를 열면 Base64가 나옵니다. HTML에 넣으려면 앞에 data:image/png;base64, 를 붙여야 하는데, 이미지 전용 도구인 ‘이미지 Base64 변환’을 쓰면 data URI와 img 태그까지 바로 만들어 줍니다.
파일을 올려도 안전한가요?
파일은 서버로 전송되지 않고 브라우저 안에서만 읽습니다. 다만 20MB가 넘는 파일은 브라우저가 느려질 수 있어 받지 않습니다.
결과가 이상하거나 있었으면 하는 기능이 있나요? 오류 제보 · 의견 보내기