ToolDeck

Base64 ডিকোড অনলাইন

Base64 এনকোড করা টেক্সট ডিকোড করুন

Base64 ইনপুট

ডিকোড করা টেক্সট

স্থানীয়ভাবে চলে · গোপন তথ্য পেস্ট করা নিরাপদ
ডিকোড করা আউটপুট...

Base64 ডিকোডিং কী?

Base64 ডিকোডিং হলো Base64 এনকোডিংয়ের বিপরীত প্রক্রিয়া: এটি একটি Base64-এনকোড করা ASCII স্ট্রিংকে আবার মূল বাইনারি ডেটা বা টেক্সটে রূপান্তর করে। প্রতিটি ৪টি Base64 অক্ষর মূল ডেটার ৩ বাইটে ডিকোড হয়। ডিকোডার প্রতিটি অক্ষরকে Base64 অ্যালফাবেটে খোঁজে, মূল ৬-বিট গ্রুপগুলো পুনর্গঠন করে এবং সেগুলোকে ৮-বিট বাইটে পুনরায় সংযুক্ত করে।

Base64-এনকোড করা ডেটা বড় ও ছোট হাতের অক্ষর, সংখ্যা এবং +/ (স্ট্যান্ডার্ড) অথবা -_ (URL-safe) এর ব্যবহার দ্বারা চেনা যায়, প্রায়শই শেষে এক বা দুটি = প্যাডিং অক্ষর থাকে। এটি JWT টোকেন, ইমেইল অ্যাটাচমেন্ট, data URI, API রেসপন্স এবং কনফিগারেশন ফাইলে প্রায়ই দেখা যায় — যেকোনো জায়গায় যেখানে বাইনারি বা স্ট্রাকচার্ড ডেটা শুধুমাত্র টেক্সট প্রসঙ্গে এম্বেড করতে হয়।

এই টুলটি কেন ব্যবহার করবেন?

এই ডিকোডার স্ট্যান্ডার্ড ও URL-safe উভয় Base64 পরিচালনা করে, স্বয়ংক্রিয়ভাবে অনুপস্থিত প্যাডিং ঠিক করে এবং সম্পূর্ণরূপে আপনার ব্রাউজারে ডিকোড করে, সার্ভারে কোনো ডেটা পাঠানো ছাড়াই।

প্যাডিং স্বয়ংক্রিয়ভাবে ঠিক করে
অনেক উৎস শেষে = অক্ষর ছাড়াই Base64 তৈরি করে। এই টুল ডিকোড করার আগে স্বয়ংক্রিয়ভাবে অনুপস্থিত প্যাডিং গণনা করে যোগ করে, InvalidCharacterError এক্সেপশন প্রতিরোধ করে।
🛡️
উভয় ভেরিয়েন্ট সমর্থিত
স্বয়ংক্রিয়ভাবে স্ট্যান্ডার্ড Base64 (+/) এবং URL-safe Base64 (-_) উভয় সনাক্ত করে এবং পরিচালনা করে, তাই ম্যানুয়াল কনভার্শন ছাড়াই যেকোনো উৎস থেকে টোকেন পেস্ট করতে পারবেন।
🔒
সম্পূর্ণ ক্লায়েন্ট-সাইড
ডিকোডিং নেটিভ atob API ব্যবহার করে আপনার ব্রাউজারে স্থানীয়ভাবে ঘটে। আপনার ডেটা — যাতে সিক্রেট বা সংবেদনশীল কন্টেন্ট থাকতে পারে — কখনো আপনার ডিভাইস ছেড়ে যায় না।
🌐
Unicode আউটপুট
UTF-8 এনকোড করা টেক্সটকে সঠিকভাবে পূর্ণ Unicode-এ ডিকোড করে, মাল্টি-বাইট অক্ষর, ইমোজি এবং CJK স্ক্রিপ্টসহ।

এই Base64 ডিকোডার অনলাইন কীভাবে ব্যবহার করবেন

কোনো অ্যাকাউন্ট নেই, কোনো আপলোড নেই, কোনো কনফিগারেশন নেই — একটি Base64 স্ট্রিং পেস্ট করুন এবং ডিকোড করা আউটপুট তাৎক্ষণিকভাবে প্রকাশ পায়।

  1. 1
    আপনার Base64 স্ট্রিং পেস্ট করুন
    ইনপুট ফিল্ডে ক্লিক করুন এবং যেকোনো Base64-এনকোড করা স্ট্রিং পেস্ট করুন — স্ট্যান্ডার্ড (+/) বা URL-safe (-_) ফরম্যাট। ডিকোডার প্যাডিং সহ বা ছাড়া (= অক্ষর) স্ট্রিং গ্রহণ করে এবং উভয় ভেরিয়েন্ট স্বয়ংক্রিয়ভাবে পরিচালনা করে।
  2. 2
    স্বয়ংক্রিয় সনাক্তকরণ ও মেরামত
    ডিকোডার স্বয়ংক্রিয়ভাবে ইনপুট স্ট্যান্ডার্ড নাকি URL-safe Base64 তা সনাক্ত করে এবং ডিকোড করার আগে অনুপস্থিত প্যাডিং পুনরুদ্ধার করে। কোনো ম্যানুয়াল সমন্বয় প্রয়োজন নেই।
  3. 3
    আউটপুট পরীক্ষা করুন
    ডিকোড করা ফলাফল ডানদিকে প্রকাশ পায়। ইনপুট বৈধ UTF-8 টেক্সট হলে মূল স্ট্রিং দেখতে পাবেন। বাইনারি ডেটা হলে আউটপুট র বাইটগুলো টেক্সট হিসেবে দেখাবে — কিছু অক্ষর রিপ্লেসমেন্ট অক্ষর হিসেবে দেখা দিতে পারে।
  4. 4
    ফলাফল কপি বা ব্যবহার করুন
    ডিকোড করা টেক্সট ক্লিপবোর্ডে পাঠাতে Copy-তে ক্লিক করুন। JWT পেলোড পরীক্ষা করতে, এনকোড করা কনফিগারেশন মান পুনরুদ্ধার করতে বা একটি Base64 স্ট্রিং আসলে কী ধারণ করে তা যাচাই করতে ব্যবহার করুন।

ডিকোডিং কীভাবে কাজ করে

প্রতিটি Base64 অক্ষর একটি ৬-বিট মান (0–63)-এ ম্যাপ হয়। চারটি পরপর অক্ষর ২৪ বিট প্রদান করে, যা মূল ডেটার ৩ বাইটে ডিকোড হয়। নিচের উদাহরণটি দেখায় কীভাবে "TWFu" আবার "Man"-এ ডিকোড হয়:

উদাহরণ "Man" → TWFu → "Man"
অক্ষরইনডেক্স৬ বিট
T19010011
W22010110
F5000101
u46101110

চারটি ৬-বিট গ্রুপ (010011 010110 000101 101110) ২৪ বিটে একত্রিত হয়, তারপর তিনটি ৮-বিট বাইটে বিভক্ত হয়: 01001101 (M=77), 01100001 (a=97), 01101110 (n=110)।

প্যাডিং বোঝা

Base64 এনকোডিং ইনপুট বাইটগুলোকে ৩টির সেটে গ্রুপ করে। যখন ইনপুটের দৈর্ঘ্য ৩ দিয়ে বিভাজ্য নয়, তখন চূড়ান্ত গ্রুপ সম্পূর্ণ করতে প্যাডিং (=) অক্ষর যোগ করা হয়। ডিকোড করার সময়, এই = অক্ষরগুলো সরিয়ে ফেলা হয় এবং ডিকোডার এনকোডিংয়ের সময় যোগ করা অতিরিক্ত জিরো-বিটগুলো বাদ দেওয়া জানে।

মূলএনকোড করাপ্যাডিং নিয়ম
AQQ==1 byte → 2 padding chars
ABQUI=2 bytes → 1 padding char
ABCQUJD3 bytes → no padding needed

সাধারণ ব্যবহারের ক্ষেত্র

JWT পেলোড পরীক্ষা করুন
JWT টোকেন তিনটি URL-safe Base64-এনকোড করা সেগমেন্ট নিয়ে গঠিত। দ্বিতীয় সেগমেন্ট (পেলোড) ডিকোড করলে ক্লেইমগুলো প্রকাশ পায়: ব্যবহারকারী ID, রোল, মেয়াদ শেষের সময় এবং অন্যান্য মেটাডেটা — সিগনেচার কী ছাড়াই।
API রেসপন্স পড়ুন
REST API প্রায়শই JSON রেসপন্সে Base64-এনকোড করা বাইনারি ডেটা (ফাইল কন্টেন্ট, থাম্বনেইল, ক্রিপ্টোগ্রাফিক উপাদান) রিটার্ন করে। মূল ডেটা পড়তে ফিল্ডটি ডিকোড করুন।
ইমেইল কন্টেন্ট ডিকোড করুন
MIME ইমেইল বডি এবং অ্যাটাচমেন্ট Base64-এনকোড করা। সেগুলো ডিকোড করলে মূল টেক্সট কন্টেন্ট প্রকাশ পায় বা বাইনারি অ্যাটাচমেন্ট পুনর্গঠন করতে পারবেন।
Kubernetes সিক্রেট বের করুন
Kubernetes, YAML ম্যানিফেস্টে Base64 হিসেবে সিক্রেট মান সংরক্ষণ করে। সেগুলো ডিকোড করলে ক্লাস্টারে সংরক্ষিত প্রকৃত পাসওয়ার্ড, টোকেন এবং কী প্রকাশ পায় — ডিবাগিং ও অডিটিংয়ের জন্য দরকারী।
কনফিগারেশন ডিবাগ করুন
এনভায়রনমেন্ট ভেরিয়েবল এবং CI/CD পাইপলাইন সিক্রেটগুলো প্রায়শই YAML বা JSON কনফিগারেশন ফাইলে নিরাপদ সংরক্ষণের জন্য Base64-এনকোড করা হয়। ডিবাগিংয়ের সময় প্রকৃত মান যাচাই করতে ডিকোড করুন।
Data URI ডিকোড করুন
Data URI, HTML/CSS-এ সরাসরি Base64-এনকোড করা অ্যাসেট এম্বেড করে। মূল ছবি, ফন্ট বা অন্যান্য এম্বেড করা রিসোর্স বের করতে Base64 অংশটি ডিকোড করুন।

সাধারণ সমস্যা

এগুলো ব্যবহারিকভাবে Base64 ডিকোডিং ত্রুটির সবচেয়ে ঘন ঘন কারণ:

প্যাডিং অনুপস্থিত
Base64 স্ট্রিংয়ের দৈর্ঘ্য অবশ্যই ৪-এর গুণিতক হতে হবে। অনেক API ও JWT লাইব্রেরি সংক্ষিপ্ততার জন্য শেষের = ছেঁটে ফেলে। প্যাডিং ফিরিয়ে দিন: অনুপস্থিত = এর সংখ্যা হলো (4 - length % 4) % 4।
URL-safe অক্ষর রূপান্তরিত হয়নি
URL-safe Base64, + ও / এর বদলে - ও _ ব্যবহার করে। যদি আপনি URL-safe Base64 সরাসরি atob() বা base64.b64decode()-এ পাস করেন, এটি ব্যর্থ হবে। স্ট্যান্ডার্ড লাইব্রেরি দিয়ে ডিকোড করার আগে সবসময় - → + এবং _ → / প্রতিস্থাপন করুন।
হোয়াইটস্পেস ও লাইন ব্রেক
PEM সার্টিফিকেট, MIME ডেটা এবং কপি-পেস্ট করা Base64 প্রায়শই প্রতি ৭৬ অক্ষরে লাইন ব্রেক থাকে। InvalidCharacterError এড়াতে ডিকোড করার আগে সমস্ত হোয়াইটস্পেস সরিয়ে দিন।
বাইনারি বনাম টেক্সট আউটপুট
Base64 যেকোনো বাইনারি ডেটা এনকোড করতে পারে, শুধু টেক্সট নয়। যদি মূল ডেটা বাইনারি ফাইল (ছবি, PDF) হয়, তাহলে UTF-8 টেক্সট হিসেবে ডিকোড করলে আবর্জনা আসবে। টেক্সট-বিহীন পেলোডের জন্য উপযুক্ত বাইনারি আউটপুট পদ্ধতি ব্যবহার করুন।

কোড উদাহরণ

জনপ্রিয় ভাষা ও পরিবেশে একটি স্ট্রিং Base64-ডিকোড করার পদ্ধতি:

JavaScript (browser)
// Standard Base64
const decoded = decodeURIComponent(escape(atob(encoded)))

// URL-safe Base64 (restore padding first)
function decodeUrlSafe(str) {
  const padded = str.replace(/-/g, '+').replace(/_/g, '/')
  const pad = padded.length % 4
  return decodeURIComponent(escape(atob(padded + '='.repeat(pad ? 4 - pad : 0))))
}
Node.js
// Standard
const decoded = Buffer.from(encoded, 'base64').toString('utf8')

// URL-safe
const decoded = Buffer.from(encoded, 'base64url').toString('utf8')
Python
import base64

# Standard
decoded = base64.b64decode(encoded).decode('utf-8')

# URL-safe (add padding if missing)
padding = '=' * (-len(encoded) % 4)
decoded = base64.urlsafe_b64decode(encoded + padding).decode('utf-8')
CLI (bash)
# Standard
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d

# URL-safe (restore + and / first)
echo "SGVsbG8sIFdvcmxkIQ" | tr '-_' '+/' | base64 -d

Base64 ডিকোডার অনলাইন বনাম অন্যান্য টুল

অনলাইনে বেশ কয়েকটি Base64 ডিকোডার আছে। প্রতিদিনের ডেভেলপার ব্যবহারের জন্য মূল পার্থক্য হলো গোপনীয়তা, স্বয়ংক্রিয়-মেরামত এবং Unicode পরিচালনা।

সম্পূর্ণ প্রাইভেট — কোনো সার্ভার নেই
এই ডিকোডার সম্পূর্ণরূপে আপনার ব্রাউজারে চলে। আপনার Base64 স্ট্রিং — যাতে API কী, টোকেন বা সিক্রেট থাকতে পারে — কখনো কোনো সার্ভারে পাঠানো হয় না।
অনুপস্থিত প্যাডিং স্বয়ংক্রিয়ভাবে ঠিক করে
অনেক ডিকোডার ব্যর্থ হয় যখন প্যাডিং = অক্ষর অনুপস্থিত থাকে (JWT ও URL-safe স্ট্রিংয়ে সাধারণ)। এই টুল ডিকোড করার আগে স্বয়ংক্রিয়ভাবে সঠিক প্যাডিং পুনরুদ্ধার করে।
Unicode ও বাইনারি সচেতন
ইমোজি, CJK এবং সমস্ত নন-ASCII অক্ষরসহ UTF-8 এনকোড করা স্ট্রিং সঠিকভাবে ডিকোড করে। ত্রুটি না ছুড়ে বাইনারি আউটপুট সুন্দরভাবে পরিচালনা করে।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

ডিকোড করলে আবর্জনা অক্ষর কেন আসে?
সবচেয়ে সাধারণ কারণ হলো বাইনারি ডেটা (ছবি, কম্প্রেস করা ফাইল) UTF-8 টেক্সট হিসেবে ডিকোড করা — বাইনারি বাইটগুলো প্রায়শই বৈধ Unicode সিকোয়েন্স গঠন করে না। আরেকটি কারণ হলো +/ প্রত্যাশিত স্ট্যান্ডার্ড ডিকোডার দিয়ে URL-safe Base64 (-_) ডিকোড করা। আপনার উৎস কোন ভেরিয়েন্ট ব্যবহার করে তা পরীক্ষা করুন।
InvalidCharacterError কী?
atob() থেকে এই ব্রাউজার ত্রুটি ঘটে যখন ইনপুটে Base64 অ্যালফাবেটের বাইরের অক্ষর থাকে, যেমন URL-safe অক্ষর (- বা _), হোয়াইটস্পেস, লাইন ব্রেক, বা নন-ASCII অক্ষর। atob() কল করার আগে হোয়াইটস্পেস সরিয়ে URL-safe অক্ষর রূপান্তর করুন।
আমার Base64 URL-safe নাকি স্ট্যান্ডার্ড তা কীভাবে জানব?
- বা _ অক্ষর খুঁজুন: উপস্থিত থাকলে এটি URL-safe Base64। স্ট্যান্ডার্ড Base64, + ও / ব্যবহার করে। URL-safe Base64 সাধারণত প্যাডিং = অক্ষরও বাদ দেয়। JWT টোকেন সবসময় URL-safe Base64 ব্যবহার করে।
Base64 ডিকোডিং নীরবে ব্যর্থ হতে পারে?
হ্যাঁ। কিছু ডিকোডার ত্রুটি না ছুড়ে অবৈধ অক্ষর নীরবে উপেক্ষা করে, ভুল আউটপুট তৈরি করে। ডিকোডার সফল হয়েছে ধরে নেওয়ার বদলে সবসময় যাচাই করুন যে আপনার ডিকোড করা ডেটা প্রত্যাশিত ফরম্যাটের সাথে মিলছে (JSON, ছবির হেডার ইত্যাদি)।
Base64 ডিকোডিংয়ের কোনো আকার সীমা আছে?
এই ব্রাউজার-ভিত্তিক টুল কয়েক মেগাবাইট পর্যন্ত Base64 স্ট্রিং পরিচালনা করতে পারে, তার আগে UI ধীর হয়ে যায়। খুব বড় ফাইলের জন্য (মাল্টি-MB Base64 স্ট্রিং), CLI টুল বা সার্ভার-সাইড ডিকোডার ব্যবহার করুন যা দক্ষতার সাথে যেকোনো আকারের ইনপুট প্রক্রিয়া করতে পারে।
Base64 এক বা দুটি = চিহ্নে কেন শেষ হয়?
= হলো প্যাডিং অক্ষর। Base64, ৩ বাইট থেকে ৪ অক্ষরে এনকোড করে। যদি মূল ডেটার দৈর্ঘ্য ৩-এর গুণিতক না হয়, তাহলে মোট আউটপুটের দৈর্ঘ্য ৪-এর গুণিতক করতে এক বা দুটি = যোগ করা হয়। এক = মানে শেষ গ্রুপে ২টি ইনপুট বাইট; দুটি == মানে ১টি ইনপুট বাইট।
কীভাবে Base64 ছবি ডিকোড করব?
যদি আপনার কাছে data:image/png;base64,iVBORw... এর মতো data URI থাকে, তাহলে প্রিফিক্স সরিয়ে শুধুমাত্র Base64 অংশ পেস্ট করুন। ডিকোড করা বাইটগুলো র বাইনারি ছবি উপস্থাপন করে। এই টুল টেক্সটে ডিকোড করে — ছবি দেখতে, HTML-এ img src অ্যাট্রিবিউটে সরাসরি সম্পূর্ণ data URI ব্যবহার করুন।
আমার ডিকোড করা আউটপুটে বিকৃত অক্ষর কেন আসে?
বিকৃত আউটপুট সাধারণত মানে মূল ডেটা টেক্সটের বদলে বাইনারি ছিল (একটি ছবি, PDF বা অন্য নন-টেক্সট ফাইল)। Base64 যেকোনো বাইট এনকোড করতে পারে — শুধু টেক্সট নয়। যদি উৎস বাইনারি ছিল, তাহলে ডিকোড করা ফলাফল বৈধ UTF-8 নয় এবং এলোমেলো অক্ষর হিসেবে দেখাবে।