Browser कितनी बड़ी JSON फ़ाइल संभाल सकता है
मुख्य बात: कोई निश्चित सीमा नहीं है; बाधा आपके tab का memory बजट है। 20MB फ़ाइल parse होने के बाद आमतौर पर 60–100MB बन जाती है, और highlighted DOM उसे दोबारा दोगुना कर सकता है।

मुख्य बात: कोई निश्चित ऊपरी सीमा नहीं है — memory से अनुमान लगाएँ, क्योंकि parsed object आमतौर पर टेक्स्ट आकार का 3–5 गुना लेता है और highlighted DOM उसे दोबारा दोगुना कर देता है; 50MB से ऊपर, या जब top-level record गिनती लाखों में पहुँचे, तो tab में ज़बरदस्ती करने के बजाय slice करें, stream करें या लोकल ऐप पर चले जाएँ।
Memory कहाँ जाती है
20MB का JSON टेक्स्ट तीन बार मौजूद होता है:
- कच्ची string: 20MB
- Parsed object graph: आमतौर पर 60–100MB (डुप्लिकेट strings, object headers, hash tables)
- Highlighted DOM: हर token के लिए एक node, आसानी से दोबारा 2x
Editor buffers, undo stacks और syntax-highlight caches अतिरिक्त हैं। एक "20MB फ़ाइल" 200MB से अधिक resident ले सकती है।
अंगूठे के नियम
| आकार | Desktop | Mobile |
|---|---|---|
| < 5MB | सहज | सहज |
| 5–20MB | हल्की देरी, format में 1–3s | स्पष्ट देरी, freeze हो सकता है |
| 20–50MB | चल सकती है पर भारी; highlighting बंद करें | संभवतः crash |
| > 50MB | सिफ़ारिश नहीं | उपयोग योग्य नहीं |
ये device, browser संस्करण और highlighting चालू होने पर बदलते हैं। इन्हें परिमाण के क्रम के लिए उपयोग करें, गारंटी के रूप में नहीं।
अधिक RAM इसे क्यों नहीं ठीक करती
Tabs की एक कठोर सीमा है, और उसे पार करने का मतलब सहज क्षरण के बजाय तत्काल crash है। Mobile और भी सख़्त है, कुछ सौ megabytes के निचले हिस्से में ही पुनःप्राप्ति कर लेता है।
बड़ी फ़ाइलों के साथ काम करना
इसे slice करें।
head -c 1048576 big.json | jq .
jq '.items[0:100]' big.json
इसे stream करें। stream-json, ijson, jq --stream record-दर-record process करते हैं और memory फ़ाइल आकार से स्वतंत्र रहती है।
लोकल ऐप उपयोग करें। कोई tab सीमा नहीं, पूरी मशीन की memory: desktop download।
फ़ॉर्मैट बदलें। Logs और event streams शुरू से NDJSON होने चाहिए — प्रति पंक्ति एक record, संरचना से ही streamable।
Backend से कम करने को कहें। अगर UI को तीन फ़ील्ड चाहिए, तो तीन सौ भेजना API डिज़ाइन की समस्या है, browser की सीमा नहीं।
अपनी फ़ाइल का आकार नापें
ls -lh data.json
jq 'length' data.json
अगर length लाखों में है, तो byte आकार चाहे जो हो, जवाब pagination या streaming है।
FAQ
पता कैसे चले कि मेरी फ़ाइल किस आकार की श्रेणी में है?
ls -lh से bytes और jq 'length' से top-level record गिनती देखें। कुछ megabytes से कम फ़ाइलें हर जगह सहज चलती हैं, 20–50MB desktop पर चलती है पर अटकती है, और 50MB से ऊपर stream करें या command-line टूल उपयोग करें।
50MB से बड़ी फ़ाइल के साथ क्या करूँ?
head -c से slice करें, या jq, stream-json या jq --stream से stream करें ताकि memory फ़ाइल आकार से स्वतंत्र रहे। अगर पूरा document देखना है, तो desktop ऐप उपयोग करें, जो tab के memory बजट से बंधा नहीं है। Logs और event streams वैसे भी NDJSON में होने चाहिए।