Base64 एक बाइनरी-से-टेक्स्ट एन्कोडिंग स्कीम है जो 64 प्रिंट करने योग्य ASCII वर्णों के एक सेट का उपयोग करके बाइनरी डेटा का प्रतिनिधित्व करती है। इसे उन प्रणालियों के माध्यम से बाइनरी डेटा को सुरक्षित रूप से परिवहन करने के लिए डिज़ाइन किया गया था जो केवल टेक्स्ट संभालती हैं — जैसे ईमेल (MIME), HTTP हेडर और XML। "Base64" नाम एन्कोडिंग वर्णमाला में उपयोग किए गए 64 वर्णों से आता है।
एन्कोडिंग तीन बाइट इनपुट (24 बिट) लेकर उन्हें चार 6-बिट समूहों में विभाजित करके काम करती है। प्रत्येक 6-बिट मान Base64 वर्णमाला में एक अक्षर से मैप होता है। यदि इनपुट की लंबाई तीन की गुणज नहीं है, तो आउटपुट को चार की गुणज बनाने के लिए पैडिंग वर्ण (=) जोड़े जाते हैं। परिणाम एक ऐसी स्ट्रिंग होती है जो मूल डेटा से लगभग 33% बड़ी होती है, लेकिन सादे पाठ के रूप में सुरक्षित रूप से प्रसारित की जा सकती है।
इस टूल का उपयोग क्यों करें?
यह एन्कोडर Unicode टेक्स्ट को सही ढंग से संभालता है, मानक और URL-safe दोनों वेरिएंट का समर्थन करता है, और पूरी तरह से आपके ब्राउज़र में एन्कोड करता है — आपका डेटा कभी भी आपकी मशीन नहीं छोड़ता।
⚡
तत्काल एन्कोडिंग
परिणाम टाइप करते समय दिखाई देते हैं। क्लिक करने के लिए कोई बटन नहीं, सर्वर प्रतिक्रिया की कोई प्रतीक्षा नहीं।
🔗
URL-safe टॉगल
एक क्लिक से मानक (+/) और URL-safe (-_) एन्कोडिंग के बीच स्विच करें। URL-safe वेरिएंट के लिए पैडिंग स्वचालित रूप से हटा दी जाती है।
🔒
पूरी तरह से क्लाइंट-साइड
सभी एन्कोडिंग नेटिव btoa API और TextEncoder का उपयोग करके आपके ब्राउज़र में स्थानीय रूप से होती है। किसी सर्वर को कुछ भी नहीं भेजा जाता।
🎛️
Unicode समर्थन
एन्कोडिंग से पहले encodeURIComponent का उपयोग करके इमोजी, CJK वर्णों और किसी भी UTF-8 टेक्स्ट सहित पूर्ण Unicode को सही ढंग से संभालता है।
इस ऑनलाइन Base64 एन्कोडर का उपयोग कैसे करें
कोई अकाउंट नहीं, कोई इंस्टॉलेशन नहीं, कोई अपलोड नहीं — टेक्स्ट पेस्ट करें और एन्कोडेड आउटपुट तुरंत दिखाई देता है।
1
अपना टेक्स्ट पेस्ट करें या टाइप करें
इनपुट फ़ील्ड पर क्लिक करें और कोई भी टेक्स्ट पेस्ट करें — सामान्य स्ट्रिंग, JSON पेलोड, API कीज़, ईमेल पते, या कोई भी UTF-8 सामग्री। टाइप करते समय एन्कोडिंग लाइव अपडेट होती है।
2
अपना वेरिएंट चुनें
MIME, HTTP Basic Auth और सामान्य उपयोग के लिए Standard (RFC 4648) चुनें। JWT टोकन, क्वेरी स्ट्रिंग पैरामीटर, फ़ाइल नामों और किसी भी संदर्भ के लिए URL-safe चुनें जहाँ + या / URL पार्सिंग को तोड़ देगा।
3
आउटपुट कॉपी करें
Base64 स्ट्रिंग को एक क्लिक में क्लिपबोर्ड पर भेजने के लिए Copy पर क्लिक करें। आउटपुट सीधे आपके कोड, कॉन्फ़िग फ़ाइल या API रिक्वेस्ट में पेस्ट करने के लिए तैयार है।
4
अपने एप्लिकेशन में उपयोग करें
एन्कोडेड स्ट्रिंग जहाँ भी ज़रूरत हो वहाँ पेस्ट करें — Authorization हेडर, data URI, JSON फ़ील्ड, एनवायरनमेंट वेरिएबल, या Kubernetes सीक्रेट। URL-safe आउटपुट के लिए, पैडिंग पहले से हटा दी गई है।
Base64 वर्णमाला
Base64 64 वर्णों का उपयोग करता है: बड़े अक्षर A–Z (मान 0–25), छोटे अक्षर a–z (26–51), अंक 0–9 (52–61), और मान 62 और 63 के लिए दो विशेष वर्ण। मानक RFC 4648 वेरिएंट + और / का उपयोग करता है; URL-safe वेरिएंट URL और फ़ाइलनामों में टकराव से बचने के लिए इन्हें - और _ से बदल देता है।
A–Z
0–25
ABCDEFGHIJKLMNOPQRSTUVWXYZ
a–z
26–51
abcdefghijklmnopqrstuvwxyz
0–9
52–61
0123456789
+, /
62–63
मानक RFC 4648 — URL और फ़ाइलनामों में उपयोग से बचें
-, _
62–63
URL-safe वेरिएंट (RFC 4648 §5) — URL और फ़ाइलनामों में सुरक्षित
मानक बनाम URL-safe Base64
मानक Base64 वर्णमाला + और / का उपयोग करती है जो URL और फ़ाइल पथों में विशेष वर्ण हैं। URL-safe वेरिएंट इन्हें - और _ से बदलता है और आमतौर पर पैडिंग = वर्णों को छोड़ देता है। JWT टोकन, क्वेरी स्ट्रिंग में डेटा, फ़ाइलनाम और किसी भी संदर्भ जहां + या / की गलत व्याख्या हो सकती है, के लिए URL-safe एन्कोडिंग का उपयोग करें।
इनपुट
मानक
URL-safe
Man
TWFu
TWFu
Hello
SGVsbG8=
SGVsbG8
A
QQ==
QQ
1+1=2
MSsxPTI=
MSsxPTI
सामान्य उपयोग के मामले
ईमेल अटैचमेंट (MIME)
SMTP को 7-बिट ASCII टेक्स्ट के लिए डिज़ाइन किया गया था। Base64 एन्कोडिंग का उपयोग MIME मानक द्वारा ईमेल संदेशों में बाइनरी अटैचमेंट (चित्र, PDF, निष्पादन योग्य) को सुरक्षित रूप से एम्बेड करने के लिए किया जाता है।
डेटा URI
डेटा URI का उपयोग करके चित्रों, फ़ॉन्ट और अन्य एसेट को सीधे HTML या CSS में एम्बेड करें: data:image/png;base64,... — छोटे संसाधनों के लिए अतिरिक्त HTTP अनुरोध समाप्त होते हैं।
API पेलोड
REST API को अक्सर JSON में एम्बेड करते समय बाइनरी फ़ील्ड (फ़ाइल अपलोड, क्रिप्टोग्राफ़िक कुंजियाँ, प्रमाण पत्र) को Base64-एन्कोड करने की आवश्यकता होती है, क्योंकि JSON में कोई बाइनरी प्रकार नहीं है।
कॉन्फ़िगरेशन फ़ाइलें
Kubernetes सीक्रेट, पर्यावरण चर और CI/CD कॉन्फ़िगरेशन आमतौर पर एस्केपिंग समस्याओं से बचने के लिए बाइनरी सीक्रेट और प्रमाण पत्र को Base64 स्ट्रिंग के रूप में संग्रहीत करते हैं।
HTTP Basic Auth
HTTP Authorization: Basic हेडर क्रेडेंशियल को Base64(उपयोगकर्ता नाम:पासवर्ड) के रूप में एन्कोड करता है। यह एन्क्रिप्शन नहीं है — यह केवल हेडर में परिवहन के लिए एन्कोडिंग प्रदान करता है।
JWT टोकन
JSON Web Token हेडर और पेलोड सेगमेंट को एन्कोड करने के लिए URL-safe Base64 (base64url) का उपयोग करते हैं, जिससे टोकन को बिना एस्केपिंग के URL और HTTP हेडर में सुरक्षित रूप से उपयोग किया जा सकता है।
Base64 का उपयोग कब नहीं करना चाहिए
Base64 एक ट्रांसपोर्ट एन्कोडिंग है, सुरक्षा तंत्र नहीं। ये सबसे सामान्य गलत उपयोग हैं जो प्रोडक्शन में वास्तविक समस्याएं पैदा करते हैं:
✕
सुरक्षा या एन्क्रिप्शन के लिए नहीं
Base64 आसानी से रिवर्सिबल है — इसे डीकोड करने के लिए कोई कुंजी या पासवर्ड आवश्यक नहीं है। जो कोई भी Base64 स्ट्रिंग देखता है वह इसे सेकंडों में डीकोड कर सकता है। Base64 को कभी भी एन्क्रिप्शन, हैशिंग या एक्सेस कंट्रोल के विकल्प के रूप में उपयोग न करें।
✕
कम्प्रेशन के लिए नहीं
Base64 आउटपुट का आकार ~33% बढ़ा देता है। यह कम्प्रेशन के विपरीत है। पेलोड साइज़ कम करने के लिए इसका उपयोग न करें — इसके बजाय gzip, Brotli या zstd का उपयोग करें।
✕
बाइनरी फ़ाइल स्टोरेज के लिए नहीं
डेटाबेस या JSON API में बड़ी बाइनरी फ़ाइलों को Base64 के रूप में स्टोर करना काफी स्टोरेज और मेमोरी बर्बाद करता है। ऑब्जेक्ट स्टोरेज (S3, R2, Cloudflare) का उपयोग करें और बाइनरी को सीधे सर्व करें।
कोड उदाहरण
लोकप्रिय भाषाओं और वातावरणों में स्ट्रिंग को Base64 में एन्कोड करने का तरीका:
JavaScript (browser)
// Standard Base64
const encoded = btoa(unescape(encodeURIComponent(text)))
// URL-safe Base64 (no padding)
const urlSafe = btoa(unescape(encodeURIComponent(text)))
.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
ऑनलाइन कई Base64 एन्कोडर मौजूद हैं। डेवलपर के दैनिक उपयोग के लिए मुख्य अंतर गोपनीयता, शुद्धता और वेरिएंट सपोर्ट हैं।
पूरी तरह से प्राइवेट — कोई सर्वर नहीं
यह एन्कोडर नेटिव btoa API और TextEncoder का उपयोग करके पूरी तरह से आपके ब्राउज़र में चलता है। आपका टेक्स्ट कभी भी किसी सर्वर को नहीं भेजा जाता — API कीज़, टोकन और सीक्रेट के लिए सुरक्षित।
Unicode-सही एन्कोडिंग
कई ऑनलाइन Base64 टूल चुपचाप non-ASCII इनपुट को दूषित कर देते हैं। यह टूल पहले UTF-8 बाइट्स में एन्कोड करके — इमोजी, CJK, अरबी और सभी UTF-8 टेक्स्ट सहित — पूर्ण Unicode को सही ढंग से संभालता है।
एक ही जगह दोनों वेरिएंट
अधिकांश टूल केवल स्टैंडर्ड Base64 प्रदान करते हैं। यह एन्कोडर स्वचालित पैडिंग हैंडलिंग के साथ स्टैंडर्ड (+/) और URL-safe (-_) दोनों वेरिएंट प्रदान करता है — कोई मैनुअल कैरेक्टर रिप्लेसमेंट ज़रूरी नहीं।
अक्सर पूछे जाने वाले प्रश्न
क्या Base64 एन्क्रिप्शन के समान है?
नहीं। Base64 एक एन्कोडिंग स्कीम है, एन्क्रिप्शन नहीं। यह किसी के लिए भी तुच्छ रूप से उलटा जा सकता है — इसे डीकोड करने के लिए कोई कुंजी या पासवर्ड आवश्यक नहीं है। संवेदनशील डेटा की सुरक्षा के लिए कभी भी Base64 का उपयोग न करें। उस उद्देश्य के लिए उचित एन्क्रिप्शन (AES, RSA) का उपयोग करें।
Base64 आउटपुट = या == से क्यों समाप्त होता है?
Base64 3 बाइट (24 बिट) के समूहों में काम करता है, 4 Base64 वर्ण उत्पन्न करता है। यदि इनपुट की लंबाई 3 का गुणज नहीं है, तो आउटपुट की लंबाई 4 का गुणज बनाने के लिए पैडिंग वर्ण (=) जोड़े जाते हैं। एक = का मतलब है कि अंतिम समूह में 2 बाइट थे; दो = का मतलब है कि 1 बाइट था।
URL-safe Base64 क्या है?
URL-safe Base64 (RFC 4648 §5 में परिभाषित) + को - से और / को _ से बदल देता है ताकि एन्कोडेड स्ट्रिंग को प्रतिशत-एन्कोडिंग के बिना URL, फ़ाइलनाम और HTTP हेडर में उपयोग किया जा सके। यह आमतौर पर पैडिंग = वर्णों को भी छोड़ देता है।
Base64 फ़ाइल आकार को कितना बढ़ाता है?
Base64 एन्कोडिंग आकार को लगभग 33% बढ़ा देती है। प्रत्येक 3 इनपुट बाइट 4 आउटपुट वर्ण बन जाते हैं। 1 MB फ़ाइल के लिए, Base64 आउटपुट लगभग 1.37 MB होगा।
क्या मैं इस टूल से बाइनरी फ़ाइलें एन्कोड कर सकता हूँ?
यह टूल टेक्स्ट स्ट्रिंग (जिन्हें फिर UTF-8 बाइट के रूप में माना जाता है) को एन्कोड करता है। मनमानी बाइनरी फ़ाइलों (चित्र, PDF, निष्पादन योग्य) को एन्कोड करने के लिए, एक भाषा लाइब्रेरी या CLI टूल का उपयोग करें जो कच्चे बाइट पढ़ता है।
btoa() और Buffer.from().toString('base64') के बीच क्या अंतर है?
btoa() एक ब्राउज़र बिल्ट-इन है जो Latin-1 स्ट्रिंग पर काम करता है; यह गैर-ASCII वर्णों के लिए त्रुटि फेंकेगा जब तक आप पहले उन्हें UTF-8 बाइट में एन्कोड नहीं करते (encodeURIComponent का उपयोग करके)। Node.js में Buffer.from(text).toString('base64') सीधे UTF-8 स्ट्रिंग संभालता है और सर्वर पर पसंदीदा दृष्टिकोण है।
क्या Base64 बाइनरी फ़ाइलों के साथ काम करता है?
यह टूल टेक्स्ट स्ट्रिंग को UTF-8 बाइट्स के रूप में Base64 में एन्कोड करता है। बाइनरी फ़ाइलों (इमेज, PDF, एक्जीक्यूटेबल) के लिए, एक CLI टूल या लैंग्वेज लाइब्रेरी का उपयोग करें जो रॉ बाइट्स पढ़ती हो। ब्राउज़र में, FileReader.readAsDataURL() का उपयोग करें जो Base64-एन्कोडेड बाइनरी कंटेंट के साथ एक data URI लौटाता है।
क्या एन्कोडिंग के लिए कोई साइज़ लिमिट है?
यह टूल बिना किसी सर्वर-साइड लिमिट के पूरी तरह ब्राउज़र में चलता है। व्यावहारिक सीमाएं आपकी ब्राउज़र मेमोरी पर निर्भर करती हैं। बहुत बड़े इनपुट (कुछ MB से ऊपर) के लिए, base64 (Linux/macOS) या certutil -encode (Windows) जैसा CLI टूल अधिक कुशल है।