Skip to content
Back to Blog
how-to-convert

एक्सेल और गूगल शीट्स के लिए JSON को CSV में कैसे बदलें

2026-05-17 8 min read

JSON और CSV अलग-अलग कामों के लिए क्यों बने हैं

JSON और CSV पूरी तरह से अलग-अलग दुनिया के लिए बने हैं। JSON (JavaScript Object Notation) संरचित, पदानुक्रमित (hierarchical) डेटा को दर्शाता है। यह नेस्टेड ऑब्जेक्ट्स, ऐरे के अंदर ऐरे, और मिश्रित डेटा प्रकारों को आसानी से संभालता है, यही वजह है कि यह APIs और एप्लिकेशन कॉन्फ़िगरेशन के लिए मानक है। CSV (Comma-Separated Values) इसका उल्टा है: एक सरल, सपाट तालिका (flat table)। हर पंक्ति में कॉलम की संख्या समान होनी चाहिए। कोई नेस्टिंग नहीं। इस बुनियादी अंतर का मतलब है कि आप सिर्फ एक .json फ़ाइल का नाम बदलकर .csv नहीं कर सकते और यह उम्मीद नहीं कर सकते कि यह काम करेगी। जब आप किसी REST API से डेटा खींचते हैं, जैसे कि CRM से 500 ग्राहक रिकॉर्ड की सूची, तो आपको यह लगभग हमेशा JSON के रूप में मिलेगा। एक ग्राहक का रिकॉर्ड कुछ इस तरह दिख सकता है: {"id": 1042, "name": "Sara Okonkwo", "email": "sara@example.com", "orders": [{"id": 88, "total": 49.99}]} Excel और Google Sheets उस फ़ाइल को एक साफ़-सुथरी तालिका में पार्स नहीं कर सकते। उन्हें सपाट पंक्तियों (flat rows) की आवश्यकता होती है। JSON को CSV में बदलना वह पुल है जो विश्लेषकों (analysts), विपणक (marketers), और ऑप्स टीमों को API डेटा को उन स्प्रेडशीट टूल में लाने की सुविधा देता है जिनका वे हर दिन उपयोग करते हैं। रूपांतरण आसान है अगर आपका JSON ऑब्जेक्ट्स की एक सरल सूची है। लेकिन जब इसमें नेस्टिंग शामिल हो जाती है तो यह बहुत कठिन हो जाता है, और यहीं पर ज़्यादातर लोग फंस जाते हैं।

रूपांतरण के दौरान नेस्टेड JSON का क्या होता है

यह वह हिस्सा है जिसे ज़्यादातर ट्यूटोरियल छोड़ देते हैं, और यह असली सिरदर्द का कारण बनता है। जब आपके JSON में नेस्टेड ऑब्जेक्ट्स या ऐरे होते हैं, तो किसी भी रूपांतरण टूल को—CocoConvert सहित—यह तय करना होता है कि इसे कैसे समतल (flatten) किया जाए। इसके कुछ तरीके हो सकते हैं। एक रणनीति डॉट नोटेशन का उपयोग करके नेस्टेड कीज़ (keys) को समतल करना है। `address.city` जैसा फ़ील्ड एक कॉलम हेडर बन जाता है, और उसका मान सीधे उस सेल में आ जाता है। यह सरल, एकल-स्तरीय नेस्टिंग के लिए एक बढ़िया समाधान है। दूसरा तरीका है नेस्टेड मान को "स्ट्रिंगीफाई" (stringify) करना, जहाँ पूरा ऑब्जेक्ट या ऐरे एक JSON स्ट्रिंग के रूप में एक ही सेल में डाल दिया जाता है। यह सभी डेटा को सुरक्षित रखता है, लेकिन यह स्प्रेडशीट में बिना और काम किए लगभग अपठनीय होता है। तीसरी, और अक्सर सबसे उपयोगी, रणनीति है ऐरे को कई पंक्तियों में विस्तारित करना। अगर किसी ग्राहक के तीन ऑर्डर हैं, तो कनवर्टर उस ग्राहक के लिए तीन अलग-अलग पंक्तियाँ बनाता है, और प्रत्येक ऑर्डर के लिए पैरेंट फ़ील्ड्स को डुप्लिकेट करता है। यह डेटा को स्प्रेडशीट में तुरंत प्रयोग करने योग्य बनाता है, लेकिन यह आपकी फ़ाइल को बहुत बड़ा भी बना सकता है। CocoConvert नेस्टेड ऑब्जेक्ट्स के लिए डॉट नोटेशन के साथ फ़्लैटनिंग और नेस्टेड ऐरे के लिए स्ट्रिंगीफाइंग को डिफ़ॉल्ट रूप से अपनाता है। इसलिए, यदि आपके JSON में {"shipping": {"method": "express", "days": 2}} जैसा दो-स्तरीय ऑब्जेक्ट है, तो आपको `shipping.method` और `shipping.days` के लिए कॉलम मिलेंगे। लेकिन अगर इसमें एक ऐरे है, तो वह पूरा ऐरे एक सेल में एक स्ट्रिंग के रूप में समाप्त हो जाएगा। गहराई से नेस्टेड डेटा के लिए—तीन या अधिक स्तर, या ऑब्जेक्ट्स के ऐरे—आपको एक साफ़ CSV प्राप्त करने के लिए लगभग निश्चित रूप से JSON को एक स्क्रिप्ट के साथ प्री-प्रोसेस करने की आवश्यकता होगी। कोई भी ऑनलाइन कनवर्टर जादुई रूप से हर नेस्टिंग पैटर्न को नहीं संभाल सकता। हज़ारों रिकॉर्ड्स पर इसे आज़माने से पहले आपको निश्चित रूप से एक छोटे नमूने के साथ परीक्षण करना चाहिए।

CocoConvert से JSON को CSV में बदलना

जब आपके पास सीधा-सादा JSON हो—ऑब्जेक्ट्स का एक सपाट ऐरे या सरल एक-स्तरीय नेस्टिंग—तो CocoConvert का उपयोग करना तेज़ है और इसके लिए किसी सेटअप की आवश्यकता नहीं है। प्रक्रिया सरल है। सबसे पहले, /convert/json-to-csv पर जाएँ। आपको अपलोड बॉक्स और आउटपुट विकल्प दिखाई देंगे। अपनी .json फ़ाइल अपलोड करें। CocoConvert का मुफ़्त टियर 50 MB तक की फ़ाइलों को संभालता है। यदि आपकी फ़ाइल बड़ी है, तो आपको इसे विभाजित करना होगा। इसके लिए `json.dump(data[:5000], open('chunk1.json','w'))` जैसा एक छोटा पाइथन वन-लाइनर एकदम सही है। अगला, अपना सीमांकक (delimiter) चुनें। कॉमा मानक है, लेकिन अगर आप ऐसे क्षेत्र में हैं जहाँ Excel एक सेमीकोलन की अपेक्षा करता है (हाँ, मैं जर्मनी और फ्रांस की बात कर रहा हूँ), तो आपको डाउनलोड करने से पहले इसे बदलना होगा। यह छोटी सी सेटिंग बहुत से लोगों को उलझा देती है। "हेडर पंक्ति शामिल करें" (include a header row) विकल्प को हमेशा चालू रखें। स्प्रेडशीट को कॉलम नामों के लिए उस पहली पंक्ति की आवश्यकता होती है। उसके बाद, बस "कन्वर्ट" पर क्लिक करें। 10,000 पंक्तियों वाली फ़ाइल में आमतौर पर 10 सेकंड से भी कम समय लगता है। फिर आप अपनी चमकदार नई .csv फ़ाइल डाउनलोड कर सकते हैं। यहाँ एक प्रो टिप है: अगर आपके JSON कीज़ में स्पेस या विशेष वर्ण हैं, जैसे "first name" या "unit$price", तो वे वैसे ही आपके कॉलम हेडर बन जाएँगे। Excel इसे संभाल सकता है, लेकिन फ़ार्मूला लिखना कष्टप्रद हो जाता है क्योंकि आपको संरचित संदर्भों के बजाय कॉलम अक्षरों का उपयोग करना पड़ता है। यह कहीं ज़्यादा साफ़-सुथरा तरीका है कि आप कन्वर्ट करने से पहले अपने JSON में कीज़ का नाम बदल दें, या इम्पोर्ट करने के ठीक बाद Excel में कॉलम के नाम ठीक कर लें। यह आपको बाद में होने वाले सिरदर्द से बचाएगा।

Excel में CSV को सही तरीके से खोलना

CSV डाउनलोड करना केवल आधा काम है। आप इसे Excel में कैसे खोलते हैं, यह एक साफ़-सुथरी तालिका और एक ही कॉलम में बेकार डेटा के ढेर के बीच का सारा अंतर पैदा करता है। चाहे कुछ भी हो जाए, फ़ाइल पर बस डबल-क्लिक न करें। एकमात्र विश्वसनीय तरीका इम्पोर्ट विज़ार्ड का उपयोग करना है। Excel 365 और Excel 2019 में, इसे Data → Get Data → From Text/CSV के तहत खोजें। अपनी फ़ाइल चुनें, और Excel एक पूर्वावलोकन दिखाएगा। यह आपके सीमांकक (delimiter) की पुष्टि करने का मौका है। यदि यह आपके द्वारा रूपांतरण के दौरान चुने गए सीमांकक से मेल नहीं खाता है, तो आपका सारा डेटा कॉलम A में सिमट जाएगा। जिस किसी ने भी CSV इम्पोर्ट के साथ संघर्ष किया है, वह इस दर्द को अच्छी तरह जानता है। दिनांक प्रारूपों (date formats) से सावधान रहें। यदि आपके JSON में ISO 8601 स्ट्रिंग्स (जैसे `2025-11-03T14:22:00Z`) का उपयोग किया गया है, तो Excel अक्सर उन्हें सादे टेक्स्ट के रूप में इम्पोर्ट करता है। आप इसे ठीक कर सकते हैं। कॉलम चुनें, Data → Text to Columns पर जाएँ, Delimited चुनें, दो बार Next पर क्लिक करें, और फिर कॉलम डेटा प्रारूप को Date (YMD) पर सेट करें। यह टेक्स्ट को वास्तविक दिनांक मानों में बदल देता है जिन्हें आप ठीक से सॉर्ट और फ़िल्टर कर सकते हैं। बड़ी फ़ाइलों के लिए, मान लीजिए 200,000 पंक्तियाँ, Excel इसे इम्पोर्ट तो कर लेगा, लेकिन यह बहुत धीमा हो जाएगा। पिवट टेबल और VLOOKUP बहुत धीमी गति से काम करेंगे। इसके बजाय Power Query का उपयोग करें (Data → Get & Transform Data → From CSV)। यह बड़े डेटासेट को संभालने में बहुत बेहतर है बिना Excel को अनुपयोगी बनाए। और Excel की हार्ड लिमिट से अवगत रहें: 1,048,576 पंक्तियाँ। अगर आपका JSON इससे ज़्यादा पंक्तियों वाली CSV बनाता है, तो Excel चुपचाप उस सीमा के बाद की सभी पंक्तियों को हटा देगा। यदि आप उस संख्या के करीब पहुँच रहे हैं, तो रूपांतरण शुरू करने से पहले ही अपनी स्रोत फ़ाइल को विभाजित कर लें।

Google Sheets में CSV इम्पोर्ट करना

Google Sheets आमतौर पर Excel की तुलना में CSV इम्पोर्ट को बेहतर तरीके से संभालता है, लेकिन कुछ सेटिंग्स महत्वपूर्ण हैं। प्रक्रिया सीधी है: एक शीट खोलें, File → Import पर जाएँ, और अपनी CSV अपलोड करें। दिखाई देने वाले डायलॉग में, आपके पास कुछ विकल्प होते हैं। मौजूदा डेटा को ओवरराइट करने से बचने के लिए हमेशा "इम्पोर्ट लोकेशन" (Import location) को एक नई शीट पर सेट करें। "सेपरेटर प्रकार" (Separator type) को कॉमा (या सेमीकोलन के लिए कस्टम) पर सेट करें। यहाँ सबसे महत्वपूर्ण सेटिंग है: "टेक्स्ट को संख्याओं, तारीखों और फ़ार्मुलों में बदलें" (Convert text to numbers, dates, and formulas)। यदि आपके डेटा में उत्पाद कोड हैं जो संख्याओं की तरह दिखते हैं (जैसे, `00847`), तो आपको शुरुआती शून्य (leading zeros) को बनाए रखने के लिए इस बॉक्स को अनचेक करना होगा। अन्यथा, Google Sheets आपकी मदद करते हुए आपके डेटा को 847 संख्या में बदलकर उसे "ठीक" कर देगा। यदि आप स्वचालित रूपांतरण चालू छोड़ देते हैं, तो Sheets ISO तिथियों को अपने मूल प्रारूप में पार्स करने का अच्छा काम करता है। यह संख्यात्मक स्ट्रिंग्स को संख्याओं में भी परिवर्तित करता है, जो आमतौर पर ठीक होता है लेकिन उन विशेष पहचानकर्ताओं के लिए एक समस्या हो सकती है। यदि आप यह अक्सर करते हैं, जैसे हर सोमवार को एक नया JSON एक्सपोर्ट खींचना, तो इसे मैन्युअल रूप से न करें। Google Sheets के `IMPORTDATA` फ़ंक्शन या Google Apps Script का उपयोग करने के बारे में सोचें। `IMPORTDATA` सार्वजनिक URL तक सीमित है, जो इसे निजी डेटा के लिए अनुपयोगी बना देता है। Apps Script कहीं अधिक शक्तिशाली है; यह एक संरक्षित JSON एंडपॉइंट से डेटा प्राप्त कर सकता है और इसे सीधे एक शीट पर लिख सकता है, जिससे CSV चरण पूरी तरह से छूट जाता है। लेकिन एक बार के कामों के लिए या उन टीमों के लिए जिनके पास डेवलपर नहीं है, /convert/json-to-csv पर CocoConvert से मिली फ़ाइल का उपयोग करके मैन्युअल इम्पोर्ट काम पूरा करने का सबसे तेज़ तरीका है। इसमें दो मिनट और शून्य कोड लगता है। Google Sheets की अपनी सीमाएँ हैं: प्रति फ़ाइल 100 MB और प्रति स्प्रेडशीट 10 मिलियन सेल। 50,000 पंक्तियों और 20 कॉलम वाली एक CSV केवल 1 मिलियन सेल होती है, इसलिए आपके पास काम करने के लिए बहुत जगह है।

सामान्य रूपांतरण त्रुटियों से निपटना

JSON को CSV में बदलते समय आपको कुछ सामान्य समस्याओं का सामना करना पड़ेगा। यहाँ बताया गया है कि किस पर ध्यान देना है। ऑब्जेक्ट्स में असंगत कीज़ (Inconsistent keys)। JSON लचीला है। एक ऐरे में एक ऑब्जेक्ट में `phone` फ़ील्ड हो सकता है जबकि अगले में नहीं। CocoConvert जैसे कनवर्टर पूरे डेटासेट में पाई गई प्रत्येक अद्वितीय कुंजी के लिए एक कॉलम बनाकर इसे संभालते हैं। जहाँ किसी रिकॉर्ड के लिए कोई कुंजी गायब होती है, वह सेल बस खाली छोड़ दिया जाता है। यह करने का सही तरीका है, लेकिन सावधान रहें: 30 थोड़ी अलग ऑब्जेक्ट संरचनाओं वाली एक अव्यवस्थित स्रोत फ़ाइल के परिणामस्वरूप 80 कॉलम वाली CSV बन सकती है, जिनमें से ज़्यादातर खाली होंगे। कन्वर्ट करने से पहले अपने JSON स्कीमा को साफ़ करें। यूनिकोड और विशेष वर्ण। JSON फ़ाइलें लगभग हमेशा UTF-8 होती हैं। यदि आपके डेटा में गैर-लैटिन वर्ण (जैसे अरबी, चीनी, या विशेष उच्चारण वाले अक्षर) शामिल हैं, तो आपको Excel को बताना होगा कि वह उनकी अपेक्षा करे। जब आप Data → Get Data → From Text/CSV के माध्यम से इम्पोर्ट करते हैं, तो पूर्वावलोकन डायलॉग में "फ़ाइल ओरिजिन" (File Origin) सेटिंग देखें और इसे `65001: Unicode (UTF-8)` में बदलें। यदि आप यह भूल जाते हैं, तो आपके सभी विशेष वर्ण अस्पष्ट कबाड़ (mojibake) में बदल जाएँगे। बहुत बड़ी संख्याएँ। यह सूक्ष्म लेकिन विनाशकारी है। JSON बड़ी संख्याओं को पूर्ण परिशुद्धता के साथ संभाल सकता है। लेकिन स्प्रेडशीट नहीं कर सकतीं। Excel और Google Sheets दोनों 64-बिट फ्लोटिंग पॉइंट गणित का उपयोग करते हैं, जिसका अर्थ है कि वे 9,007,199,254,740,992 (या 2^53) के बाद बड़े पूर्णांकों को राउंड करना शुरू कर देते हैं। यदि आपके JSON में 9007199254740993 जैसी कोई बड़ी संख्या है, तो यह इम्पोर्ट पर चुपचाप राउंड हो जाएगी। यदि आप डेटाबेस से बड़ी पूर्णांक आईडी के साथ काम कर रहे हैं, तो आपका एकमात्र सुरक्षित दांव यह है कि आप कन्वर्ट करने से *पहले* उन्हें JSON में स्ट्रिंग्स के रूप में संग्रहीत करें। खाली ऐरे और शून्य मान (null values)। JSON में एक `null` मान सही ढंग से CSV में एक खाली सेल बन जाता है। एक खाली ऐरे `[]` को विभिन्न टूल द्वारा अलग-अलग तरीके से संभाला जाता है। CocoConvert इसे एक खाली स्ट्रिंग में बदल देता है, जो स्प्रेडशीट के लिए सबसे अच्छा विकल्प है और भ्रम से बचाता है।

जब एक कनवर्टर सही उपकरण नहीं है

ऑनलाइन कनवर्टर एक बार के कार्यों और त्वरित जाँच के लिए एकदम सही हैं, खासकर जब आपका JSON पहले से ही सपाट (flat) हो। लेकिन वे हर काम के लिए सही उपकरण नहीं हैं। यदि आपका रूपांतरण एक स्वचालित पाइपलाइन का हिस्सा है—एक रात का ETL जॉब, CI/CD में डेटा प्रोसेसिंग, या कुछ भी जिसे आपके बिना चलने की आवश्यकता है—तो आपको एक स्क्रिप्टेड समाधान का उपयोग करना चाहिए। एक ऑनलाइन टूल स्वचालन के लिए पर्याप्त विश्वसनीय नहीं है। पाइथन की पांडास (pandas) लाइब्रेरी यहाँ उद्योग मानक है; आप `pd.read_json()` के साथ JSON पढ़ सकते हैं, `pd.json_normalize()` के साथ इसे समतल कर सकते हैं, और `.to_csv()` के साथ CSV में लिख सकते हैं, बस कुछ ही पंक्तियों में। कमांड-लाइन के जानकारों के लिए, `jq` यूनिक्स वातावरण में एक अविश्वसनीय रूप से शक्तिशाली विकल्प है: `jq -r '(.[0] | keys_unsorted) as $keys | $keys, (.[] | [.[$keys[]]] | @csv)' input.json > output.csv` सपाट ऐरे के लिए काम कर देगा। जब आपका JSON बहुत गहराई से नेस्टेड हो (तीन या अधिक स्तर गहरे, या ऑब्जेक्ट्स के ऐरे शामिल हों), तो कोई भी ऑनलाइन कनवर्टर आपको सीधे एक साफ़ CSV नहीं देगा। समस्या संरचनात्मक है; आपको इसे ठीक से समतल करने के लिए एक कस्टम स्क्रिप्ट लिखने की आवश्यकता है जो आपके विशिष्ट स्कीमा को समझती हो। एक और प्रारूप जिसके बारे में जानना है वह है JSON लाइन्स (.jsonl), जहाँ प्रत्येक पंक्ति एक अलग JSON ऑब्जेक्ट होती है। CocoConvert इन फ़ाइलों को पूरी तरह से संभालता है, इसलिए आप उन्हें वैसे ही अपलोड कर सकते हैं। बस यह सुनिश्चित करें कि आपकी फ़ाइल नियमित JSON और JSON लाइन्स को न मिलाए, अन्यथा आपको पहले इसे साफ़ करना होगा। बाकी सब कुछ के लिए? एक SaaS प्लेटफ़ॉर्म से एक JSON एक्सपोर्ट, एक API प्रतिक्रिया जिसे आपको स्प्रेडशीट में चाहिए, एक कॉन्फ़िग फ़ाइल जिसे आप एक तालिका के रूप में समीक्षा करना चाहते हैं—सीधे /convert/json-to-csv पर जाएँ। अपनी फ़ाइल अपलोड करें, और आपको एक मिनट से भी कम समय में एक साफ़ CSV मिल जाएगी।

Ready to convert?

Try it now — fast, secure, and private.

Convert Now →