देख रहे हैं: हिन्दी अंग्रेज़ी में देखें

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

टेक्स्ट को Base64 में एन्कोड करें या Base64 को वापस टेक्स्ट में डिकोड करें। UTF-8 सुरक्षित, ASCII से बाहर के अक्षर भी सहेजे जाते हैं।

  1. टेक्स्ट या Base64 स्ट्रिंग को बॉक्स में पेस्ट करें।
  2. टेक्स्ट को Base64 में बदलने के लिए "एन्कोड" दबाएँ, या Base64 को वापस टेक्स्ट में बदलने के लिए "डिकोड" दबाएँ।
  3. यदि मान URL या JWT में जाता है तो "URL-सुरक्षित" टिक करें — यह - और _ का उपयोग करता है और पैडिंग छोड़ देता है।
  4. परिणाम को क्लिपबोर्ड पर रखने के लिए "कॉपी" दबाएँ।
यह क्या करता है?

Base64 मनमाने बाइट्स को 64 छापने योग्य ASCII अक्षरों में एन्कोड करता है, जिससे बाइनरी-असुरक्षित ट्रांसपोर्ट (JSON स्ट्रिंग, URL, ईमेल बॉडी, एनवायरनमेंट वेरिएबल, HTTP Basic ऑथ) बिना ख़राब हुए उन्हें ले जा सकें। यह टूल UTF-8 इनपुट सही तरीके से संभालता है — पहले आपकी स्ट्रिंग को UTF-8 बाइट्स में एन्कोड करता है, फिर उन बाइट्स को Base64 में एन्कोड करता है, ताकि ASCII से बाहर के अक्षर पूरी तरह राउंड-ट्रिप हो सकें। आउटपुट इनपुट से लगभग 33% बड़ा होता है (हर 3 बाइट 4 अक्षर बनते हैं)।

उदाहरण

टेक्स्ट "Hello, world!" को एन्कोड करना:

SGVsbG8sIHdvcmxkIQ==

उसी टेक्स्ट को "URL-सुरक्षित" विकल्प के साथ (पैडिंग हटाकर) एन्कोड करना:

SGVsbG8sIHdvcmxkIQ

इमोजी वाले टेक्स्ट "café ☕" को एन्कोड करना:

Y2Fmw6kg4piV

मेरी Base64 स्ट्रिंग डिकोड क्यों नहीं हो रही?

  • स्टैंडर्ड और URL-सुरक्षित का मेल नहीं। - या _ वाली स्ट्रिंग base64url है, स्टैंडर्ड Base64 नहीं। "URL-सुरक्षित" चेकबॉक्स को टॉगल करें ताकि मेल हो जाए।
  • पैडिंग नहीं है। स्टैंडर्ड Base64 स्ट्रिंग की लंबाई 4 का गुणज होनी चाहिए। SGVsbG8 विफल होगा; SGVsbG8= काम करेगा। लंबाई 4 से विभाज्य होने तक = जोड़ें।
  • मान के बीच में स्पेस या न्यूलाइन। कुछ सिस्टम Base64 को 76 अक्षरों पर \n से लपेटते हैं। ज़्यादातर डिकोडर इसे सहते हैं, पर सख़्त नहीं। डिकोड करने से पहले स्पेस हटा दें।
  • ग़लती से दो बार डिकोड। U0dWc2JHOA== को डिकोड करने पर SGVsbG8 मिलता है, जो स्वयं एक Base64 स्ट्रिंग है। अगर आउटपुट फिर से Base64 जैसा लगे, तो फिर से डिकोड करें।
  • UTF-8 से भिन्न बाइनरी डेटा। अगर डिकोड किए गए बाइट्स वैध UTF-8 नहीं हैं (जैसे PNG हेडर), तो उन्हें टेक्स्ट की तरह डिकोड करने पर विफल होगा या कचरा दिखेगा। बाइनरी के लिए फ़ाइल-जागरूक Base64 टूल का उपयोग करें।
  • स्मार्ट उद्धरण या दिखाई देने वाले दीर्घविराम। वर्ड प्रोसेसर से कॉपी करने पर " को घुमावदार उद्धरण से बदला जा सकता है, या लंबे स्ट्रिंग्स को ... से काटा जा सकता है। पहले प्लेन-टेक्स्ट एडिटर में पेस्ट करके देखें।
अक्सर पूछे जाने वाले प्रश्न

स्टैंडर्ड Base64 और URL-सुरक्षित Base64 में क्या अंतर है?

स्टैंडर्ड Base64 (RFC 4648) + और / का उपयोग करता है और = से पैड करता है। URL-सुरक्षित Base64 (base64url) + को - और / को _ से बदलता है और आमतौर पर पैडिंग छोड़ देता है, ताकि स्ट्रिंग URL पथ या क्वेरी पैरामीटर में अपरिवर्तित रहे। JWT base64url का उपयोग करते हैं। जब आउटपुट URL में जाता है, तो "URL-सुरक्षित" चुनें।

क्या यह टूल इमोजी और गैर-ASCII टेक्स्ट ठीक से संभालता है?

हाँ। इनपुट पहले UTF-8 बाइट्स में एन्कोड होता है, फिर उन बाइट्स को Base64 एन्कोड किया जाता है। डिकोडिंग दोनों चरणों को उलट देती है। इसीलिए "café" पेस्ट करने और परिणाम डिकोड करने पर आपको "café" मिलता है, मोजीबेक नहीं। कई पुराने Base64 टूल Latin-1 मानते हैं और ASCII से बाहर की हर चीज़ ख़राब कर देते हैं।

क्या मैं इमेज या PDF जैसी बाइनरी फ़ाइल एन्कोड कर सकता हूँ?

यह पेज केवल टेक्स्ट एन्कोड करता है। किसी फ़ाइल को Base64 एन्कोड करने के लिए, उसे बाइनरी के रूप में पढ़ने वाले टूल का उपयोग करें (या ब्राउज़र कंसोल में FileReader.readAsDataURL)। यह टूल स्ट्रिंग्स के लिए है — विशिष्ट उपयोग क्रेडेंशियल, कॉन्फ़िग, या JSON फ़ील्ड्स एम्बेड करना है।

मेरा डिकोड आउटपुट कचरा जैसा क्यों दिखता है?

आमतौर पर इनपुट Base64 ही नहीं था, या URL-सुरक्षित Base64 को स्टैंडर्ड की तरह डिकोड किया गया (या उल्टा)। "URL-सुरक्षित" चेकबॉक्स टॉगल करके देखें। एक और सामान्य कारण: स्ट्रिंग वास्तव में Base64-एन्कोडेड बाइनरी थी, टेक्स्ट नहीं — तब बाइट्स वैध UTF-8 नहीं होते।

क्या = पैडिंग मायने रखती है?

स्टैंडर्ड Base64 आउटपुट को 4 के गुणज तक = से पैड करता है। अधिकांश डिकोडर बिना पैडिंग का इनपुट स्वीकार करते हैं, पर कुछ सख़्त वाले नहीं। URL-सुरक्षित Base64 आम तौर पर पैडिंग छोड़ देता है। यदि डिकोडर शिकायत करे, तो लंबाई 4 से विभाज्य होने तक = जोड़ें, या सभी हटाकर फिर से कोशिश करें।

क्या आप मेरे एन्कोड/डिकोड किए टेक्स्ट को सहेजते हैं?

नहीं। यहाँ पेस्ट किए गए किसी भी टेक्स्ट को हम सहेजते नहीं। पेज बंद या रिफ्रेश होते ही आपका इनपुट चला जाता है — कुछ भी नहीं रखा जाता, और आपने क्या एन्कोड या डिकोड किया, इसका कोई रिकॉर्ड नहीं रहता। अतिरिक्त विश्वास के लिए ब्राउज़र के डेवलपर टूल्स देख सकते हैं।