Glyph WidgetsGlyph Widgets
소개연락처블로그개인정보약관Ko-fi에서 후원하기

© 2026 Glyph Widgets. 모든 권리 보유.

·

100% 클라이언트 측 처리

블로그로 돌아가기

Base64 인코더/디코더|온라인 도구

Unicode 지원, URL 안전 모드, 배치 처리를 갖춘 Base64 인코더/디코더. 브라우저에서 실시간 변환, 로그인 없이 개인정보를 안전하게 보호합니다.

Glyph Widgets
2026년 2월 27일
15 min read
base64 encoderbase64 decoderbase64 onlineencode base64decode base64

Base64 Encoder/Decoder란?

Base64 Encoder/Decoder는 텍스트를 Base64 인코딩된 문자열로 변환하고, Base64 문자열을 다시 일반 텍스트로 디코딩합니다. Base64는 64개의 인쇄 가능한 ASCII 문자를 사용하여 바이너리 데이터를 표현하는 바이너리-텍스트 인코딩 방식으로, 텍스트만 처리하는 시스템 — 이메일 프로토콜, JSON 필드, HTTP 헤더, 데이터 URL — 을 통해 안전하게 전송할 수 있습니다. 이 도구는 두 가지 일반적인 문제를 해결합니다. 임의의 텍스트(Unicode 문자 포함)를 이식 가능한 ASCII 문자열로 인코딩하는 것과, 로그, API 응답 또는 JWT 페이로드의 Base64 문자열을 읽을 수 있는 텍스트로 디코딩하는 것입니다. 모든 처리는 표준 Web API를 사용하여 브라우저에서 이루어집니다. 서버로 전송되는 텍스트는 없으며 계정도 필요하지 않습니다.

주요 기능

  • 텍스트를 Base64로 인코딩 — btoa() 전에 올바른 바이트 처리를 위해 TextEncoder를 사용하여 일반 텍스트 문자열을 Base64 표현으로 변환합니다.
  • Base64를 텍스트로 디코딩 — atob()와 TextDecoder를 사용하여 과정을 역전시키고 멀티바이트 UTF-8 시퀀스를 올바르게 처리합니다.
  • 완전한 Unicode/UTF-8 지원 — 표준 btoa()는 Latin-1 범위 밖의 문자에서 실패하지만, 이 도구는 먼저 TextEncoder를 통해 텍스트를 인코딩하여 일본어, 아랍어, 이모지 및 기타 비ASCII 문자를 올바르게 인코딩하고 디코딩합니다.
  • URL 안전 Base64 모드 — 체크박스로 URL 안전 인코딩을 토글하여 +를 -로, /를 _로 교체하고 후행 = 패딩을 제거합니다. 디코더는 모드 체크박스 활성화 여부와 관계없이 URL 안전 입력을 자동으로 감지하고 정규화합니다.
  • 실시간 변환 — 입력을 멈춘 후 300ms 이내에 출력이 자동으로 업데이트되므로 간단한 변환에는 버튼을 클릭할 필요가 없습니다.
  • 결과를 클립보드에 복사 — Clipboard API를 사용하여 출력 텍스트를 복사하며, 구형 브라우저를 위한 폴백도 있습니다.
  • 텍스트 파일로 다운로드 — 인코딩 시 encoded.b64, 디코딩 시 decoded.txt로 출력을 저장합니다.
  • 입력/출력 교체 — 현재 출력을 입력 필드로 이동시키고 한 번의 클릭으로 반대 모드(인코딩 → 디코딩 또는 디코딩 → 인코딩)로 전환합니다.
  • 배치 모드 — 한 줄에 하나씩 여러 항목을 처리하고, 행별 오류 보고와 함께 테이블에 결과를 표시합니다.

Base64 Encoder/Decoder 사용 방법

1단계: 인코딩 또는 디코딩 모드 선택

도구 상단의 "Encode"와 "Decode" 레이블이 붙은 두 버튼으로 활성 모드를 선택합니다. 현재 활성 모드가 강조 표시됩니다. 이 버튼 아래의 "URL-safe mode" 체크박스는 출력이 URL 안전 알파벳을 사용할지 여부를 제어합니다. 텍스트를 입력하기 전후에 토글할 수 있으며, 변경 시 변환이 자동으로 재실행됩니다.

2단계: 텍스트 입력

인코딩 모드에서는 왼쪽 패널이 "Text Input"으로 표시됩니다. 인코딩할 텍스트를 붙여넣거나 입력하세요. 문자 수가 실시간으로 업데이트됩니다. 디코딩 모드에서는 왼쪽 패널이 "Base64 Input"으로 표시됩니다. 여기에 Base64 문자열을 붙여넣으세요. 도구는 표준 Base64(+, /, = 문자 포함)와 URL 안전 Base64(- 및 _ 포함) 모두를 처리하며, 어떤 형식인지 지정할 필요가 없습니다.

3단계: 출력 읽기 또는 트리거

마지막 키 입력 후 300ms 이내에 오른쪽 패널에 출력이 나타납니다(도구는 디바운스된 자동 변환을 사용합니다). 메인 액션 버튼을 클릭하거나 Ctrl+Enter / Cmd+Enter를 눌러 즉시 변환할 수도 있습니다. 출력 필드는 읽기 전용이며 인코딩되거나 디코딩된 결과를 표시합니다.

예 — 인코딩:

  • 입력: Hello, World! 🌍
  • 모드: Encode, URL-safe: 꺼짐
  • 출력: SGVsbG8sIFdvcmxkISDwn4yN

예 — 디코딩:

  • 입력: SGVsbG8sIFdvcmxkISDwn4yN
  • 모드: Decode
  • 출력: Hello, World! 🌍

4단계: 출력 활용

입력/출력 패널 아래에 네 개의 액션 버튼이 나타납니다:

  • Swap / Switch Mode — 현재 출력을 가져와 입력 필드에 배치하고 모드를 전환합니다. 방금 무언가를 인코딩하고 디코딩이 올바르게 작동하는지 확인하고 싶을 때 유용합니다.
  • Copy — 출력을 클립보드에 복사하고 확인 토스트를 표시합니다.
  • Download — 출력을 파일(모드에 따라 encoded.b64 또는 decoded.txt)로 저장합니다.
  • Clear — 입력과 출력 필드를 모두 초기화합니다.

5단계: 여러 항목에 배치 모드 사용

"Batch Mode" 토글을 클릭하여 배치 처리로 전환합니다. 배치 입력 영역에 한 줄에 하나씩 항목을 입력합니다. "Process All"을 클릭하여 현재 모드와 URL 안전 설정을 사용해 각 줄을 인코딩하거나 디코딩합니다. 결과는 원본 입력, 처리된 출력 또는 실패한 행의 오류 메시지를 보여주는 테이블에 표시됩니다. "Copy All Results" 버튼은 모든 출력 값을 줄바꿈으로 연결하여 복사합니다.

실용적인 예시

HTTP Basic Auth용 API 자격증명 인코딩

HTTP Basic Authentication은 username:password 형식의 자격증명을 Base64로 인코딩하여 Authorization 헤더에 배치할 것을 요구합니다. 인코더에 myuser:s3cr3tpassword를 입력하면 결과 — 예를 들어 bXl1c2VyOnMzY3IzdHBhc3N3b3Jk — 가 Authorization: Basic bXl1c2VyOnMzY3IzdHBhc3N3b3Jk로 헤더에 직접 들어갑니다. Basic Auth 자격증명에는 ASCII 문자만 포함되므로 여기서는 URL 안전 모드가 필요하지 않습니다.

Base64 인코딩된 JSON 페이로드 디코딩

OAuth 또는 SAML 토큰을 디버깅할 때 응답에 포함된 Base64 인코딩된 JSON 블롭을 읽어야 하는 경우가 많습니다. 인코딩된 문자열을 디코더에 붙여넣습니다. 문자열이 URL 안전 인코딩을 사용하는 경우(.으로 세그먼트를 구분하는 JWT 페이로드에서 일반적), 도구는 -와 _ 문자를 자동으로 감지하고 디코딩 전에 정규화하므로 알파벳을 수동으로 변환할 필요가 없습니다. 디코딩된 JSON이 출력 패널에 표시되며 JSON 포맷터에서 추가 검사를 위해 복사할 수 있습니다.

로그 항목 배치 디코딩

서버 로그에는 보안상의 이유로 Base64 인코딩된 사용자 입력이나 토큰이 포함될 때가 있습니다. 배치 모드로 전환하고, 인코딩된 로그 값을 한 줄에 하나씩 붙여넣은 후 "Process All"을 클릭합니다. 결과 테이블은 각 디코딩된 값을 원본 옆에 표시하여 각 항목을 수동으로 디코딩하지 않고도 패턴이나 특정 콘텐츠를 쉽게 확인할 수 있습니다.

팁과 모범 사례

디코더는 URL 안전 입력을 자동으로 처리합니다. Base64 문자열에 - 또는 _ 문자가 포함된 경우, 디코더는 이를 URL 안전 Base64로 인식하고 디코딩 전에 +와 /로 정규화한 다음 필요에 따라 = 패딩을 다시 추가합니다. 디코딩 시에는 URL 안전 체크박스를 토글할 필요가 없습니다 — 출력이 사용할 알파벳을 제어하기 위해 인코딩 시에만 관련이 있습니다.

쿼리 문자열과 쿠키의 토큰에는 URL 안전 모드를 사용하세요. 표준 Base64는 +(URL에서 %2B로 인코딩됨)와 /(%2F로 인코딩됨)를 사용하며 = 패딩이 포함될 수 있습니다. 이 중 하나라도 URL 컨텍스트에서 파싱 문제를 일으킬 수 있습니다. URL 안전 모드는 세 가지 문제를 모두 해결합니다.

스왑으로 왕복을 검증하세요. 인코딩 후 "Swap / Switch Mode"를 클릭합니다. 인코딩된 출력이 디코딩 대상으로 입력 필드로 이동하고 모드가 Decode로 전환됩니다. 변환을 실행하면 원본 입력이 정확하게 재현되어 인코딩이 올바르게 왕복했음을 확인할 수 있습니다.

반복 변환에는 클릭보다 Ctrl+Enter가 더 빠릅니다. 키보드 단축키 Ctrl+Enter(Mac에서는 Cmd+Enter)는 300ms 디바운스를 기다리거나 마우스를 잡지 않고도 즉시 변환을 트리거합니다.

일반적인 문제 및 트러블슈팅

"Invalid Base64 string. Please check your input." — 정규화 후 입력에 Base64 알파벳에서 유효하지 않은 문자가 포함되어 있습니다. 일반적인 원인: 문자열 내부의 여분의 공백(끝부분이 아닌 — 트리밍이 자동으로 적용됨), 보이지 않는 문자를 도입한 손상된 복사-붙여넣기, 또는 적절한 정규화 없는 Base64URL 문자열. 문자열에 A-Z, a-z, 0-9, +, /, =(표준) 또는 -, _(패딩 없음, URL 안전)만 포함되어 있는지 확인하세요.

출력이 올바르게 보이지만 예상보다 짧습니다. — 인코딩 중 URL 안전 모드가 활성화되어 있으면 = 패딩이 제거됩니다. 패딩이 필요한 디코더는 이 출력에서 실패합니다. 출력에 패딩을 포함시키려면 URL 안전 모드를 끄세요.

이모지와 비ASCII 문자가 다른 도구에서 깨진 출력을 생성합니다. — 이 도구는 Base64 인코딩 전에 TextEncoder(UTF-8 바이트)를 통해 Unicode 텍스트를 인코딩합니다. 일부 도구는 Latin-1 문자만 처리하는 원시 문자열에 직접 btoa()를 사용합니다. 대상 디코더가 Latin-1을 가정하는 대신 UTF-8 바이트 시퀀스도 처리하는지 확인하세요.

"Please enter text" — 입력 필드가 비어 있는 상태에서 변환을 클릭하거나 키보드 단축키를 눌렀습니다. 변환 전에 텍스트를 추가하세요.

개인정보 및 보안

Base64 Encoder/Decoder는 완전히 브라우저에서 실행됩니다. 입력 텍스트는 네트워크 요청 없이 브라우저 기본 API(TextEncoder, btoa, atob, TextDecoder)를 사용하여 처리됩니다. 비밀번호, API 키 또는 개인 토큰과 같은 민감한 데이터는 장치를 벗어나지 않습니다. 도구는 인코딩 또는 디코딩 작업을 위한 서버 구성 요소가 없습니다. 브라우저에서 페이지가 로드되면 오프라인에서도 작동합니다.

자주 묻는 질문

Base64 Encoder/Decoder는 무료인가요? 네. 이 도구는 계정, 가입, 사용 제한 없이 완전히 무료입니다.

오프라인에서 사용할 수 있나요? 네. 페이지가 로드되면 모든 인코딩과 디코딩이 브라우저에서 로컬로 실행됩니다. 실제 변환에는 인터넷 연결이 필요하지 않습니다.

여기에 입력한 데이터는 안전한가요? 네. 도구는 인코딩이나 디코딩을 위한 네트워크 요청을 전혀 하지 않습니다. 텍스트는 브라우저 탭 안에 남아 있습니다. 네트워크 동작을 확인할 수 없는 경우 프로덕션 시크릿 인코딩에 온라인 도구를 사용하지 마세요 — 이 도구는 브라우저 DevTools에서 감사할 수 있습니다(변환 중 Network 탭에 아웃바운드 요청이 표시되지 않습니다).

표준 Base64와 URL 안전 Base64의 차이점은 무엇인가요? 표준 Base64는 62번째와 63번째 문자로 +와 /를 사용하며 =로 출력을 4자의 배수로 패딩합니다. URL 안전 Base64는 +를 -로, /를 _로 바꾸고 = 패딩을 생략합니다. URL 안전 변형은 퍼센트 인코딩 없이 URL, 쿼리 파라미터, HTTP 헤더에 포함될 수 있습니다.

중국어나 이모지 같은 Unicode 문자를 처리할 수 있나요? 네. 인코더는 UTF-8 바이트를 생성하기 위해 TextEncoder를 통해 텍스트를 처리한 다음 해당 바이트를 Base64로 인코딩합니다. 디코더는 이를 역전시킵니다: Base64를 바이트로 디코딩한 다음 TextDecoder를 통해 원본 Unicode 문자열을 복원합니다. 이를 통해 모든 Unicode 문자를 올바르게 처리합니다.

변환을 위한 키보드 단축키는 무엇인가요? Windows/Linux에서는 Ctrl+Enter, macOS에서는 Cmd+Enter를 눌러 즉시 변환을 트리거합니다.

파일을 Base64로 인코딩할 수 있나요? 텍스트 모드 도구는 문자열의 텍스트 내용을 인코딩합니다. 이미지와 같은 바이너리 파일을 Base64로 인코딩하려면 파일 업로드를 허용하고 원시 바이너리 데이터를 읽는 도구를 사용하세요. 현재 도구의 입력 필드는 텍스트만 허용합니다.

Swap 버튼은 무엇을 하나요? Swap 버튼은 현재 출력을 가져와 입력 필드에 배치하고 반대 모드로 전환합니다. 인코딩 중이었다면 디코딩으로 전환되고 그 반대도 마찬가지입니다. 이는 빠른 왕복 검증에 유용합니다.

배치 모드는 어떻게 작동하나요? 배치 입력 텍스트 영역에 한 줄에 하나씩 항목을 입력합니다. "Process All"을 클릭하면 현재 모드(인코딩 또는 디코딩)와 URL 안전 설정을 사용하여 각 줄이 처리됩니다. 결과는 테이블에 표시됩니다. 각 행에 원본 입력과 처리된 출력, 또는 해당 줄이 실패한 경우 오류 메시지가 표시됩니다. "Copy All Results"로 모든 결과를 한 번에 복사할 수 있습니다.

Base64 문자열이 = 기호 없이 끝나는 이유는 무엇인가요? 인코딩 중 URL 안전 모드가 사용되었거나(패딩을 제거함), 원본 데이터 길이가 우연히 3바이트의 배수였거나(패딩이 필요 없음) 둘 중 하나입니다. 둘 다 유효합니다. 디코더는 디코딩 전에 필요에 따라 패딩을 다시 추가합니다.

관련 도구

JWT Encoder/Decoder는 JWT 헤더와 페이로드 세그먼트에 내부적으로 Base64URL 인코딩을 사용합니다. URL Encoder/Decoder는 쿼리 문자열의 퍼센트 인코딩을 처리하여 웹 컨텍스트에서 Base64 URL 안전 인코딩을 보완합니다. JSON Formatter는 JSON을 포함하는 디코딩된 Base64 페이로드를 읽는 데 유용합니다.

지금 Base64 Encoder/Decoder 사용해 보기: Base64 Encoder/Decoder

마지막 업데이트: 2026년 2월 27일

계속 읽기

더 많은 글Base64 Encoder/Decoder 사용해 보기