§

JSON পেস্ট করুন

§

মিনিফাই করা আউটপুট

text
§

সাশ্রয় %

  • মূল আকার
  • মিনিফাই করা আকার
  • সাশ্রয়
  • সাশ্রয় %

বাংলাদেশ ও পশ্চিমবঙ্গের ডেভেলপারদের জন্য JSON সবচেয়ে ছোট বৈধ ফর্মে কমানো সর্বত্র পরিশোধ করে যেখানে বাইট বিল হয়: AWS API Gateway অনুরোধ ও রেসপন্স পেলোড আকার তার ১০ MB সীমার বিপরীতে গণনা করে, CloudFront ও Cloudflare প্রতি গিগাবাইটে ইগ্রেস বিল করে। IoT টেলিমেট্রি, স্বাস্থ্যসেবা HL7 FHIR রিসোর্স ও CDN-সামনে থাকা SaaS ড্যাশবোর্ড সবই বাস্তব খরচ ও লেটেন্সি জয় দেখে যখন JSON ব্রাউজার ছাড়ার আগে মিনিফাই হয়।

JSON মিনিফিকেশন কী?

JSON (JavaScript Object Notation) হলো RFC 8259 ও ECMA-404 দ্বারা সংজ্ঞায়িত একটি হালকা, টেক্সট-ভিত্তিক ডেটা-বিনিময় ফরম্যাট। মিনিফিকেশন স্ট্রিং লিটারেলের বাইরে থাকা প্রতিটি স্পেস, ট্যাব ও নিউলাইন সরায় — মানগুলো বাইট-ফর-বাইট সংরক্ষিত থাকে, শুধুমাত্র প্রসাধনীয় হোয়াইটস্পেস সরানো হয়। আউটপুট ইনপুটের হুবহু একই মানে পার্স হয়।

JSON মিনিফিকেশন কীভাবে কাজ করে?

আপনার ইনপুট বিল্ট-ইন JSON.parseJSON.stringify ফাংশন ব্যবহার করে সম্পূর্ণ আপনার ব্রাউজারে প্রক্রিয়া করা হয়। উচ্চ-স্তরের ধাপগুলো হলো:

  1. আপনার ইনপুট textarea থেকে হুবহু পড়া হয় — আপনি পেস্ট করা প্রতিটি বাইট স্থানীয়ভাবে মেমরিতে রাখা হয়।
  2. ব্রাউজার JSON.parse দিয়ে এটি পার্স করে। ইনপুট বৈধ JSON না হলে পার্সার একটি SyntaxError ছুড়ে দেয় যা ধরা হয় এবং হুবহু সামনে আনা হয় — আপনার টেক্সট পেজ ছেড়ে যায় না।
  3. পার্সিং সফল হলে, পার্স করা মান JSON.stringify(value) দিয়ে পুনরায় নির্গত হয় — কোনো ইন্ডেন্ট আর্গুমেন্ট ছাড়া — একই মানের সবচেয়ে ছোট বৈধ ফর্ম তৈরি করে।
  4. মূল ও মিনিফাই করা টেক্সট উভয়ের বাইট দৈর্ঘ্য new TextEncoder().encode(...).byteLength দিয়ে গণনা করা হয় — একটি HTTP সার্ভার তারে যা দেখত সেই একই UTF-8 বাইট কাউন্ট।
  5. আউটপুট রিডঅনলি textarea-তে লেখা হয়, মেট্রিক স্ট্রিপ শতাংশ সাশ্রয় সহ বাইট ডেল্টা রিপোর্ট করে, এবং ডাউনলোড বাটন ফলাফল একটি .min.json ফাইল হিসেবে প্যাকেজ করে।

এই টুল দিয়ে JSON কেন মিনিফাই করবেন?

  • গোপনীয়তা: প্রতিটি পার্স, মিনিফাই ও মেট্রিক পাস আপনার ব্রাউজারে হয়। JSON কখনও আমাদের সার্ভারে পৌঁছায় না — কোনো আপলোড নেই, কোনো টেলিমেট্রি নেই, কোনো অ্যাকাউন্ট নেই।
  • প্রকৃত বাইট সংখ্যা: মূল আকার, মিনিফাই করা আকার ও সাশ্রয় TextEncoder দিয়ে গণনা করা হয় তাই আপনি প্রকৃত UTF-8 বাইট ডেল্টা দেখেন যা একটি CDN বা API গেটওয়ে আপনাকে বিল করবে।
  • শূন্য ডেটা ক্ষতি: মিনিফিকেশন সম্পূর্ণ প্রসাধনীয় — প্রতিটি মান একই JSON ট্রিতে পার্স হয়, তাই প্রোডাকশন পেলোড, ম্যানিফেস্ট ও এমবেডেড ফিক্সচারের জন্য নিরাপদ।
  • দ্রুত: বিশুদ্ধ JSON.parse + JSON.stringify সাধারণ ক্লিপবোর্ড-আকারের পেলোড তাৎক্ষণিকভাবে পরিচালনা করে, কোনো বাহ্যিক লাইব্রেরি লোড করার প্রয়োজন ছাড়াই।

JSON মিনিফিকেশনের সাধারণ ব্যবহার কী কী?

JSON থেকে অপ্রয়োজনীয় হোয়াইটস্পেস সরানো ওয়েব ডেভেলপমেন্ট, ডেটা ইঞ্জিনিয়ারিং ও এমবেডেড সিস্টেম জুড়ে দেখা যায়:

  • API পেলোড হ্রাস: মিটার করা API গেটওয়ে, পেইড ইগ্রেস লিঙ্ক বা স্যাটেলাইট লিঙ্ক পার হওয়ার আগে অনুরোধ ও রেসপন্স বডি সংকুচিত করা।
  • HTML-এ এম্বেড করা: প্রেটি-প্রিন্টার হোয়াইটস্পেস রেন্ডার করা পেজে না ফেলেই একটি JSON ব্লব একটি data-* অ্যাট্রিবিউট বা একটি <script type="application/json"> ট্যাগে ঢোকানো।
  • ছোট localStorage: প্রেটি-প্রিন্ট করা JSON-এর পরিবর্তে মিনিফাই করা JSON লিখে localStorage / IndexedDB কোটা ব্যবহার কমানো, যা মোবাইল ব্রাউজারে কঠোর প্রতি-অরিজিন স্টোরেজ সীমার সাথে বিশেষভাবে মূল্যবান।

JSON মিনিফিকেশনের উদাহরণ কেমন দেখায়?

একটি ১.২ KB প্রেটি-প্রিন্ট করা কনফিগারেশন ফাইল (দুই-স্পেস ইন্ডেন্ট সহ প্রায় ১,২২৫ বাইট) পেস্ট করে মিনিফাই চাপলে সাধারণত ০.৪ KB-এর নিচে সংকুচিত হয় — ৬৬% সাশ্রয় — প্রতিটি কী ও মান হুবহু সংরক্ষিত। ডাউনলোডযোগ্য output.min.json ফাইল একটি HTTP সার্ভার Content-Type: application/json দিয়ে যা নির্গত করত তার সাথে বাইট-অভিন্ন।

এটি কি আমার ব্রাউজারে চলে?

হ্যাঁ। মিনিফাই পাইপলাইন হলো বিশুদ্ধ JSON.parse + JSON.stringify ব্রাউজার ট্যাবের ভেতরে চলছে। কিছুই আপলোড হয় না, কোনো সার্ভিস ওয়ার্কার আপনার ইনপুট প্রক্সি করে না, এবং পেজ মিনিফাই ধাপের জন্য শূন্য নেটওয়ার্ক অনুরোধ করে। আপনার JSON কখনও Ultim8Soft-এ পৌঁছায় না।

JSON মিনিফাই কেন করবেন?

মিনিফাই করা JSON প্রেটি-প্রিন্ট করা উৎসের মতো হুবহু একই মানে পার্স হয় কিন্তু তারে ও স্টোরেজে ছোট। ছোট পেলোড মানে কম CDN ইগ্রেস বিল, দ্রুত মোবাইল ডাউনলোড, সার্ভিস ওয়ার্কারের ভেতরে কম মেমরি চাপ, এবং JWT পেলোড, এমবেডেড HTML data-* অ্যাট্রিবিউট ও localStorage কোটার মতো স্থির-আকারের খামে আঁটসাঁট ফিট।

মিনিফিকেশনে কি ডেটা হারায়?

না। JSON মিনিফিকেশন শুধুমাত্র সেই হোয়াইটস্পেস সরায় যা স্ট্রিং লিটারেলের বাইরে থাকে — স্পেস, ট্যাব ও নিউলাইন যা স্পেসিফিকেশন ইতিমধ্যেই অপ্রয়োজনীয় হিসেবে শ্রেণীবদ্ধ করে। প্রতিটি কী, মান, সংখ্যা, এস্কেপ সিকোয়েন্স ও স্ট্রিং অক্ষর বাইট-ফর-বাইট সংরক্ষিত থাকে।

ফরম্যাটার ও মিনিফায়ারের মধ্যে পার্থক্য কী?

সহযোগী JSON ফরম্যাটার বিপরীত দিকে যায়: এটি হোয়াইটস্পেস প্রসারিত করে যাতে মানুষ নেস্টেড কাঠামো পড়তে পারে। মিনিফায়ার পরিবহন ও স্টোরেজের জন্য সেই হোয়াইটস্পেস ফিরিয়ে নেয়। দুটি টুল বিপরীত — Formatter → Minifier দিয়ে একটি JSON ডকুমেন্ট রাউন্ড-ট্রিপ করলে মিনিফায়ার দিয়ে শুরু করা একই বাইট-স্ট্রিং পাওয়া যায়।

এই JSON মিনিফায়ার আপনার Node.js, Deno বা ব্রাউজার রানটাইম যে একই পার্সার ব্যবহার করে তা দিয়ে পার্স করে এবং একটি no-frills HTTP সার্ভার যা নির্গত করত তার সাথে বাইট-অভিন্ন আউটপুট তৈরি করে। উপরে যেকোনো JSON পেস্ট করুন, আউটপুট কপি করুন বা .min.json হিসেবে ডাউনলোড করুন।