Base64 एनकोडर और डिकोडर

टेक्स्ट और फ़ाइलों को Base64 में और वापस बदलें। Unicode को सही तरह संभालता है, URL-safe base64url समर्थित है, और ठीक-ठीक बताता है कि गलत इनपुट क्यों फ़ेल हुआ।

आपके ब्राउज़र में चलता हैसाइन-अप ज़रूरी नहींकुछ भी अपलोड नहीं होता

Base64 आउटपुट

Base64 एनकोड / डिकोड का उपयोग कैसे करें

  1. एनकोड या डिकोड चुनें।
  2. अपना इनपुट टाइप या पेस्ट करें। आपके टाइप करते ही नतीजा अपडेट होता है।
  3. URL, JWT और फ़ाइल नामों के लिए URL-safe पर टिक करें ताकि - और _ इस्तेमाल हों, और चाहें तो = पैडिंग हटा दें।
  4. इमेज या फ़ॉन्ट एम्बेड करने के लिए फ़ाइल एनकोड करें पर क्लिक करें और data URI के रूप में आउटपुट चालू रखें।
  5. नतीजा कॉपी करें, या उसे उल्टी दिशा में वापस डालने के लिए अदला-बदली इस्तेमाल करें।

Base64 कैसे काम करता है

Base64 बाइनरी डेटा को 64 प्रिंट होने वाले ASCII अक्षरों से दर्शाता है: A-Z, a-z, 0-9, + और /। इनपुट के हर 3 बाइट 4 अक्षर बनते हैं, इसलिए एनकोड किया गया डेटा लगभग 33% बड़ा होता है। जब इनपुट की लंबाई 3 का गुणज नहीं होती, तो एक या दो = चिह्न आउटपुट में पैडिंग करते हैं। Base64 एक एनकोडिंग है, एन्क्रिप्शन नहीं: इसे कोई भी डिकोड कर सकता है।

स्टैंडर्ड Base64 बनाम base64url

+ और / अक्षरों का URL और फ़ाइल पाथ में विशेष अर्थ होता है। RFC 4648 §5 का URL-safe अक्षर-समूह इन्हें - और _ से बदलता है और आमतौर पर पैडिंग छोड़ देता है। JWT, कई OAuth पैरामीटर और कुछ क्लाउड API base64url इस्तेमाल करते हैं। यहाँ का डिकोडर दोनों अक्षर-समूह अपने-आप स्वीकार करता है।

Unicode और btoa() की दिक्कत

ब्राउज़र में btoa("café") चलता है लेकिन btoa("日本") एरर देता है, क्योंकि btoa सिर्फ़ Latin-1 स्वीकार करता है। सही तरीका है पहले टेक्स्ट को UTF-8 बाइट्स में एनकोड करना, जो यह टूल करता है। JavaScript में: btoa(String.fromCharCode(...new TextEncoder().encode(text))), या Node.js में Buffer.from(text).toString('base64')।

आम उपयोग

  • CSS या HTML में छोटी इमेज और फ़ॉन्ट के लिए data URI
  • HTTP Basic authentication हेडर (user:password एनकोड किया हुआ)
  • JSON पेलोड और ईमेल (MIME) में बाइनरी अटैचमेंट
  • Kubernetes Secrets, जो वैल्यू को Base64 के रूप में स्टोर करते हैं

अक्सर पूछे जाने वाले सवाल

क्या Base64 एन्क्रिप्शन है?
नहीं। Base64 बिना की वाली, उलटी जा सकने वाली एनकोडिंग है। इसे कोई भी डिकोड कर सकता है, इसलिए पासवर्ड या सीक्रेट छिपाने के लिए इसका कभी इस्तेमाल न करें।
मेरा Base64 डिकोड क्यों नहीं हो रहा?
आम कारण हैं अक्षर-समूह से बाहर के अक्षर (अक्सर कॉपी करते समय आया कोई कोट या लाइन ब्रेक), अधूरी स्ट्रिंग, या ऐसा टेक्स्ट मिला होना जो Base64 नहीं है। एरर मैसेज पहली समस्या की स्थिति दिखाता है।
डिकोड किया गया आउटपुट बेतुका दिखता है। क्यों?
डेटा शायद टेक्स्ट नहीं बल्कि बाइनरी है, जैसे इमेज, कंप्रेस्ड फ़ाइल या एन्क्रिप्टेड बाइट्स। टूल इसे पहचानता है, hex dump दिखाता है, और आपको raw बाइट्स डाउनलोड करने देता है।
क्या मुझे = पैडिंग की ज़रूरत है?
इस टूल समेत कई डिकोडर इसके बिना भी काम करते हैं, क्योंकि लंबाई से पता चल जाता है कि कितने बाइट कम हैं। कुछ सख्त डिकोडर इसे ज़रूरी मानते हैं। JWT और base64url के ज़्यादातर उपयोग पैडिंग छोड़ देते हैं।
क्या मेरी फ़ाइलें अपलोड होती हैं?
नहीं। फ़ाइलें ब्राउज़र के File API से लोकली पढ़ी और एनकोड की जाती हैं। किसी सर्वर पर कुछ नहीं भेजा जाता।

संबंधित टूल्स