Base64 인코딩 / 디코딩
텍스트와 Base64 상호 변환, URL-safe 형식 지원
로컬 실행
loading…
이 도구에 대해
Base64는 임의의 바이트를 64개 문자로 이루어진 알파벳으로 변환해 JSON, URL, HTTP 헤더, 이메일에 붙여넣어도 살아남게 만듭니다. 이 도구는 양방향으로 변환합니다. 텍스트를 입력하거나 붙여넣어 인코딩하고, 인코딩된 문자열을 붙여넣어 원본을 되돌립니다. 양방향 모두 UTF-8을 올바르게 처리하므로 이모지와 비라틴 문자도 깨지지 않고 왕복합니다.
디코더는 의도적으로 관대하게 만들어졌습니다. URL 안전 알파벳(+ 와 / 대신 - 와 _)을 받아들이고, 공백과 줄바꿈을 제거하며, 디코딩 전에 빠진 패딩을 복원합니다. 이 세 가지가 바로, 충분히 복원 가능한 입력을 엄격한 디코더가 거부하게 만드는 가장 흔한 원인입니다. 디코딩된 바이트가 유효한 UTF-8 텍스트가 아니면 깨진 글자를 출력하는 대신 그 사실을 알려주는데, 이는 보통 페이로드가 이미지 같은 바이너리 데이터라는 뜻입니다.
모든 처리는 페이지 안에서 이루어집니다. 여기서 토큰이나 자격 증명을 디코딩해도 어디로도 전송되지 않습니다.
자주 묻는 질문
- 왜 제 Base64 문자열이 = 기호로 끝나나요?
- Base64는 3바이트를 4문자로 인코딩하므로, 입력 길이가 3의 배수가 아니면 그룹을 맞추기 위해 출력에 = 패딩이 붙습니다. 패딩은 데이터를 담지 않으며, 제거된 경우 이 디코더가 자동으로 복원합니다.
- 표준 Base64와 URL 안전 Base64는 무엇이 다른가요?
- 표준 Base64는 + 와 / 를 사용하는데, 이 문자들은 URL에서 특별한 의미를 가지므로 다시 이스케이프해야 합니다. URL 안전 변형(RFC 4648 §5)은 이를 - 와 _ 로 바꾸고 보통 패딩도 생략합니다. 예를 들어 JWT는 URL 안전 형식을 사용합니다. 여기의 인코더는 두 형식 모두 제공하며, 디코더는 어느 쪽이든 자동으로 받아들입니다.
- Base64는 암호화인가요?
- 아닙니다. Base64는 키가 없는 가역 인코딩이며 누구나 디코딩할 수 있습니다. 전송 중 손상으로부터 데이터를 보호할 뿐, 읽히는 것을 막지는 못합니다. 기밀성이 필요하다면 먼저 암호화한 뒤 암호문을 인코딩하세요.
- 왜 디코딩 결과가 유효한 UTF-8이 아니라고 나오나요?
- 문자열 자체는 성공적으로 디코딩됐지만, 결과 바이트가 텍스트가 아니라는 뜻입니다. PNG, PDF, 혹은 압축/암호화된 데이터인 경우가 많습니다. 이런 내용을 텍스트 상자에 디코딩하면 깨진 글자만 보이므로, 도구가 대신 명확히 알려줍니다.