Base64 एनकोडर और डिकोडर
एक मुफ़्त Base64 एनकोडर और डिकोडर। एनकोड करने के लिए टेक्स्ट पेस्ट करें, या मूल डेटा वापस पाने के लिए Base64 पेस्ट करें — URL-safe वर्णमाला, पंक्ति विभाजन और पैडिंग आपके नियंत्रण में। सब कुछ आपके ब्राउज़र में बदलता है, कुछ अपलोड नहीं होता।
एनकोड या डिकोड करें
नीचे अपना टेक्स्ट या अपना Base64 पेस्ट करें। टाइप करते ही यह आपके ब्राउज़र में बदल जाता है, और कुछ भी अपलोड या सेव नहीं होता।
बदलने के लिए ऊपर कुछ पेस्ट करें।
अभी कुछ नहीं बदला।
आपका टेक्स्ट JavaScript से स्थानीय रूप से बदला जाता है। वह कभी किसी सर्वर पर नहीं भेजा जाता, कभी लॉग नहीं होता और कभी सेव नहीं होता — ब्राउज़र स्टोरेज में भी नहीं।
वे बारीकियाँ जो उलझा देती हैं
= से भरता है। base64url आम तौर पर उन्हें हटा देता है। सख़्त डिकोडर बिना पैडिंग वाला रूप ठुकरा देता है, और इसीलिए एक ही स्ट्रिंग एक लाइब्रेरी में चलती है और दूसरी में नहीं।+ और / पर ख़त्म होती है। दोनों URL में असुरक्षित हैं, इसलिए base64url उन्हें - और _ से बदल देता है। एक को दूसरा समझकर डिकोड करने से बाइट चुपचाप बिगड़ जाते हैं।Base64 किसी भी बाइट को लेकर उन्हें 64 ऐसे वर्णों में फिर से लिखता है जो किसी भी टेक्स्ट माध्यम से बच निकलते हैं। यह न एन्क्रिप्शन है न संपीड़न — यह बाइनरी डेटा को वहाँ पहुँचाने का तरीका है जहाँ केवल टेक्स्ट चलता है, और इसकी कीमत है लगभग एक तिहाई बड़ा आकार। यह टूल दोनों दिशाओं में बदलता है और ठीक-ठीक दिखाता है कि क्या बदला।
मुख्य फ़ायदे
आम उपयोग
इसका उपयोग कैसे करें
- 1.दिशा चुनें। एनकोड के लिए टेक्स्ट → Base64 चुनें, या डिकोड के लिए Base64 → टेक्स्ट। data: URI का उपसर्ग अपने आप हट जाता है।
- 2.अपना इनपुट पेस्ट करें। टाइप करते ही बदलाव होता है। Base64 इनपुट में खाली जगह और पंक्ति-विराम नज़रअंदाज़ होते हैं, इसलिए टूटा हुआ MIME ब्लॉक भी सीधे पेस्ट हो जाता है।
- 3.विकल्प तय करें। JWT और क्वेरी स्ट्रिंग के लिए URL-safe वर्णमाला चालू करें, या MIME और PEM के लिए हर 76 वर्णों पर पंक्ति विभाजन।
- 4.कॉपी करें या वापसी जाँचें। परिणाम कॉपी करें, या उलटें दबाकर उसे दूसरी दिशा में वापस डालें और पुष्टि करें कि मूल डेटा लौट आता है।
वे बारीकियाँ जो उलझा देती हैं
Base64 आसान लगता है, जब तक कोई एनकोडर और डिकोडर इन चार बातों में से किसी एक पर अलग राय न रखें। हर एक इसकी असली वजह बनती है कि “हर जगह डिकोड होता है, बस यहाँ नहीं”।
= से भरता है। base64url आम तौर पर उन्हें हटा देता है। सख़्त डिकोडर बिना पैडिंग वाला रूप ठुकरा देता है, और इसीलिए एक ही स्ट्रिंग एक लाइब्रेरी में चलती है और दूसरी में नहीं।+ और / पर ख़त्म होती है। दोनों URL में असुरक्षित हैं, इसलिए base64url उन्हें - और _ से बदल देता है। एक को दूसरा समझकर डिकोड करने से बाइट चुपचाप बिगड़ जाते हैं।मुख्य विशेषताएँ
- दोनों दिशाओं में बदलता है, वापसी के लिए उलटने का बटन
- मानक और URL-safe (base64url) वर्णमालाएँ
- MIME और PEM के लिए हर 76 वर्णों पर वैकल्पिक पंक्ति विभाजन
- बिना पैडिंग, टूटी हुई और data: URI वाली इनपुट बिना शिकायत स्वीकार करता है
- इनपुट और आउटपुट का आकार तथा कूटलेखन की अतिरिक्त लागत दिखाता है
- डिकोड किए बाइट टेक्स्ट न होने पर हेक्स दृश्य पर चला जाता है
- पेज लोड होने के बाद ऑफ़लाइन चलता है; कोई खाता नहीं, कोई अपलोड नहीं
Base64 सुरक्षा नहीं है
यह साफ़-साफ़ कहना ज़रूरी है, क्योंकि यह गलती आम है और महँगी पड़ती है। Base64 एक कूटलेखन है, कोई सिफर नहीं। इसमें कोई कुंजी नहीं, यह कुछ छिपाता नहीं, और इसे उलटने में एक फ़ंक्शन कॉल लगती है। “Base64 में एनकोडेड” पासवर्ड, टोकन या API कुंजी हमलावर के लिए सादे टेक्स्ट में ही है।
सबसे साफ़ उदाहरण Authorization: Basic है, जो असल में उपयोगकर्ता:पासवर्ड का Base64 भर है — जो भी रिक्वेस्ट देख सकता है वह इसे पढ़ सकता है, और ठीक इसीलिए यह केवल HTTPS पर ही जाना चाहिए। बाइट को केवल-टेक्स्ट माध्यम से गुज़ारने के लिए Base64 इस्तेमाल करें। सामग्री की सुरक्षा चाहिए तो असली एन्क्रिप्शन या हस्ताक्षरित टोकन लें। विस्तृत बात — तीन बाइट चार वर्ण कैसे बनते हैं, दोनों वर्णमालाएँ, पैडिंग और आकार की कीमत — हमारी Base64 एन्कोडिंग और डिकोडिंग की गाइड में पढ़ें।
अक्सर पूछे जाने वाले प्रश्न
Base64 किस काम आता है?⌄
Base64 बाइनरी डेटा को उन माध्यमों से गुज़ारता है जो केवल टेक्स्ट लेते हैं: ईमेल अटैचमेंट, CSS और HTML में data: URI, PEM फ़ाइलों में प्रमाणपत्र और कुंजियाँ, JSON फ़ील्ड, और Authorization: Basic जैसे HTTP हेडर। जहाँ कच्चे बाइट बिगड़ जाते या ठुकरा दिए जाते, वहाँ Base64 उन्हें सही-सलामत पहुँचा देता है।
क्या Base64 एन्क्रिप्शन है?⌄
नहीं। एनकोड करना और एन्क्रिप्ट करना अलग चीज़ें हैं। Base64 में कोई कुंजी नहीं होती और कोई गोपनीयता नहीं मिलती — इसे डिकोड करना एक फ़ंक्शन कॉल है, जो यह पेज टाइप करते ही कर देता है। पासवर्ड, टोकन या किसी भी गुप्त चीज़ की सुरक्षा के लिए इसका उपयोग कभी न करें।
Base64 और base64url में क्या अंतर है?⌄
बस दो वर्ण और पैडिंग। मानक Base64 की वर्णमाला + और / पर ख़त्म होती है, जिनका URL में विशेष अर्थ है, इसलिए base64url - और _ इस्तेमाल करता है और आम तौर पर = पैडिंग छोड़ देता है। JWT base64url का प्रयोग करते हैं। एक रूप को दूसरा मानकर डिकोड करने से आउटपुट बिगड़ता है, इसीलिए यह टूल दोनों स्वीकार करता है और बताता है कि उसने कौन-सा देखा।
मेरा Base64 मूल से लंबा क्यों है?⌄
इनपुट के हर तीन बाइट आउटपुट के चार वर्ण बन जाते हैं, तो नतीजा पैडिंग और पंक्ति-विराम से पहले ही लगभग 33 % बड़ा होता है। केवल टेक्स्ट-सुरक्षित वर्णों के इस्तेमाल की यही कीमत है। आकार मायने रखता हो तो एनकोड करने से पहले संपीड़ित करें, बाद में नहीं — Base64 आउटपुट लगभग संपीड़ित नहीं होता।
मेरा डिकोड किया टेक्स्ट बेतुका क्यों दिखता है?⌄
आम तौर पर तीन में से एक वजह: डेटा कभी टेक्स्ट ही नहीं था (कोई तस्वीर या कुंजी, और तब यह टूल आपको बाइट दिखाता है), स्ट्रिंग base64url है जिसे मानक Base64 मानकर डिकोड किया जा रहा है या उल्टा, या मूल बाइट UTF-8 में नहीं थे। विवरण पैनल पहचानी गई वर्णमाला और पैडिंग बताता है, जिससे समस्या आम तौर पर तुरंत पकड़ में आ जाती है।