Base64 인코더/디코더
텍스트를 Base64로 인코딩하거나 Base64를 텍스트로 디코딩합니다. UTF-8과 한글을 완벽하게 지원하며, API 통신, 데이터 전송 등에 유용하게 사용할 수 있습니다.
최종 수정 · 운영 Fixit Dev
Base64 인코더 · 디코더
한글을 포함한 모든 텍스트를 UTF-8 기준으로 변환합니다. 브라우저 안에서만 처리됩니다.
JWT·URL 파라미터용 변형. 디코딩은 두 형식을 자동으로 인식합니다.
입력하면 바로 변환됩니다 · Ctrl/⌘+Enter 즉시 변환
Base64 인코더/디코더 사용법
- 1인코딩 또는 디코딩 모드를 선택합니다.
- 2텍스트를 입력란에 입력하거나 붙여넣습니다.
- 3입력과 동시에 결과가 표시됩니다. JWT·URL용이면 "URL-safe" 옵션을 켭니다.
- 4결과를 복사하여 사용합니다.
입력과 결과 예시
한글을 UTF-8로 인코딩
- 입력·설정
가 설정: 인코딩, URL-safe 끔
- 결과
6rCA
가의 UTF-8 바이트는 EA B0 80입니다. 이 3바이트를 Base64 문자 4개로 표현합니다. 디코딩하면 같은 한글로 돌아옵니다.
패딩과 URL-safe 비교
- 입력·설정
Hello 설정: 인코딩
- 결과
표준: SGVsbG8= URL-safe: SGVsbG8
표준 Base64는 길이를 4의 배수로 맞추는 = 패딩을 사용합니다. 이 도구의 URL-safe 옵션은 +와 /를 -와 _로 바꾸고 패딩을 생략합니다.
Base64 인코더/디코더 활용 팁
- 1Base64 인코딩은 원본 데이터보다 약 33% 크기가 증가합니다.
- 2URL에서 사용할 때는 + 대신 -, / 대신 _를 사용하는 URL-safe Base64를 고려하세요.
- 3data:image/png;base64,... 형식으로 HTML에 이미지를 직접 포함할 수 있습니다.
- 4Base64는 암호화가 아니므로 민감한 정보 보호에는 사용하지 마세요.
Base64 문자열이 원문보다 길어지는 이유
표준 Base64는 3바이트를 4문자로 표현합니다. 패딩을 포함한 결과 길이는 4 × ceil(입력 바이트 수 ÷ 3)입니다. Hello는 5바이트라 8문자가 됩니다. 한글은 글자 수와 바이트 수가 다르므로 화면의 입력 바이트를 기준으로 비교하세요.
한글이 깨질 때 확인할 점
- •원문을 UTF-8로 인코딩했는지 확인하세요. EUC-KR 등 다른 인코딩의 바이트는 이 도구에서 올바르게 복원되지 않을 수 있습니다.
- •data:text/plain;base64, 같은 접두어는 제거하고 쉼표 뒤의 Base64 부분만 넣으세요.
- •인코딩 결과를 URL에 넣는 경우 상대 시스템이 표준 Base64와 Base64URL 중 무엇을 요구하는지 확인하세요.
참고 자료
- RFC 4648 — Base64·Base64URL알파벳·패딩·URL-safe 변형
Base64 인코더/디코더 자주 묻는 질문
Base64로 바꾸면 내용이 비밀이 되나요?
아니요. Base64는 암호화가 아닌 표현 방식이며 키 없이 복원할 수 있습니다. 인증 토큰이나 비밀번호를 숨기는 용도로 쓰지 마세요.
이미지 파일이나 PDF를 변환할 수 있나요?
이 페이지는 UTF-8 텍스트 전용입니다. 이미지·PDF 업로드와 파일 복원은 지원하지 않습니다. 이진 파일의 Base64를 넣으면 UTF-8이 아니어서 오류가 나거나 의미 없는 글자가 보일 수 있습니다.
JWT 전체를 붙여넣어도 되나요?
JWT의 점(.)으로 구분된 헤더나 페이로드 한 부분씩 디코딩하세요. 서명 부분은 텍스트가 아닐 수 있습니다. 내용을 읽는 것과 서명을 검증하는 것은 별개이며 이 도구는 서명을 검증하지 않습니다.
패딩이 없거나 줄바꿈이 있는 문자열도 읽나요?
디코딩 시 공백·줄바꿈을 제거하고 URL-safe 문자를 표준 문자로 바꾼 뒤 필요한 패딩을 채웁니다. 형식이 맞아도 결과 바이트가 UTF-8 텍스트가 아니면 오류를 표시합니다.