টার্গেট সাইজ (KB) পর্যন্ত ইমেজ কম্প্রেস করুন
কোনো JPG, PNG বা WebP ইমেজকে একটি সঠিক ফাইল-সাইজ সীমা পর্যন্ত ছোট করুন — সর্বোচ্চ KB টাইপ করুন (বা একটি প্রিসেট বেছে নিন), আর টুলটি তার মধ্যে ফিট হওয়া সবচেয়ে ভালো কোয়ালিটি খুঁজে দেবে। সেই পরীক্ষার-ফর্মের ফটো ও সিগনেচার আপলোডের জন্য একেবারে ঠিক যেগুলো "50 KB-এর নিচে" চায়। সবকিছু লোকালি চলে, তাই কিছুই আপলোড হয় না। সর্বশেষ পর্যালোচনা 2026-06-19।
এখানে একটি ইমেজ ড্রপ করুন, অথবা ব্রাউজ করুন
JPG, PNG, WebP, GIF, BMP — লোকালি প্রসেস হয়, কখনও আপলোড হয় না।
এটি কীভাবে কাজ করে
অনেক আপলোড ফর্ম এমন ইমেজ প্রত্যাখ্যান করে যা একটি কঠোর সাইজ সীমার উপরে — একটি সাধারণ পরীক্ষা
পোর্টাল ফটোকে 50 KB এবং সিগনেচারকে 20 KB-এর নিচে চায়। এই টুলটি আপনার ইমেজকে একটি HTML
<canvas>-এ আঁকে এবং সেটিকে JPEG বা WebP হিসেবে
রি-এনকোড করে, কোয়ালিটির উপর একটি বাইনারি-সার্চ চালিয়ে সেই সবচেয়ে উঁচু সেটিং খুঁজে বের করে যার ফাইল
এখনও আপনার টার্গেটের নিচে থাকে। এমনকি সবচেয়ে কম কোয়ালিটিও যদি খুব বড় হয়, তবে এটি ডাইমেনশন এক ধাপ ছোট করে
এবং আবার চেষ্টা করে, তাই এটি সবসময় সীমার ঠিক নিচে থামে (কখনও উপরে নয়)। যেহেতু এই সবকিছু আপনার ব্রাউজারে
ঘটে, ছবিটি কোথাও পাঠানো হয় না, এবং রি-এনকোড একটি পার্শ্বপ্রতিক্রিয়া হিসেবে EXIF/GPS সরিয়ে দেয়।
সাধারণ টার্গেট সাইজ
| টার্গেট | সাধারণ ব্যবহার |
|---|---|
| 20 KB | পরীক্ষার ফর্মে সিগনেচার (SSC, IBPS, UPSC) |
| 50 KB | বেশিরভাগ সরকারি / পরীক্ষা পোর্টালে পাসপোর্ট-স্টাইল ফটো |
| 100 KB | সাধারণ ওয়েব ইমেজ, প্রোফাইল ছবি, KYC আপলোড |
| 200 KB | ইমেল অ্যাটাচমেন্ট, ডকুমেন্ট স্ক্যান |
| 500 KB | উচ্চ-কোয়ালিটির ওয়েব ফটো |
| 1 MB | 1 MB-এর নিচে থেকে প্রিন্ট-ধরনের কোয়ালিটি |
ছোট টার্গেটে পৌঁছানোর টিপস
- আগে কষে ক্রপ করুন। কেবল মুখ পর্যন্ত (বা কেবল সিগনেচার পর্যন্ত) ক্রপ করা ফটো, প্রচুর ব্যাকগ্রাউন্ড সহ ফটোর তুলনায় অনেক ছোট কম্প্রেস হয়।
- WebP বেছে নিন যখন ফর্ম এটি গ্রহণ করে — WebP একই টার্গেটে JPEG-এর চেয়ে লক্ষণীয়ভাবে উঁচু ভিজ্যুয়াল কোয়ালিটিতে পৌঁছায়, অথবা এমন ছোট টার্গেট পায় যা JPEG পারে না।
- "প্রয়োজনে রিসাইজ করুন" চালু রাখুন খুব ছোট সীমার (≤ 20 KB) জন্য। একটি 20 KB সিগনেচারের সাধারণত কম কোয়ালিটি ও ছোট ডাইমেনশন — দুটোই দরকার।
- প্রয়োজনীয় পিক্সেল সাইজের সঙ্গে মেলান। যদি কোনো ফর্ম "200×230 px" বলে, তাহলে আগে সেটিতেই রিসাইজ করুন — ফর্ম যত পিক্সেল রাখবে তার বেশি এনকোড করার কোনো মানে নেই।
জেনে রাখার মতো বিষয়
- ফলাফল আপনার টার্গেটের ঠিক নিচে থামে (যেমন 50 KB সীমার জন্য ~47 KB) যাতে আপলোড সবসময় গৃহীত হয়।
- PNG লসলেস এবং কোয়ালিটি দিয়ে KB টার্গেটে টিউন করা যায় না, তাই আউটপুট JPEG বা WebP হয় — যা যাইহোক সেটাই যা KB-সীমিত ফর্মগুলো প্রত্যাশা করে।
- অ্যানিমেটেড GIF / অ্যানিমেটেড WebP তাদের প্রথম ফ্রেমে সমতল করা হয় (ক্যানভাস একটিমাত্র ফ্রেম ক্যাপচার করে)।
- আপনার মূল ফাইল কখনও পরিবর্তিত হয় না; আপনি সবসময় একটি নতুন কপি ডাউনলোড করেন।
আপলোড ফর্মগুলো আদৌ কেন KB সীমা আরোপ করে
"সর্বোচ্চ 50 KB" নিয়মটি যখন আপনার ফোন খুশিমনে 4 MB-এর একটি ফটো তৈরি করে দেয়, তখন খামখেয়ালি মনে হতে পারে, কিন্তু এটি জোরালো ইঞ্জিনিয়ারিং কারণে বিদ্যমান। সরকারি ও পরীক্ষা পোর্টাল অল্প সময়ের মধ্যে লক্ষ লক্ষ আবেদন পায়; প্রতিটি কিলোবাইট প্রতিটি আবেদনকারী দিয়ে গুণিত হয়, তাই 2 MB-এর খোলা ছাড়ের বদলে 50 KB সীমা কয়েক গিগাবাইট স্টোরেজ ও কয়েক টেরাবাইটের মধ্যে, এবং দুর্বল মোবাইল সংযোগে জমা হওয়া ফর্ম ও টাইম-আউট হওয়া ফর্মের মধ্যে পার্থক্য গড়ে দেয়। ছোট ইমেজ সেই কেরানি ও যাচাইকারীদের কাছেও দ্রুত দেখায় যারা সেগুলো পর্যালোচনা করেন, এবং সেগুলো ডাটাবেস ও তার ব্যাকআপকে সামলানোর যোগ্য রাখে। সীমাটি একটি ইচ্ছাকৃত সীমাবদ্ধতা, এবং ঠিক এ কারণেই এমন একটি টুল যা অনুমান করার বদলে এর ঠিক নিচে থামে, আপনাকে "রিসাইজ, আপলোড, প্রত্যাখ্যাত, আবার চেষ্টা" চক্র থেকে বাঁচায়।
KB বনাম KiB: কেন একটি "50 KB" ফাইল আসলে 51,200 বাইট
প্রতিটি ফাইল-সাইজ সীমায় একটি চুপচাপ লুকানো দ্ব্যর্থতা আছে। কঠোরভাবে, একটি কিলোবাইট (KB) হলো 1,000 বাইট, যেখানে অপারেটিং সিস্টেম ও বেশিরভাগ আপলোড ফর্ম আসলে যা বোঝায় তা হলো কিবিবাইট (KiB) — 1,024 বাইট। কোনো পরীক্ষা বা KYC পোর্টালে প্রায় প্রতিটি "KB" সীমা আসলে 1,024-বাইটের একক, তাই "50 KB" সীমা হলো 50 × 1,024 = 51,200 বাইট। এই টুলটি 1,024-বাইট রীতি ব্যবহার করে যাতে এটি ওই ফর্ম ও আপনার ফাইল ম্যানেজার যেভাবে গোনে সেভাবেই গোনে, এ কারণেই এর জানানো অর্জিত সাইজ আপলোড ফর্ম যা দেখে তার সঙ্গে মেলে। এ কারণেই ফলাফলকে সীমার সামান্য নিচে লক্ষ্য করা (যেমন 50 KB সীমার জন্য 47–49 KB) নিরাপদ বাজি — এটি দুটি সিস্টেম কিলোবাইটকে কীভাবে সংজ্ঞায়িত করে তার মধ্যেকার এই পার্থক্য শুষে নেয়।
বাইনারি-সার্চ কীভাবে টার্গেটে নিখুঁতভাবে পৌঁছায়
JPEG ও WebP মোটামুটি 1 থেকে 100 পর্যন্ত একটিমাত্র কোয়ালিটি ডায়াল দেয়, যেখানে কম মানে ছোট ফাইল। সরল-সোজা পদ্ধতি — 90 চেষ্টা করো, খুব বড়, 80 চেষ্টা করো, খুব বড়, 70 চেষ্টা করো… — এনকোড অপচয় করে এবং টার্গেট ছাড়িয়ে যেতে পারে। এর বদলে টুলটি একটি বাইনারি-সার্চ চালায়। এটি প্রথমে সবচেয়ে কম কোয়ালিটিতে একবার এনকোড করে এটি নিশ্চিত করতে যে বর্তমান ডাইমেনশনে টার্গেট আদৌ পৌঁছানো যায় কিনা, তারপর অবশিষ্ট কোয়ালিটি-রেঞ্জের মধ্যবিন্দু বারবার পরীক্ষা করে: এনকোড যদি টার্গেটের নিচে ফিট হয় তবে এটি তা মনে রাখে এবং উপরে (ভালো কোয়ালিটি) খোঁজে, আর ছাড়িয়ে গেলে নিচে খোঁজে। প্রতিটি ধাপ রেঞ্জকে অর্ধেক করে, তাই কয়েকটি এনকোডেই এটি সেই সবচেয়ে উঁচু কোয়ালিটিতে এসে পৌঁছায় যার ফাইল এখনও আপনার সীমার নিচে — অর্থাৎ ফিট হওয়া সবচেয়ে ভালো-দেখানো ইমেজ। এটি কাজ করে কারণ ফাইল সাইজ কোয়ালিটি ডায়ালের সঙ্গে একদিকভাবে (monotonic) নড়ে: কোয়ালিটি বাড়াও তো ফাইল কেবল বাড়েই, আর এটাই সেই বৈশিষ্ট্য যা বাইনারি-সার্চের প্রয়োজন।
পূর্ণ সাইজে কোয়ালিটি 1-ও যদি এখনও খুব বড় হয়, তবে কোনো কোয়ালিটি সেটিং আপনাকে বাঁচাতে পারে না, তাই টুলটি ডাইমেনশন ছোট করে এবং আবার খোঁজে। এই দুই-স্তরের কৌশল — আগে কোয়ালিটি, তারপর সাইজ — সেই কারণ যার জন্য এটি 20 KB সিগনেচারের মতো আঁটসাঁট টার্গেটে পৌঁছাতে পারে, যা শুধু কোয়ালিটি দিয়ে কখনও পৌঁছানো যেত না।
কোয়ালিটি স্কেল রৈখিক নয়
এটা ধরে নেওয়া লোভনীয় যে কোয়ালিটি 50 কোয়ালিটি 100-এর অর্ধেক সাইজের ফাইল তৈরি করে, কিন্তু এনকোডার এভাবে আচরণ করে না। স্কেলের শীর্ষটি ব্যয়বহুল: 100 থেকে 90-এ নামা প্রায়ই এমন বিশদ সরায় যা আপনি দেখতে পান না অথচ ফাইল নাটকীয়ভাবে কমিয়ে দেয়, কারণ সবচেয়ে উঁচু কোয়ালিটি স্তরগুলো তাদের বেশিরভাগ বাইট অগোচর সূক্ষ্ম তথ্যে ব্যয় করে। স্কেলের নিচের অংশটি সেখানে যেখানে ত্রুটি (আর্টিফ্যাক্ট) থাকে: প্রায় 40–50-এর নিচে 8×8 JPEG ব্লক ও রঙের কিনারা (colour fringing) দৃশ্যমান হয়। এর ব্যবহারিক পরিণতি হলো একই টার্গেট সাইজ একটি সরল ইমেজে (একটি সিগনেচার, সমতল-ব্যাকগ্রাউন্ডের পোর্ট্রেট) স্বস্তিদায়ক কোয়ালিটিতে এবং একটি ভরপুর ইমেজে (প্রচুর টেক্সচার সহ বিশদ ফটো) কঠোর কোয়ালিটিতে আসে। এটাই আসল কারণ যে নিচের টিপসগুলো আপনাকে আগে কষে ক্রপ করতে বলে — যত কম পরস্পর-প্রতিযোগী বিশদ, এনকোডার একই বাইট বাজেটে তত বেশি উঁচু কোয়ালিটি ধরে রাখতে পারে।
সাধারণ ভারতীয় পরীক্ষা, পাসপোর্ট ও KYC ফটো স্পেসিফিকেশন
বেশিরভাগ আবেদন পোর্টাল চারটি জিনিস নির্দিষ্ট করে: ফাইল ফরম্যাট, ফাইল-সাইজ সীমা, পিক্সেল ডাইমেনশন, ও ব্যাকগ্রাউন্ড। নিচের টেবিলটি সেই ধরনের মানগুলো দেখায় যা আপনি সাধারণত পাবেন — কিন্তু সঠিক সংখ্যা পরীক্ষা থেকে পরীক্ষায় এবং বছর থেকে বছরে বদলায়, তাই সেগুলোর উপর নির্ভর করার আগে সবসময় সরকারি বিজ্ঞপ্তি বা আপলোড-পেজের নির্দেশাবলীতে সংখ্যাগুলো যাচাই করে নিন।
| বিষয় | সাধারণ ফরম্যাট ও সাইজ | মন্তব্য |
|---|---|---|
| পরীক্ষার ফটোগ্রাফ (SSC, IBPS, RRB, NEET) | JPG, সাধারণত ~20–50 KB | সাম্প্রতিক রঙিন ফটো, সাদামাটা হালকা ব্যাকগ্রাউন্ড, মুখ স্পষ্ট দৃশ্যমান। |
| সিগনেচার | JPG, সাধারণত ~10–20 KB | সাদা কাগজে কালো কালিতে করা সিগনেচার, তারপর স্ক্যান বা ফটো তোলা। |
| UPSC / বড় আবেদন পোর্টাল | JPG, প্রায়ই ~300 KB পর্যন্ত | বেশি উদার সীমা; তবুও পরিষ্কার, ফোকাসে থাকা ইমেজ চায়। |
| ভারতীয় পাসপোর্ট / ভিসা ফটো | প্রিন্ট 35 × 45 mm | হালকা ব্যাকগ্রাউন্ড সহ মাথা কেন্দ্রে; পোর্টাল একটি KB সীমাও নির্ধারণ করে। |
| ব্যাংক / KYC ডকুমেন্ট স্ক্যান | JPG বা PDF, প্রায়ই ~100–200 KB | রেজোলিউশনের চেয়ে পঠনযোগ্য টেক্সট বেশি গুরুত্বপূর্ণ। |
এগুলোর যেকোনোটির জন্য নির্ভরযোগ্য পদ্ধতি একই: প্রয়োজনীয় আকারে ক্রপ করুন, প্রয়োজনীয় পিক্সেল ডাইমেনশনে রিসাইজ করুন, তারপর সবশেষে KB সীমা পর্যন্ত কম্প্রেস করুন — এই ক্রমই সবচেয়ে বেশি কোয়ালিটি রক্ষা করে, কারণ আপনি এনকোডারকে কেবল ততটুকু পিক্সেলই ফিট করতে বলেন যতটুকু ফর্ম আসলে রাখবে।
পিক্সেল ও বাইট দুটি আলাদা সীমা
একটি ফর্ম আপনার ইমেজকে দুটি স্বাধীন উপায়ে সীমাবদ্ধ করতে পারে, এবং সেগুলোকে আলাদা রাখা সহায়ক। পিক্সেল ডাইমেনশন (যেমন 200 × 230 px) নির্ধারণ করে আসল ছবি কতটা; KB-তে ফাইল সাইজ নির্ধারণ করে সেই ছবিকে কত বাইট নেওয়ার অনুমতি আছে। রিসাইজ করা প্রথমটিকে সরাসরি এবং দ্বিতীয়টিকে পরোক্ষভাবে বদলায় — কম পিক্সেল মানে প্রায় সবসময় কম বাইট। কম্প্রেস করা কেবল দ্বিতীয়টিকে বদলায়, একই পিক্সেলকে আরও মোটাদাগে এনকোড করে। যদি কোনো পোর্টাল সঠিক পিক্সেল সাইজ ও KB সীমা — দুটোই চায়, তাহলে আগে ডাইমেনশন সেট করুন (ফর্ম যত পিক্সেল রাখে তার বেশি এনকোড করার কোনো মানে নেই), তারপর এই টুলকে সেই কোয়ালিটি খুঁজতে দিন যা বাইট বাজেটে ফিট হয়। কষে ক্রপ করা, সঠিক-আকারের ইমেজ থেকে শুরু করাই সবচেয়ে বড় কাজ যা আপনি একটি ছোট টার্গেটকে ভালো কোয়ালিটিতে পৌঁছানোর যোগ্য করতে পারেন।
যখন কোনো টার্গেট গাণিতিকভাবে অসম্ভব
কখনও কখনও একটি সীমা সত্যিই ইমেজ নষ্ট না করে পূরণ করা যায় না — উদাহরণস্বরূপ, একটি বড়, অত্যন্ত বিশদ স্ক্যানকে তার পূর্ণ ডাইমেনশন সহ 10 KB-তে ফিট করতে বলা। যখন এমন হয় তখন টুলটি আপনাকে তৈরি করতে পারা সবচেয়ে ছোট সংস্করণটি দেয় এবং স্পষ্টভাবে জানায় যে এটি টার্গেটে পৌঁছাতে পারেনি, চুপচাপ সীমার উপরে কিছু পাঠিয়ে দেওয়ার বদলে। বেরিয়ে আসার পথগুলো হলো: "প্রয়োজনে রিসাইজ করুন" চালু করুন যাতে এটি ডাইমেনশন ছোট করতে পারে; WebP-তে স্যুইচ করুন, যা JPEG-এর চেয়ে বেশি জোরে কম্প্রেস করে এবং এমন সাইজে পৌঁছাতে পারে যা JPEG পারে না; ব্যাকগ্রাউন্ড ক্রপ করে সরান যাতে এনকোড করার কম থাকে; অথবা, যেখানে নিয়ম অনুমতি দেয়, টার্গেট একটু বাড়ান। এগুলোর যেকোনো একটি প্রায় সবসময় এনকোডারের প্রয়োজনীয় জায়গা খুলে দেয়।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
- আমার ইমেজ কি কোনো সার্ভারে আপলোড হয়?
- না। ইমেজটি সম্পূর্ণভাবে আপনার ব্রাউজারেই বিল্ট-ইন Canvas API দিয়ে ডিকোড ও রি-এনকোড করা হয় — এটি আপনার ডিভাইস থেকে কখনও বাইরে যায় না এবং কখনও লগ বা ট্রান্সমিট হয় না। পেজ লোড হওয়ার পরে এটি অফলাইনেও কাজ করে, তাই ব্যক্তিগত ফটো, ID ডকুমেন্ট, সিগনেচার ও পরীক্ষার-ফর্ম আপলোডের জন্য নিরাপদ।
- এটি 50 KB-এর মতো সঠিক সাইজে কীভাবে পৌঁছায়?
- JPEG ও WebP-তে 1 থেকে 100 পর্যন্ত একটি কোয়ালিটি ডায়াল থাকে — কম কোয়ালিটি মানে ছোট ফাইল। টুলটি সেই কোয়ালিটির উপর একটি বাইনারি-সার্চ চালায় যাতে সবচেয়ে উঁচু সেটিং খুঁজে পায় যার এনকোড করা সাইজ এখনও আপনার টার্গেটের নিচে থাকে, তাই আপনি সীমার মধ্যে ফিট হওয়া সবচেয়ে ভালো-দেখানো ইমেজ পান। এমনকি সবচেয়ে কম কোয়ালিটিও যদি খুব বড় হয়, তবে এটি স্বয়ংক্রিয়ভাবে ডাইমেনশন এক ধাপ করে ছোট করে যতক্ষণ না টার্গেটে পৌঁছানো সম্ভব হয়।
- এটি আমার PNG রাখার বদলে JPG-তে কেন কম্প্রেস করে?
- PNG লসলেস — এতে কোনো কোয়ালিটি ডায়াল নেই — তাই আপনি একটি PNG-কে সঠিক KB টার্গেটে নির্ভরযোগ্যভাবে টিউন করতে পারবেন না; শুধুমাত্র এর ডাইমেনশনই এর সাইজকে প্রভাবিত করে। KB সীমা আরোপ করা প্রায় প্রতিটি ফর্ম যাইহোক একটি JPG চায়। তাই এই টুলটি JPEG (বা WebP) আউটপুট দেয়, যা ঠিক সেটাই যা ওই আপলোডগুলো প্রত্যাশা করে। আপনার যদি বিশেষভাবে একটি ছোট PNG দরকার হয়, তাহলে সাধারণ Image Compressor ব্যবহার করুন এবং এর সাইজ বদলান।
- ফলাফল আমার টার্গেটের চেয়ে একটু নিচে, ঠিক সমান নয় — এটা কি সমস্যা?
- না, এটা ইচ্ছাকৃত এবং এটাই আপনি চান। "≤ 50 KB" সীমার অর্থ হলো ফাইলটি 50 KB-এর বেশি হওয়া চলবে না, তাই টুলটি উপরে যাওয়ার ঝুঁকি নেওয়ার বদলে সবসময় টার্গেটের ঠিক নিচে থামে (যেমন 50 KB সীমার জন্য 47–49 KB)। সামান্য নিচে থাকা আপলোড গৃহীত হওয়া নিশ্চিত করে।
- আমার টার্গেট যদি এত ছোট হয় যে পৌঁছানো যায় না?
- সবচেয়ে ছোট যুক্তিসঙ্গত ডাইমেনশনে সবচেয়ে কম কোয়ালিটিও যদি আপনার টার্গেটের চেয়ে বড় থাকে, তবে টুলটি আপনাকে তৈরি করতে পারা সবচেয়ে ছোট সংস্করণটি দেয় এবং জানায় যে এটি সীমায় পৌঁছাতে পারেনি। "প্রয়োজনে রিসাইজ করুন" চালু করুন, WebP বেছে নিন (এটি JPEG-এর চেয়ে বেশি জোরে কম্প্রেস করে), অথবা টার্গেট একটু বাড়ান।
- এটি কি EXIF / GPS মেটাডেটা সরিয়ে দেয়?
- হ্যাঁ। ক্যানভাসের মাধ্যমে রি-এনকোড করলে একটি পরিষ্কার ইমেজ তৈরি হয় যাতে কোনো EXIF ব্লক থাকে না, তাই ক্যামেরা মডেল, তারিখ ও GPS অবস্থান স্বয়ংক্রিয়ভাবে সরে যায় — ফটো আপলোড করার সময় একটি গোপনীয়তা বোনাস। সেই মেটাডেটা সংরক্ষণ করতে চাইলে আপনার মূল ফাইলটি রাখুন।