मुख्य सामग्री पर जाएं
PulsarKit

इमेज को Base64 में कन्वर्ट करें

इमेज को CSS, HTML या JSON के लिए Base64 डेटा URI में बदलें, या Base64 स्ट्रिंग पेस्ट करें और इमेज फाइल वापस पाएं।

फाइलें यहां छोड़ें

.jpg, .jpeg, .png, .gif, .webp, .svg, .bmp, .avif, .ico, .txt · 10 MB तक

दिशा
और सेटिंग

इमेज को Base64 में कैसे कन्वर्ट करें

  1. 1

    इमेज छोड़ें या Base64 स्ट्रिंग पेस्ट करें

    एनकोड करने के लिए बीस तक इमेज जोड़ें, या दिशा बदलें और पहले से मौजूद स्ट्रिंग पेस्ट करें। स्ट्रिंग वाली .txt फाइल भी चलती है।

  2. 2

    दिशा चुनें

    एनकोड करने पर आपको डेटा URI या सिर्फ Base64 पेलोड मिलता है। डिकोड करने पर सही एक्सटेंशन वाली इमेज फाइल मिलती है, जिसे डाउनलोड किया जा सकता है।

  3. 3

    स्ट्रिंग कॉपी करें या फाइल डाउनलोड करें

    परिणाम को सीधे अपनी स्टाइलशीट में कॉपी करें, या डिकोड की गई इमेज सेव करें। कई इमेज का बैच ZIP के रूप में मिलता है, जिसमें हर इमेज की एक टेक्स्ट फाइल और साथ में एक जोड़ी हुई JSON होती है।

Base64 असल में क्या करता है

Base64 न कुछ कंप्रेस करता है, न कुछ कन्वर्ट। यह उन्हीं बाइट को सिर्फ 64 अक्षरों से दोबारा लिखता है, जो टेक्स्ट में पेस्ट होने पर भी बचे रहते हैं। तीन बाइट चार अक्षर बनते हैं, इसीलिए परिणाम हमेशा फाइल से लगभग एक तिहाई बड़ा होता है। मकसद साइज नहीं, जगह है: डेटा URI सीधे स्टाइलशीट, HTML एट्रिब्यूट या JSON फील्ड के अंदर रह सकता है, वहां जहां अलग फाइल का लिंक अटपटा या नामुमकिन हो।

डेटा URI या सिर्फ पेलोड

डेटा URI पूरी स्ट्रिंग है, जो data:image/png;base64, से शुरू होती है। CSS बैकग्राउंड या img src में ब्राउजर यही चाहता है। सिर्फ पेलोड उस कॉमा के बाद का सारा हिस्सा है। API फील्ड या डेटाबेस कॉलम को आमतौर पर यही चाहिए, क्योंकि वहां टाइप अलग से दर्ज होता है। दोनों एक ही बाइट से बनते हैं, इसलिए आप कुछ भी दोबारा एनकोड किए बिना उनके बीच बदल सकते हैं।

टाइप बाइट से तय होता है

डेटा URI में लिखा MIME टाइप फाइल के नाम से नहीं, उसके पहले बारह बाइट से पढ़ा जाता है। इसलिए जिस PNG का नाम किसी ने .jpg कर दिया, वह भी data:image/png के रूप में ही निकलती है। यह इसलिए जरूरी है, क्योंकि जिस डेटा URI का घोषित टाइप सामग्री से मेल नहीं खाता, उसे ब्राउजर दिखाने से मना कर देता है, और तब फाइल नहीं, पेज खराब दिखता है। SVG अपवाद है, क्योंकि वह टेक्स्ट है: उसे बाइनरी सिग्नेचर से नहीं, शुरुआती टैग से पहचाना जाता है।

वापस फाइल में डिकोड करना

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

कुछ भी कहीं नहीं भेजा जाता

एनकोडिंग ब्राउजर के अपने FileReader से होती है और डिकोडिंग उसके बिल्ट-इन atob से। कोई लाइब्रेरी नहीं, कोई अपलोड नहीं और कोई सर्वर नहीं। बॉक्स में आप जो भी पेस्ट करते हैं, वह टैब में ही रहता है। यह तब मायने रखता है, जब स्ट्रिंग कोई लोगो नहीं, बल्कि निजी डॉक्यूमेंट हो।

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

इमेज को Base64 में क्यों बदलें?

ताकि उसे लिंक करने की जगह सीधे अंदर रखा जा सके। CSS के अंदर रखा छोटा आइकन एक HTTP रिक्वेस्ट बचाता है, JSON पेलोड के अंदर की इमेज ऐसे API से गुजर सकती है जो सिर्फ टेक्स्ट ले जाता है, और ईमेल टेम्पलेट अपनी तस्वीरें खुद साथ रख सकता है, बिना ऐसे बाहरी रेफरेंस के जो ब्लॉक हो जाते हैं।

फाइल कितनी बड़ी हो जाती है?

लगभग 33 से 37 प्रतिशत। Base64 हर तीन बाइट पर चार अक्षर खर्च करता है, और डेटा URI के लिए एक छोटा प्रीफिक्स भी जुड़ता है। 100 KB की फोटो लगभग 133 KB की स्ट्रिंग बन जाती है। इसीलिए आइकन को अंदर रखना फायदेमंद है, और फोटो के लिए शायद ही कभी।

डेटा URI और सादे Base64 में क्या फर्क है?

डेटा URI पूरी चीज है: data:image/png;base64, और उसके बाद पेलोड। ब्राउजर इसे सीधे इमेज के स्रोत के तौर पर इस्तेमाल कर सकते हैं। सादा Base64 सिर्फ पेलोड है, बिना टाइप की जानकारी के। ज्यादातर API और डेटाबेस फील्ड यही चाहते हैं।

क्या ब्राउजर में इन स्ट्रिंग की लंबाई की कोई सीमा है?

आधुनिक ब्राउजर CSS और HTML में कई मेगाबाइट के डेटा URI संभाल लेते हैं, लेकिन एडिटर, टर्मिनल और diff टूल उससे बहुत पहले काम के नहीं रहते। यह टूल 10 MB तक की फाइलें लेता है, जिनसे लगभग 13.3 MB की स्ट्रिंग बनती है, और 14 MB तक की सामग्री वाली स्ट्रिंग डिकोड करता है।

data: प्रीफिक्स के बिना वाली स्ट्रिंग कैसे डिकोड करें?

उसे पेस्ट करें और इमेज के प्रकार को “अपने आप पहचानें” पर छोड़ दें। डिकोड हुए बाइट उसी सिग्नेचर तालिका से जांचे जाते हैं, जो एनकोडिंग में इस्तेमाल होती है, इसलिए PNG को उसके 89 50 4E 47 हेडर से पहचाना जाता है, प्रीफिक्स हो या न हो। अगर पहचान न हो पाए, तो सूची से प्रकार खुद चुनें।

क्या किसी और का Base64 यहां पेस्ट करना सुरक्षित है?

स्ट्रिंग बाइट में डिकोड होती है और आपके अपने टैब के अंदर इमेज प्रीव्यू के रूप में दिखती है। वह कभी अपलोड नहीं होती, कभी चलाई नहीं जाती और कभी सेव नहीं होती। डिकोड करना बस गणित है, लेकिन याद रखें कि मिले बाइट उतने ही भरोसेमंद हैं, जितना उनका स्रोत। इसलिए अनपेक्षित परिणाम के साथ उतनी ही सावधानी रखें, जितनी किसी भी डाउनलोड की गई फाइल के साथ।

डिकोड करना कभी-कभी क्यों फेल होता है?

लगभग हमेशा इसलिए, क्योंकि स्ट्रिंग अधूरी है। बीच में कटी पेस्ट, टर्मिनल से कॉपी करते समय छूटी एक लाइन, या URL-safe वेरिएंट, जो प्लस और स्लैश की जगह डैश और अंडरस्कोर इस्तेमाल करता है, ये सब अक्षरों की जांच में फेल होंगे। मूल स्रोत से स्ट्रिंग दोबारा कॉपी करने से आमतौर पर बात बन जाती है।

संबंधित टूल

फोटो कंप्रेस करेंJPG, PNG, WebP, AVIF और GIF फाइलों का साइज अपने ब्राउजर में कम करें। ऐसा लेवल चुनें जो रिजॉल्यूशन बनाए रखता है, या GIF को छोड़कर बाकी फॉर्मेट के लिए KB या MB में तय साइज लिखें।फोटो रिसाइज करेंफोटो का साइज पिक्सल में बदलें: सटीक माप से, प्रतिशत से या तैयार प्रीसेट से, ब्राउजर छोड़े बिना।JPG से PNGब्राउजर में ही JPG फोटो को लॉसलेस PNG में बदलें, पैलेट और ग्रेस्केल ऑप्टिमाइजेशन के विकल्प के साथ, बिना अपलोड।WebP से JPGWebP इमेज को आपके ब्राउजर में ही JPG में कन्वर्ट करें, एनिमेटेड फाइलें भी। पारदर्शी हिस्सों के पीछे आपके चुने रंग का बैकग्राउंड लगता है।फोटो का मेटाडेटा देखेंफोटो के अंदर सेव कैमरा, एक्सपोजर, तारीख और GPS लोकेशन देखें। फाइल इसी टैब में पढ़ी जाती है, कभी अपलोड नहीं होती।WebP में कन्वर्ट करेंJPG, PNG, GIF, AVIF, BMP और HEIC इमेज को WebP में बदलें और उनका वजन एक चौथाई से एक तिहाई तक घटाएं, कुछ भी अपलोड किए बिना।