--- title: IndexedDB slug: Web/API/IndexedDB_API translation_of: Web/API/IndexedDB_API ---
IndexedDB is een API voor het opslaan van significante hoeveelheden van gestructureerde
data op de cliënt en voor hoogperformante opzoekingen van deze data door het gebruik van indexen.
Terwijl DOM Storage handig is voor het opslaan van kleinere hoeveelheden van data is het minder bruikbaar voor de 
opslag van grotere hoeveelheden van gestructureerde data.
IndexedDB levert hiervoor de oplossing.
 
Deze pagina is het startpunt voor de technische omschrijving van de API objecten.
Als je een basis nodig hebt kan je Basic Concepts About IndexedDB consulteren. Voor meer details kan je Using IndexedDB raadplegen.
 
IndexedDB voorziet aparte APIs voor synchrone en asynchrone toegang.
De synchrone API is bedoeld voor het gebruik in Web Workers, maar is nog door geen enkele browser geimplementeerd.
De asynchrone API werkt zowel met als zonder Web Workers, maar Firefox heeft dit nog niet geïmplementeerd.


Asynchrone API

De asynchrone API methoden geven feedback zonder de oproepende thread te blokkeren.
Om asynchrone toegang tot een database te verkrijgen roep je open() op het indexedDB attribuut van een window object. Deze methode stuurt een IDBRequest object (IDBOpenDBRequest); asynchrone operaties communiceren met de oproepende applicatie door events uit te voeren op  IDBRequest objecten.

Notitie: Het indexedDB object heeft een prefix in oudere browserversies (eigendom mozIndexedDB in Gecko < 16, webkitIndexedDB in Chrome, en msIndexedDB in IE 10).

Een vroege versie van de specificatie definieert ook deze nu verwijderde interfaces. Ze zijn nog steeds gedocumenteerd in geval u oudere code moet aanpassen:

Er is ook een synchronone versie van de API.  De synchrone API is nog in geen enkele browser geïmplementeerd. Het is bedoeld om te werken met WebWorkers.

Opslaglimieten

Er is geen limiet op een enkel database item qua omvang.
Echter kan er wel een limiet zijn op elke indexedDB database omvang.
Deze limiet (en hoe de gebruikerinterface deze zal verklaren) kan variëren per browser.

Voorbeeld

Een krachtig voorbeeld waarvoor indexedDB gebruikt kan worden op het web is een voorbeeld door Marco Castelluccio, winnaar van de IndexedDB Mozilla DevDerby. De winnende demo was eLibri, een bibliotheek en eBook lezer applicatie.

Browsercompatibiliteit

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Asynchronous API

24.0
11.0 {{ property_prefix("webkit") }}

{{ CompatGeckoDesktop("16.0") }}
{{ CompatGeckoDesktop("2.0") }} {{ property_prefix("moz") }}
10 15.0 {{ CompatNo() }}
Synchronous API
(used with WebWorkers)
{{ CompatNo() }} {{ CompatNo() }}
See {{ bug(701634) }}
{{ CompatNo() }} {{ CompatNo() }} {{ CompatNo() }}
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Asynchronous API {{ CompatNo() }} {{ CompatGeckoDesktop("6.0") }} {{ property_prefix("moz") }} {{ CompatNo() }} {{ CompatNo() }} {{ CompatNo() }}

Er is ook de mogelijkheid om IndexedDB te gebruiken op oudere browsers die WebSQL ondersteunen door gebruik te maken van IndexedDB Polyfill.

Zie ook