Base64 인코더/디코더
텍스트 ↔ Base64를 변환합니다.
🔒 브라우저에서 바로 처리 · 서버 전송 없음설명
텍스트를 Base64로 인코딩/디코딩합니다. 한글 등 UTF-8 문자를 지원합니다.
관련 도구
Base64는 바이너리 데이터나 특수문자가 포함된 텍스트를 알파벳·숫자·+·/ 64개 문자만으로 이루어진 문자열로 변환하는 인코딩 방식입니다. 이메일 첨부 파일 전송, HTML 내 이미지 삽입(Data URI), API 인증 토큰 처리, 쿠키 값 인코딩 등 웹·개발 업무에서 매우 자주 쓰입니다. 이 도구에서 텍스트를 입력하면 즉시 Base64 인코딩 또는 디코딩 결과를 확인할 수 있습니다.
사용 방법
변환할 텍스트나 문자열을 입력창에 붙여넣고 인코딩 버튼을 누르면 아래 결과 카드에 Base64 인코딩 결과가 표시됩니다. 디코딩이 필요한 경우에는 Base64 문자열을 붙여넣고 디코딩 버튼을 누르면 원문 텍스트를 복원할 수 있습니다. 변환 결과는 결과 카드의 복사 버튼으로 클립보드에 한 번에 복사할 수 있어 코드 편집기나 터미널에 바로 붙여넣기가 가능합니다. 모든 처리는 브라우저 안에서 이뤄지고 서버로 데이터가 전송되지 않으므로 민감한 토큰이나 자격증명도 안전하게 처리할 수 있습니다.
알아두면 좋은 점
Base64 인코딩은 암호화가 아닙니다. 누구든 Base64 문자열을 디코딩하면 원문을 볼 수 있기 때문에, 비밀번호나 민감한 정보를 Base64로 변환했다고 해서 보안이 강화되는 것이 아닙니다. 인코딩된 결과는 원문보다 데이터 크기가 약 33% 커지므로, 대용량 파일 전체를 Base64로 변환해 전송하면 네트워크 효율이 낮아집니다. URL에 Base64 값을 포함할 때는 +가 공백으로, /가 경로 구분자로 해석될 수 있어 URL-safe Base64(+를 -로, /를 _로 대체)를 사용해야 하는 경우도 있으니 주의해야 합니다. 한국어·일본어 등 다국어 텍스트를 인코딩할 때는 UTF-8로 처리되는지 확인하는 것이 중요합니다.
이럴 때 유용해요
REST API를 테스트할 때 Basic 인증 헤더 값(username:password를 Base64로 인코딩)을 직접 만들어야 할 경우 빠르게 변환할 수 있습니다. 작은 SVG 아이콘이나 폰트 파일을 CSS에 Data URI로 직접 삽입할 때 Base64 인코딩이 필요합니다. JWT(JSON Web Token)의 페이로드 부분이 Base64로 인코딩되어 있어, 토큰 내용을 빠르게 확인하고 싶을 때 디코딩 용도로 활용할 수 있습니다. 이메일 서버 설정(SMTP AUTH) 값을 수동으로 입력해야 할 때도 유용합니다.
자주 묻는 질문
Base64 인코딩과 URL 인코딩은 어떻게 다른가요?
Base64로 인코딩하면 보안이 강화되나요?
결과 끝에 붙는 = 또는 == 는 무엇인가요?
이미지 파일도 Base64로 변환할 수 있나요?
JWT 토큰의 내용을 이 도구로 확인할 수 있나요?
개인정보처리방침
모든 처리는 브라우저 내부에서만 수행되며 입력값·파일은 서버로 전송·저장되지 않습니다. 광고: Google AdSense(쿠키 사용 가능, 설정). 문의 kjh920424@gmail.com
Base64 인코더/디코더 사용법
입력창에 원본 텍스트를 붙여넣고 "인코딩"을 누르면 Base64 문자열이, 반대로 Base64 문자열을 넣고 "디코딩"을 누르면 원래 텍스트가 나옵니다. 변환은 브라우저 안에서 즉시 처리되며 입력한 내용은 서버로 전송되지 않으므로, 접근 토큰이나 설정값처럼 외부에 노출하기 곤란한 문자열도 그대로 넣어볼 수 있습니다. 결과는 복사 버튼으로 바로 클립보드에 담을 수 있습니다.
작동 원리 - 3바이트를 4글자로
Base64는 암호화가 아니라 "바이너리를 텍스트로 안전하게 옮기는" 인코딩 방식입니다. 원본 데이터를 8비트 단위가 아니라 6비트 단위로 잘라, 각 6비트(0~63)를 정해진 64개 문자표(A~Z, a~z, 0~9, +, /)에 매핑합니다. 그래서 3바이트(24비트)가 정확히 4글자로 바뀌고, 결과 길이는 원본보다 약 33% 늘어납니다. 3의 배수로 딱 떨어지지 않을 때는 뒤에 '=' 한두 개를 붙여 4글자 단위를 맞추는데, 이것이 Base64 문자열 끝에 종종 보이는 '=' 기호입니다.
이럴 때 씁니다
대표적으로 HTML/CSS에 작은 이미지를 파일 없이 심는 Data URI(data:image/png;base64,...), 이메일 첨부파일을 텍스트로 실어 나르는 MIME, HTTP Basic 인증 헤더(아이디:비밀번호를 Base64로 묶음), JSON 웹 토큰(JWT)의 각 조각 인코딩 등에 쓰입니다. 개발 중 API 응답에 들어 있는 Base64 문자열이 실제로 무엇인지 확인하거나, 반대로 짧은 문자열을 헤더나 설정 파일에 넣기 위해 인코딩할 때 유용합니다.
사용 팁
한글처럼 ASCII를 벗어난 문자는 먼저 UTF-8 바이트로 바뀐 뒤 인코딩되므로, 다른 프로그램에서 디코딩할 때도 UTF-8로 읽어야 글자가 깨지지 않습니다. 또한 URL 주소나 쿼리스트링에 Base64를 넣을 때는 '+'와 '/'가 특수문자로 해석되어 문제가 될 수 있어, 이를 '-'와 '_'로 바꾼 URL-safe Base64를 쓰는 경우가 많습니다. 디코딩이 실패한다면 문자열 중간에 줄바꿈이나 공백이 섞였거나 '=' 개수가 어긋난 경우가 흔하니 확인해 보세요.
자주 묻는 질문
Base64로 바꾸면 데이터가 안전하게 숨겨지나요?
아닙니다. Base64는 누구나 되돌릴 수 있는 인코딩일 뿐 암호화가 아닙니다. 비밀번호나 민감정보를 보호하는 용도로는 쓰면 안 되고, 보안이 필요하면 별도의 암호화를 적용해야 합니다.
변환하면 왜 길이가 늘어나나요?
8비트 데이터를 6비트 단위로 다시 나눠 표현하기 때문에 3바이트가 4글자가 되어 약 33% 커집니다. 그래서 큰 파일을 Base64로 실어 나르면 용량 부담이 생깁니다.
끝에 붙는 '=' 기호는 지워도 되나요?
'='는 4글자 단위를 맞추기 위한 패딩입니다. 일부 디코더는 없어도 처리하지만, 표준을 엄격히 따르는 곳에서는 오류가 날 수 있으니 임의로 지우지 않는 편이 안전합니다.
한글이 깨져서 나와요.
인코딩할 때 UTF-8을 쓰고 디코딩하는 쪽도 UTF-8로 읽어야 합니다. 원본이 EUC-KR 등 다른 인코딩이었다면 글자가 깨질 수 있으니 문자 인코딩을 통일하세요.