Case Converter

Case Converter

کسی بھی string کو ایک ساتھ 11 naming conventions میں تبدیل کریں — camelCase، PascalCase، snake_case، kebab-case، اور بہت کچھ۔ ساتھ ہی JSON-keys batch موڈ جو ہر key کو recursively دوبارہ لکھتا ہے۔ سب کچھ آپ کے براؤزر میں۔

Case Converter — TL;DR

کسی بھی string کو ایک ساتھ 11 naming conventions میں تبدیل کریں — camelCase، PascalCase، snake_case، kebab-case، اور بہت کچھ۔ ساتھ ہی JSON-keys batch موڈ جو ہر key کو recursively دوبارہ لکھتا ہے۔ سب کچھ آپ کے براؤزر میں۔

یہ سب multi-word identifiers (یا filenames، URLs، CSS classes) کو spaces کے بغیر لکھنے کے طریقے ہیں۔ camelCase پہلے لفظ کے بعد ہر لفظ کو capitalise کرتا ہے (`userFirstName`)، JavaScript، Java، Swift میں استعمال ہوتا ہے۔ snake_case سب کچھ lower-case کرتا ہے اور underscores سے جوڑتا ہے (`user_first_name`)، Python، Ruby، SQL میں استعمال ہوتا ہے۔ kebab-case hyphens استعمال کرتا ہے (`user-first-name`)، CSS، HTML، URL slugs، command-line flags میں استعمال ہوتا ہے۔ PascalCase camelCase ہے جس میں پہلا حرف بھی capitalise ہوتا ہے (`UserFirstName`)، بہت سی languages میں class / type کے ناموں کے لیے استعمال ہوتا ہے۔

Tokeniser دو boundary اصول استعمال کرتا ہے: lower-to-upper (`a` کے بعد `B` = split) اور caps-then-Title (capitals کا run جس کے بعد lowercase حرف ہو، آخری capital سے پہلے split ہوتا ہے)۔ تو `XMLHttpRequest` بنتا ہے `[XML, Http, Request]` → `xml_http_request` / `xmlHttpRequest` / `XmlHttpRequest`۔ `userIDToken` بنتا ہے `[user, ID, Token]` → `user_id_token`۔ یہ زیادہ تر language style guides کی سفارش سے میل کھاتا ہے۔

Identifiers اور JSON کبھی آپ کے device سے باہر نہیں جاتے۔ DevTools → Network کھولیں اور آپ کو conversion یا copy کے دوران zero outbound requests نظر آئیں گی۔

گیارہ naming conventions، ایک paste

کلاسک camelCase / snake_case سے لے کر dot.case / path/case تک — ساتھ ہی nested object میں ہر key کا نام بدلنے کے لیے JSON-keys batch موڈ۔

11 case styles، سب ایک ساتھ

camelCase، PascalCase، snake_case، CONSTANT_CASE، kebab-case، COBOL-CASE، dot.case، path/case، Title Case، Sentence case، UPPERCASE، lowercase۔ ایک بار paste کریں، فوری طور پر ہر output دیکھیں۔

ذہین tokenisation

تمام input styles میں identifiers کو درست طریقے سے تقسیم کرتا ہے — `XMLHttpRequest` → `xml_http_request`، `userIDToken` → `user_id_token`۔ acronyms، digits، اور mixed separators (_، -، .، /) کو الجھن کے بغیر سنبھالتا ہے۔

JSON-keys batch موڈ

ایک nested JSON object paste کریں اور اپنے منتخب style میں ہر key کو دوبارہ لکھیں — recursively۔ اختیاری طور پر string values بھی تبدیل کریں۔ Arrays، types، اور structure محفوظ رہتے ہیں۔

ایک کلک سے copy

ہر output row کا اپنا copy بٹن ہے — کلک کریں اور value آپ کے clipboard میں ہے۔ بصری تصدیق؛ کوئی toast spam نہیں۔

ڈیزائن سے ہی پرائیویسی

ہر conversion آپ کے device پر JavaScript میں چلتا ہے۔ کوئی identifiers، کوئی JSON، کوئی clipboard activity کبھی منتقل نہیں ہوتی۔ DevTools → Network کھولیں اور zero outbound requests کی تصدیق کریں۔

چھوٹا + تیز

خالص JavaScript، کوئی framework runtime نہیں۔ Cold load 25 KB gzipped سے کم ہے۔ کسی بھی string کے لیے تمام 11 conversions 1 ms سے کم میں مکمل ہوتی ہیں۔

Converter کا استعمال کیسے کریں

دو موڈز — single-string اور JSON-keys batch۔

  1. 1

    موڈ منتخب کریں

    Single string ایک identifier یا phrase کے لیے — ایک بار type / paste کریں، تمام 11 case outputs دیکھیں۔ JSON keys (batch) جب آپ کو کسی nested API response یا config file میں ہر key کو تبدیل کرنا ہو۔

  2. 2

    اپنا input paste کریں

    Single-string موڈ کوئی بھی input قبول کرتا ہے — `userFirstName`، `user_first_name`، `user-first-name`، `USER FIRST NAME`، حتیٰ کہ `XMLHttpRequest`۔ Tokeniser اسے درست طریقے سے تقسیم کرتا ہے اور ہر output style کے لیے دوبارہ جوڑتا ہے۔ JSON موڈ کوئی بھی valid JSON object قبول کرتا ہے — depth کوئی فرق نہیں رکھتی۔

  3. 3

    ایک target style منتخب کریں

    Single-string موڈ میں، تمام 11 outputs ایک ساتھ نظر آتے ہیں — جس کی ضرورت ہو منتخب کریں۔ JSON موڈ میں، dropdown سے ایک target case منتخب کریں؛ object کی ہر key اس style میں دوبارہ لکھی جاتی ہے۔

  4. 4

    Copy اور paste

    کسی بھی output row کے ساتھ والے copy آئیکن پر کلک کریں تاکہ clipboard پر بھیجا جائے۔ JSON output کے لیے، پورا result block copy کریں — سیدھے اپنے codebase یا API client میں drop کریں۔

Code reviews، refactors، اور API plumbing کے لیے بنایا گیا

چار عام scenarios جہاں ایک بار paste کر کے ہر style حاصل کرنا انگلیوں سے rename کرنے سے بہتر ہے۔

Backend ↔ Frontend boundary

Backend آپ کو `user_first_name` دیتا ہے؛ frontend `userFirstName` چاہتا ہے۔ Paste، copy، paste — ہو گیا۔ JSON batch موڈ استعمال کریں تاکہ ایک sample API response کی ہر key ایک قدم میں تبدیل ہو جائے (پھر نتیجے کی بنیاد پر codegen template لکھیں)۔

Languages کے درمیان refactoring

Python library کو JavaScript میں port کر رہے ہیں؟ Python source کے snake_case identifiers لیں اور انہیں camelCase output کے ذریعے چلائیں۔ نتیجہ اپنے JS port میں drop کریں۔ ذہین tokeniser `__double_underscore` اور trailing digits کو بغیر ٹوٹے سنبھالتا ہے۔

ENV vars ↔ runtime config

ایک `MY_AWESOME_FEATURE_FLAG` (env var convention) کو `myAwesomeFeatureFlag` (JS variable) یا `my_awesome_feature_flag` (Python) میں تبدیل کریں۔ CONSTANT_CASE / camelCase / snake_case round-trip بالکل درست ہے۔

CSS / file naming

BEM kebab-case کی توقع کرتا ہے: `.user-card__avatar--large`۔ کسی designer سے JS variable کا نام ملا (`userCardAvatarLarge`)؟ ایک قدم میں تبدیل کریں۔ Tailwind utilities، npm package کے ناموں، URL slugs، اور CLI flag کے ناموں کے لیے مفید — یہ سب kebab-case کو ترجیح دیتے ہیں۔

100% نجی — آپ کے براؤزر میں چلتا ہے

Identifiers اور JSON کبھی آپ کے device سے باہر نہیں جاتے۔ DevTools → Network کھولیں اور آپ کو conversion یا copy کے دوران zero outbound requests نظر آئیں گی۔

  • تمام tokenisation، case conversion، اور JSON traversal آپ کی machine پر JavaScript کے طور پر چلتا ہے — page source میں نظر آتا ہے۔
  • Clipboard writes معیاری navigator.clipboard.writeText API استعمال کرتے ہیں؛ کچھ بھی log نہیں ہوتا۔
  • کوئی login نہیں، identifier values پر کوئی telemetry نہیں، کوئی third-party API نہیں۔ ہم صرف ایک cookie cookie-consent state کے لیے اور ایک language preference کے لیے استعمال کرتے ہیں۔

متعلقہ گائیڈز

Naming conventions، API ڈیزائن، اور refactoring پر منتخب مطالعات۔

اکثر پوچھے جانے والے سوالات

camelCase، snake_case، اور kebab-case میں کیا فرق ہے؟

یہ سب multi-word identifiers (یا filenames، URLs، CSS classes) کو spaces کے بغیر لکھنے کے طریقے ہیں۔ camelCase پہلے لفظ کے بعد ہر لفظ کو capitalise کرتا ہے (`userFirstName`)، JavaScript، Java، Swift میں استعمال ہوتا ہے۔ snake_case سب کچھ lower-case کرتا ہے اور underscores سے جوڑتا ہے (`user_first_name`)، Python، Ruby، SQL میں استعمال ہوتا ہے۔ kebab-case hyphens استعمال کرتا ہے (`user-first-name`)، CSS، HTML، URL slugs، command-line flags میں استعمال ہوتا ہے۔ PascalCase camelCase ہے جس میں پہلا حرف بھی capitalise ہوتا ہے (`UserFirstName`)، بہت سی languages میں class / type کے ناموں کے لیے استعمال ہوتا ہے۔

ذہین tokeniser acronyms کو کیسے سنبھالتا ہے؟

Tokeniser دو boundary اصول استعمال کرتا ہے: lower-to-upper (`a` کے بعد `B` = split) اور caps-then-Title (capitals کا run جس کے بعد lowercase حرف ہو، آخری capital سے پہلے split ہوتا ہے)۔ تو `XMLHttpRequest` بنتا ہے `[XML, Http, Request]` → `xml_http_request` / `xmlHttpRequest` / `XmlHttpRequest`۔ `userIDToken` بنتا ہے `[user, ID, Token]` → `user_id_token`۔ یہ زیادہ تر language style guides کی سفارش سے میل کھاتا ہے۔

JSON-keys batch موڈ کیا کرتا ہے؟

ایک JSON object paste کریں — چاہے وہ بہت گہرائی سے nested ہو — اور ایک target case style منتخب کریں۔ ٹول پورے tree کو depth-first طریقے سے چلتا ہے، ہر key کو تبدیل کرتا ہے (arrays کے اندر کی keys بھی)، اور دوبارہ بنایا گیا JSON output دیتا ہے۔ Arrays، types (number / boolean / null)، اور structure بالکل محفوظ رہتے ہیں۔ "Also convert string values" کو toggle کریں تاکہ ہر string-valued field کا content بھی اسی tokeniser سے دوبارہ لکھا جائے۔

میں اپنے project کے لیے کون سا convention استعمال کروں؟

پہلے اپنی language کا غالب convention اپنائیں، پھر اپنی team کا۔ Default: camelCase JS / Java / Swift / Kotlin / Go کے لیے (exported names میں PascalCase)، snake_case Python / Ruby / Rust / SQL columns کے لیے، kebab-case CSS classes / HTML attributes / URL paths / npm packages / CLI flags کے لیے، SCREAMING_SNAKE_CASE environment variables اور language constants کے لیے۔ Layers کے درمیان تبدیلی کرتے وقت (snake_case API → camelCase frontend)، ایک واحد boundary منتخب کریں اور باقی system کو consistent رکھیں۔

کیا کچھ آپ کے server پر بھیجا جاتا ہے؟

نہیں۔ Tokenisation، ہر conversion، اور JSON-keys batch موڈ سب آپ کے براؤزر میں JavaScript کے طور پر چلتے ہیں۔ DevTools → Network کھولیں اور آپ کو استعمال کے دوران zero outbound requests نظر آئیں گی۔ ہم ایک cookie cookie-consent state کے لیے اور ایک language preference کے لیے استعمال کرتے ہیں، بس۔