사용 방법
인코딩 탭에서는 텍스트를 입력하면 Base64 문자열이 아래에 나타납니다. 디코딩 탭에서는 Base64 문자열이나 data: URL을 붙여넣으면 원래 텍스트로 바뀝니다. 버튼을 누를 필요가 없고, 입력을 고치는 동안에도 결과가 계속 갱신되며, 결과 옆의 복사 버튼으로 복사할 수 있습니다.
왜 btoa 대신 이 도구를 쓰나요
브라우저 기본 함수인 btoa는 라틴 문자(코드 포인트 0 ~ 255) 밖의 문자를 만나면 오류를 냅니다. 그래서 한글·한자·이모지가 섞인 문자열을 btoa로 인코딩하면 실패하거나 깨진 결과가 나옵니다. 이 도구는 TextEncoder로 문자열을 UTF-8 바이트로 바꾼 뒤 그 바이트를 Base64로 인코딩하므로, 어떤 언어의 문자든 안전하게 처리합니다. 디코딩도 마찬가지로 TextDecoder를 써서 원래 문자로 되돌립니다.
URL-safe Base64
표준 Base64는 +, /, = 세 문자를 씁니다. 이 문자들은 URL의 쿼리 문자열이나 파일 시스템에서 특별한 의미로 쓰일 수 있어 그대로 넣으면 문제가 생길 수 있습니다. URL-safe 옵션을 켜면 + → -, / → _로 바꾸고 끝의 = 패딩을 아예 붙이지 않습니다. JWT(JSON Web Token)나 URL 쿼리 파라미터에 값을 실을 때 흔히 이 방식을 씁니다. 디코딩할 때도 인코딩에 쓴 것과 같은 옵션을 선택해야 문자를 올바르게 해석합니다.
파일을 Base64로, Base64를 다시 파일로
인코딩 탭에서 입력 종류를 “파일”로 바꾸면 파일을 끌어다 놓거나 선택할 수 있습니다(최대 10MB). 변환 결과는 data:image/png;base64,iVBORw0KG...처럼 파일 형식 정보가 포함된 data URL로 나오며, 이 문자열을 그대로 이미지 태그나 CSS 배경으로 쓸 수 있습니다. 반대로 디코딩 탭에 이런 data URL이나 순수 Base64 문자열을 붙여넣으면, 다운로드 버튼으로 원래 파일을 다시 내려받을 수 있습니다. 파일 형식 정보가 없는 경우 확장자는 .bin으로 저장됩니다.
자주 나는 오류와 해결 방법
Base64가 아닌 문자(공백·줄바꿈은 자동으로 무시됩니다)가 섞여 있으면 어떤 문자가 문제인지 알려줍니다. 길이가 4의 배수가 아니거나 = 패딩 위치가 잘못되면 패딩 오류가 표시됩니다. 표준 Base64를 URL-safe로 디코딩하려 하면(또는 그 반대) 오류가 나므로, 인코딩할 때 쓴 옵션과 같은 옵션으로 디코딩하세요.
개인정보
입력한 텍스트와 파일은 이 브라우저 안에서만 처리되며 서버로 전송되지 않습니다. 페이지를 닫으면 모든 내용이 사라집니다.