개발자 도구 · Free browser tool
Base64 인코드/디코드
전체 UTF-8 지원과 데이터 유출 없이 텍스트를 Base64로 인코딩하거나 Base64 문자열을 텍스트로 즉시 디코딩합니다.
Plain text
Any text, including emoji and non-Latin scripts.
Base64 result
Your Base64 result will appear here.
Frequently Asked Questions
Base64 인코딩은 실제로 무엇을 위한 것인가요?
Base64는 임의 바이너리(또는 텍스트)를 글자·숫자·+·/·=만으로 된 문자열로 바꿔, JSON 필드·URL·이메일 첨부·HTTP 헤더·설정 파일처럼 평문용으로 설계된 곳에 안전하게 넣을 수 있게 합니다. 암호화나 압축이 아니라 순수 안전 전송 형식이며, 누구나 즉시 원본으로 디코딩할 수 있습니다.
plain btoa()/atob()로 한글·이모지를 인코딩하면 깨지거나 오류가 나는 이유는?
브라우저 내장 btoa()는 0–255 바이트 범위(Latin-1) 문자만 받습니다. 한글·이모지·대부분 비서구 문자는 그 범위를 넘는 멀티바이트 UTF-8이라 btoa()가 "InvalidCharacterError"를 던지거나 조용히 망가뜨립니다. 이 도구는 TextEncoder로 먼저 UTF-8 바이트로 바꾼 뒤 Base64로 인코딩하고, 디코드 시 TextDecoder로 같은 단계를 역순으로 해 한글·이모지·악센트 문자가 완벽히 왕복합니다.
Base64 문자열 끝의 '=' 패딩은 무슨 뜻인가요?
Base64는 3바이트 덩어리를 출력 문자 4개로 인코딩합니다. 원본이 3바이트의 깔끔한 배수가 아니면 마지막 그룹을 4문자로 맞추려고 끝에 '='를 붙입니다—남은 바이트가 2개면 '=', 1개면 '=='. 존재(또는 부재)는 유효한 Base64의 정상이며 오류가 아닙니다.
온라인 Base64 도구로 API 키·비밀번호를 디코딩해도 안전한가요?
도구가 입력을 서버로내는지에 전적으로 달립니다. 이 도구는 절대 보내지 않습니다—모든 변환이 TextEncoder·TextDecoder·btoa·atob 같은 내장 JavaScript API로 브라우저 로컬에서, 네트워크 요청 없이 실행됩니다. 그래서 API 키·JWT 세그먼트·Basic Auth 헤더 같은 민감한 값을 디코딩해도 안전하며, 통제할 수 없는 백엔드로 프록시하는 도구에는 절대 붙여넣지 마세요.
Base64는 암호화가 아니다 — 그리고 그것이 보안에 중요한 이유
Base64는 전송 형식이지 보안 수단이 아닙니다. 누구나 한 번의 클릭으로 Base64 문자열을 원본으로 디코딩할 수 있으며 비밀 키는 없습니다. 그래서 진짜 보안 질문은 "인코딩됐는가"가 아니라 "인코딩·디코딩하는 동안 데이터가 어디로 가는가"입니다. 놀라운 수의 온라인 변환기가 붙여넣은 내용을 조용히 자체 서버로보내며, 디코딩 대상이 프로덕션 로그에서 뽑은 API 키·JWT 페이로드·Basic Auth 헤더라면 실질적 문제입니다.
이 도구는 절대 그렇게 하지 않습니다. 인코드·디코드 모든 변환이 브라우저의 TextEncoder·TextDecoder·btoa·atob API를 거치며 어느 시점에도 네트워크 요청이 없습니다. 수상해 보이는 토큰을 디코딩하거나 자격 증명을 확인할 때 기기를 떠나지 않습니다.
프라이버시만큼 UTF-8 처리도 중요합니다. 맨 btoa() 호출은 텍스트에 한글·일본어·이모지·악센트 라틴이 들어가는 순간 깨집니다—Latin-1 바이트 범위만 이해하기 때문입니다. 이 도구는 먼저 올바른 UTF-8 바이트 인코딩을 거치므로 멀티바이트 문자가 항상 정확히 왕복합니다. 이모지가 있는 문자열을 인코딩했다가 디코딩하면 깨진 대체 문자가 아니라 같은 이모지가 돌아옵니다.
이어서 구조화 데이터를 다루나요? 디코딩한 API 응답을 정리하려면 JSON 포맷터·유효성 검사기와 짝을 지으세요. 이 카테고리에는 UUID 생성기를 포함한 더 많은 개발자 유틸리티가 이어집니다.