 <p>You say the data will never change, so I don't see why you need to use HTML5 IndexedDB.</p> <p>You don't even need to store it in JSON format, just create the JS objects directly for optimal performance:</p> <pre><code>var data = [{ categoryName: "Animal", categoryId: 1, QA: [ { question: "Which animal barks ?", answer: "dog" }, { question: "Which animal moos ?", answer: "cow" }, ] }, { categoryName: "Grammar", categoryId: 2, QA: [ { question: "Opposite of men ?", answer: "women" }, { question: "Vowels ?", answer: "AEIOU" }, ] }]; </code></pre>