Base64 एन्कोडर

टेक्स्ट या हेक्स बाइट्स को ब्राउज़र में ही Base64 में बदलें। पूरा UTF-8 सपोर्ट (इमोजी, हिंदी, एक्सेंट), URL-सुरक्षित वर्णमाला, वैकल्पिक पैडिंग और 76 अक्षर की पंक्ति।

24 अक्षर · 28 बाइट्स (UTF-8)

0 अक्षर · 0 बाइट्स (UTF-8)

पूरी तरह आपके ब्राउज़र में चलता है। आपका डेटा कभी अपलोड नहीं होता।

Base64 एन्कोड क्या है?

टेक्स्ट को RFC 4648 में बताए गए Base64 में बदलता है। टेक्स्ट पहले UTF-8 बाइट्स में बदला जाता है, इसलिए इमोजी, हिंदी, चीनी या अरबी अक्षर भी सही एन्कोड होते हैं, और फिर बाइट्स को 64 अक्षरों की Base64 वर्णमाला में लिखा जाता है। आप टेक्स्ट की जगह कच्चे बाइट्स को हेक्स के रूप में भी पेस्ट कर सकते हैं।

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

  1. इनपुट में अपना टेक्स्ट टाइप या पेस्ट करें (कच्चे बाइट्स एन्कोड करने के लिए इनपुट फ़ॉर्मेट को हेक्स बाइट्स पर सेट करें)।
  2. चाहें तो URL-सुरक्षित वर्णमाला (- और _) चुनें, = पैडिंग जोड़ें का निशान हटाएँ, या हर 76 अक्षरों पर पंक्ति तोड़ें (MIME) चालू करें।
  3. Base64 परिणाम तुरंत आउटपुट में दिखाई देता है।
  4. कॉपी करें दबाएँ, या इनपुट के रूप में उपयोग करें से डिकोडिंग पर जाकर जाँचें कि नतीजा वापस वही मिलता है।

उदाहरण

इनपुट
Hello, World! Xin chào 👋
आउटपुट
SGVsbG8sIFdvcmxkISBYaW4gY2jDoG8g8J+Riw==

डिफ़ॉल्ट विकल्प: UTF-8 इनपुट, पैडिंग के साथ मानक वर्णमाला।

Base64 एन्कोड का उपयोग कब करें

Base64 तब इस्तेमाल करें जब बाइनरी या गैर-ASCII डेटा को सिर्फ़ टेक्स्ट वाले माध्यम से भेजना हो: JSON फ़ील्ड, डेटा URI, HTTP Basic auth हेडर, ईमेल (MIME) या कॉन्फ़िगरेशन फ़ाइलें। डेटा की सुरक्षा के लिए इसका इस्तेमाल न करें, क्योंकि Base64 सिर्फ़ एन्कोडिंग है और कोई भी इसे डिकोड कर सकता है। बड़ी फ़ाइलों के लिए भी इससे बचें, जहाँ 33% अतिरिक्त आकार मायने रखता है (फ़ाइलों के लिए Base64 फ़ाइल एन्कोडर इस्तेमाल करें)।

Base64 एन्कोड कैसे काम करता है

इनपुट को बाइट्स में बदला जाता है (UTF-8 के लिए TextEncoder, या हेक्स से पार्स करके)। हर 3 बाइट (24 बिट) को चार 6-बिट समूहों में बाँटा जाता है, और हर समूह A–Z a–z 0–9 + / के एक अक्षर से जुड़ता है। अगर आख़िरी समूह में 1 या 2 बाइट हों, तो आउटपुट को = से 4 अक्षरों के गुणज तक पैड किया जाता है। URL-सुरक्षित रूप (RFC 4648 §5, "base64url") + की जगह - और / की जगह _ लगाता है और आमतौर पर बिना पैडिंग के इस्तेमाल होता है। 76 अक्षरों की पंक्ति-सीमा MIME के नियम के अनुसार है।

सामान्य उपयोग मामले

  • user:password से HTTP Authorization: Basic हेडर बनाना
  • JSON या YAML में छोटी स्ट्रिंग या टोकन एम्बेड करना
  • JWT हेडर और पेलोड के लिए base64url मान बनाना
  • गैर-ASCII टेक्स्ट को एन्कोड करना ताकि वह पुराने ASCII-ओनली सिस्टम में सुरक्षित पहुँचे
  • यह जाँचना कि कोई UTF-8 स्ट्रिंग असल में कौन से बाइट्स बनाती है

सुरक्षा नोट

एन्कोडिंग आपके ब्राउज़र में ही होती है, कुछ भी अपलोड नहीं होता। याद रखें कि Base64 कोई गोपनीयता नहीं देता।

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

गैर-अंग्रेज़ी टेक्स्ट के लिए मेरा Base64 दूसरे टूल से अलग क्यों है?

कुछ टूल टेक्स्ट को Latin-1 या UTF-16 में एन्कोड करते हैं। यह टूल हमेशा UTF-8 इस्तेमाल करता है, जिसकी उम्मीद ब्राउज़र, btoa(unescape(encodeURIComponent(s))), Python का base64.b64encode(s.encode()) और ज़्यादातर API करते हैं।

Base64 और base64url में क्या अंतर है?

base64url में + और / की जगह - और _ होते हैं, इसलिए नतीजे को बिना percent-encoding के URL और फ़ाइल नामों में रखा जा सकता है। JWT में = पैडिंग के बिना base64url इस्तेमाल होता है।

क्या Base64 एन्क्रिप्शन है?

नहीं। यह सिर्फ़ डेटा का रूप बदलता है, कोई भी इसे डिकोड कर सकता है। डेटा गोपनीय हो तो असली एन्क्रिप्शन (जैसे AES-GCM) इस्तेमाल करें।

Base64 आउटपुट कितना बड़ा होता है?

हर तीन इनपुट बाइट के लिए चार आउटपुट अक्षर, यानी लगभग 33% बड़ा, और पंक्ति-विभाजन चालू हो तो नई पंक्तियाँ अलग से।

और श्रेणियाँ देखें