Base64 인코더/디코더
텍스트와 데이터를 Base64 형식으로 변환하고 Base64 문자열을 디코딩합니다. UTF-8 인코딩 및 데이터 URI 생성을 지원합니다.
Base64 인코더/디코더는 무엇인가요?
Base64는 이진 데이터를 64개의 인쇄 가능한 ASCII 문자(A~Z, a~z, 0~9, +, /)를 사용하여 텍스트 형식으로 표현하는 이진-텍스트 인코딩 방식입니다. 원래 이메일 프로토콜(MIME)이나 초기 HTTP 헤더처럼 일반 텍스트만 처리하도록 설계된 시스템을 통해 이미지, 오디오 파일 등 이진 콘텐츠를 안전하게 전송하기 위해 설계되었습니다. 현재 Base64는 현대 소프트웨어 전반에 사용됩니다. JWT(JSON 웹 토큰)는 헤더와 페이로드를 Base64URL 형식으로 인코딩하고, HTML과 CSS는 Base64 데이터 URI로 이미지를 직접 임베드하여 추가 HTTP 요청을 없앨 수 있으며, SMTP 이메일 첨부 파일은 Base64로 인코딩됩니다. 중요한 점은 Base64는 인코딩이지 암호화가 아닙니다. 데이터를 보호하지 않으며 누구나 Base64 문자열을 즉시 디코딩할 수 있습니다. Base64 인코딩은 3바이트 입력이 4개의 출력 문자가 되므로 데이터 크기를 약 33% 증가시키는데, 이것이 범용 텍스트 호환성에 대한 트레이드오프입니다.
Base64 인코더/디코더 사용 방법
자주 묻는 질문
Base64와 Base64URL의 차이는 무엇인가요?
표준 Base64는 URL에서 특수한 의미를 가지며 쿼리 문자열을 깨뜨릴 수 있는 + 와 / 문자를 사용합니다. Base64URL은 퍼센트 인코딩 없이 URL, HTTP 헤더, JWT 토큰에서 인코딩된 문자열을 안전하게 사용할 수 있도록 +를 -로, /를 _로 대체합니다. 이 도구는 두 변형 모두 지원합니다. JWT나 API 토큰 작업에는 URL 안전 옵션을 사용하세요.
이미지와 이진 파일을 인코딩할 수 있나요?
네. 파일 입력 탭으로 전환하여 이미지(PNG, JPEG, WebP, GIF, SVG), PDF, 폰트, 오디오 파일 또는 임의의 이진 데이터를 업로드하세요. 도구가 브라우저에서 파일을 읽어 Base64 문자열로 변환합니다. 데이터 URI 옵션을 켜면 data:image/png;base64,...와 같이 감싸져 HTML src 속성이나 CSS background-image에 직접 붙여넣을 수 있습니다.
Base64 출력이 원본보다 긴 이유는 무엇인가요?
Base64 인코딩은 3바이트의 이진 데이터를 4개의 ASCII 문자로 변환하여 크기를 약 33% 증가시킵니다. 이 크기 오버헤드는 텍스트 안전한 표현의 비용입니다. 아이콘 같은 소형 임베드 자산에는 허용 가능하지만, 대형 이미지나 파일의 경우 HTML이나 CSS가 방대해지는 것을 피하기 위해 Base64 임베딩 대신 표준 파일 참조와 HTTP를 사용하는 것이 좋습니다.
Base64는 암호화와 같은 건가요?
아니요. Base64는 인코딩이지 암호화가 아닙니다. 어떤 보안도 제공하지 않습니다. 누구든지 Base64 디코더를 사용하여 Base64 문자열을 즉시 디코딩할 수 있습니다. 비밀번호나 API 키 같은 민감한 데이터를 숨기기 위해 Base64를 절대 사용하지 마세요. 실제 보안이 필요하다면 AES-256이나 RSA/ECDSA를 이용한 비대칭 암호화 같은 제대로 된 암호화 알고리즘을 사용하세요.
디코딩한 Base64가 깨진 문자로 나타나는 이유는 무엇인가요?
이는 보통 Base64 문자열이 일반 텍스트가 아닌 이진 데이터(이미지, PDF 등)에서 인코딩되었을 때 발생합니다. 이진 데이터를 텍스트로 디코딩하면 깨진 문자가 나타납니다. 이진 콘텐츠를 디코딩할 때는 텍스트 보기 대신 파일 다운로드 옵션을 사용하세요. 또한 패딩 문제도 확인하세요. 유효한 Base64 문자열은 길이가 4의 배수여야 하며, 필요한 경우 = 문자로 패딩되어야 합니다.