Indexed Database API

JavaScript application programming interface

IndexedDBIndexed Database API

Abbreviation| IndexedDB
Native name|

Indexed Database API

Status| First Public Working Draft
Latest version| 3.0
11 March 2021[1]
Preview version| Editor's Draft
11 March 2021[2]
Organization|

* W3C
* Google
* Microsoft
* Mozilla[3]
* Oracle[4]

Committee| Web Applications Working Group
Editors|

* Ali Alabbas[1]
* Joshua Bell[1]

Previous editors

*     * Nikunj Mehta
* Jonas Sicking
* Eliot Graff
* Andrei Popescu
* Jeremy Orlow

Base standards|

* HTML DOM
* File API
* Infra Standard
* JSON
* Storage Standard

Related standards|

* HTTP cookie
* Web SQL Database

Domain| NoSQL databases
Website| www.w3.org/TR/IndexedDB/

The Indexed Database API (commonly referred to as IndexedDB) is a JavaScript application programming interface (API) provided by web browsers for managing a NoSQL database of objects. It is a standard maintained by the World Wide Web Consortium (W3C).[1]

As an alternative to the Web storage standard, IndexedDB can provide more storage capacity. Web storage has fixed limits per website, but IndexedDB limits are "usually quite large, if they exist at all".[5]

Use cases for IndexedDB include caching web application data for offline availability.[6] Some browser modules, such as devtools or extensions, may also use it for storage.

## History

[edit]

Support for IndexedDB was added to Firefox version 4,[7] Google Chrome version 11,[8] Internet Explorer version 10,[9] Safari version 8,[10] and Microsoft Edge version 12.[11]

Web SQL Database was a prior API developed by Apple.[12] But Firefox refused to add support for it and argued against it becoming a standard because it would codify the quirks of SQLite.[13][14] It was thus deprecated in favor of IndexedDB.[15]

IndexedDB 1.0 became a W3C Recommendation on January 8, 2015.[16] IndexedDB 2.0 became a W3C Recommendation on January 30, 2018.[17][3] IndexedDB 3.0 was released as a First Public Working Draft on 11 March 2021 and remains as a Working Draft as of 3 December 2024[update].[18]

## Performance

[edit]

Because IndexedDB is running inside of the security sandbox of a browser, all operations have to go through various security layers which decreases the performance of IndexedDB. With IndexedDB 2.0 [17] the getAll() method was added which allows to improve performance on bulk read operations.

## References

[edit]

1. ^ a b c d Web Applications Working Group (2021-03-11). Alabbas, Ali; Bell, Joshua (eds.). "Indexed Database API 3.0". W3C. W3C First Public Working Draft. Web Applications Working Group. Retrieved 2021-05-15.
2. ^ Web Applications Working Group (2021-03-11). Alabbas, Ali; Bell, Joshua (eds.). "Indexed Database API 3.0". W3C. Editor’s Draft. Web Applications Working Group. Retrieved 2021-05-15.
3. ^ a b Web Applications Working Group (2018-01-30). Alabbas, Ali; Bell, Joshua (eds.). "Indexed Database API 2.0". W3C. W3C Recommendation. Web Applications Working Group. Retrieved 2021-05-16.
4. ^ "Indexed Database API". 2015-01-08. Retrieved 2022-04-21.
5. ^ "Working with IndexedDB". Google Inc. Retrieved 19 January 2019.
6. ^ "Using IndexedDB". MDN. Mozilla. Retrieved 19 January 2019.
7. ^ "IndexedDB - MDC Doc Center". Developer.mozilla.org. Archived from the original on 2012-05-26. Retrieved 2011-02-18.
8. ^ "IndexedDB - Chrome Platform Status". IndexedDB - Chrome Platform Status. The Chromium Projects. 2012-05-21. Retrieved 2021-05-15.
9. ^ IndexedDB, MSDN, 2012-03-14, retrieved 2012-05-24
10. ^ "OS X Yosemite v10.10 § App Features". Apple Developers. Apple. 2017-07-09. Retrieved 2021-05-15.
11. ^ "IndexedDB". Can I use... n.d. Retrieved 2021-05-16.
12. ^ Shankland, Stephen (2010-03-12). "Consensus emerges for key Web app standard | Deep Tech - CNET News". News.cnet.com. Retrieved 2011-02-18.
13. ^ O'Callahan, Robert (2010-06-04). "Well, I'm Back: Not Implementing Features Is Hard". Weblogs.mozillazine.org. Archived from the original on 2020-11-09. Retrieved 2011-02-18.
14. ^ Ranganathan, Arun (2010-06-01). "Beyond HTML5: Database APIs and the Road to IndexedDB – Mozilla Hacks - the Web developer blog". Mozilla Hacks – the Web developer blog. Retrieved 2021-05-21.
15. ^ "html5 - Why is Web SQL database deprecated?". Software Engineering Stack Exchange.
16. ^ Web Applications Working Group (2015-01-08). Mehta, Nikunj; Sicking, Jonas; Graff, Eliot; Popescu, Andrei; Orlow, Jeremy; Bell, Joshua (eds.). "Indexed Database API". W3C. W3C Recommendation. Web Applications Working Group. Retrieved 2021-05-16.
17. ^ a b W3C (2018-01-30). "Indexed Database API 2.0 is now a W3C Recommendation | W3C News". W3C News. Retrieved 2021-05-16.`{{cite web}}`: CS1 maint: numeric names: authors list (link)
18. ^ "Indexed Database API 3.0 publication history". W3C. 2024-11-07. Archived from the original on 2024-12-03. Retrieved 2024-12-03.

## External links

[edit]

* IndexedDB API on MDN Web Docs
* Browser database comparison

* v
* t
* e

Web browsers

* Features
* standards
* protocols

| Features|

* Bookmarks
* Extensions
* Privacy mode

|

Web standards|

* HTML
* v5
* CSS
* DOM
* JavaScript
* WebAssembly
* Web storage
* IndexedDB
* WebGL
* WebGPU

Protocols|

* HTTP
* Encryption
* Cookies
* third-party
* OCSP
* WebRTC
* WebSocket

Active

| Blink-based|

| Proprietary|

* Google Chrome
* Arc
* Avast
* Coc Coc
* Comodo
* Epic
* Huawei
* Maxthon
* Microsoft Edge
* Opera (Mobile)
* Puffin
* QQ
* Samsung
* Silk
* Sleipnir
* SRWare
* UC
* Vivaldi
* Whale
* Yandex

|

FOSS|

* Chromium
* Brave
* Dooble
* Falkon
* Otter
* Supermium
* ungoogled

Gecko-based|

* Firefox
* Floorp
* GNU IceCat
* LibreWolf
* Midori
* SlimBrowser
* Tor
* Zen
* Gecko forks
* Basilisk
* K-Meleon
* Pale Moon
* SeaMonkey
* Waterfox

WebKit-based|

* Safari
* GNOME Web
* iCab
* Orion

Multi-engine|

* 360
* DuckDuckGo
* Konqueror
* Lunascape
* NetFront
* qutebrowser

Other|

* Dillo
* eww
* Flow
* Ladybird
* Links
* Lynx
* NetSurf
* Opera Mini
* w3m

Discontinued

| Blink-based|

* Beaker
* Citrio
* Flock
* Redcore
* Rockmelt
* SalamWeb
* Sputnik
* Torch

|

Gecko-based|

* Beonex
* Camino
* Classilla
* Conkeror
* Firefox Lite
* Galeon
* Ghostzilla
* IceDragon
* Kazehakase
* Kylo
* Lotus
* MicroB
* Minimo
* Mozilla suite
* PirateBrowser
* Pogo
* Strata
* Swiftfox
* Swiftweasel
* TenFourFox
* Timberwolf
* xB

MSHTML-based|

* Internet Explorer
* AOL
* Deepnet
* GreenBrowser
* MediaBrowser
* NeoPlanet
* NetCaptor
* SpaceTime
* ZAC

WebKit-based|

* Arora
* BOLT
* Dolphin
* Fluid
* Google TV
* Iris
* Mercury
* Nokia Symbian
* OmniWeb
* Opera Coast
* Origyn
* QtWeb
* Shiira
* Steel
* surf
* Uzbl
* WebPositive
* xombrero

Other|

* abaco
* Amaya
* Arachne
* Arena
* Blazer
* Cake
* CM
* Deepfish
* Edge Legacy
* ELinks
* Gazelle
* HotJava
* IBM Home Page Reader
* IBM WebExplorer
* IBrowse
* Internet Explorer for Mac
* KidZui
* Line Mode
* Mosaic
* MSN TV
* NetPositive
* Netscape
* Skweezer
* Skyfire
* ThunderHawk
* Vision
* WinWAP
* WorldWideWeb

* Category
* Comparisons
* List

* v
* t
* e

Web interfaces

Server-side

Protocols|

* HTTP
* v2
* v3
* Encryption
* WebDAV
* CGI
* SCGI
* FCGI
* AJP
* WSRP
* WebSocket

Server APIs|

* C NSAPI
* C ASAPI
* C ISAPI
* COM ASP
* Jakarta Servlet
* container
* CLI OWIN
* ASP.NET Handler
* Python WSGI
* Python ASGI
* Ruby Rack
* JavaScript JSGI
* Perl PSGI
* Portlet
* container

Apache modules|

* mod_include
* mod_jk
* mod_lisp
* mod_mono
* mod_parrot
* mod_perl
* mod_php
* mod_proxy
* mod_python
* mod_wsgi
* mod_ruby
* Phusion Passenger

Topics|

* Web service vs. Web resource
* WOA vs. ROA
* Open API
* Webhook
* Application server
* comparison
* Scripting

Client-side

Browser APIs|

* C NPAPI
* LiveConnect
* XPConnect
* C NPRuntime
* C PPAPI
* NaCl
* ActiveX
* BHO
* XBAP

Web APIs|

| WHATWG|

* Audio
* Canvas
* DOM
* SSE
* Video
* WebSockets
* Web messaging
* Web storage
* Web worker
* XMLHttpRequest

|

W3C|

* DOM events
* EME
* File
* Geolocation
* IndexedDB
* MSE
* SVG
* WebAssembly
* WebAuthn
* WebGPU
* WebRTC
* WebXR

Khronos|

* WebCL
* WebGL

Others|

* Gears
* Web SQL Database (formerly W3C)
* WebUSB

Topics|

* Ajax and Remote scripting vs. DHTML
* Browser extension
* Cross-site scripting and CORS
* Hydration
* Mashup
* Persistent data
* Web IDL
* Scripting

Related topics

* Frontend and backend
* Microservices
* REST
* GraphQL
* Push technology
* Solution stack
* Web page
* Static
* Dynamic
* Web standards
* Web API security
* Web application
* Rich
* Single-page
* Progressive
* Web framework

* v
* t
* e

World Wide Web Consortium (W3C)

Products and
standards|

| Recommendations|

* ActivityPub
* Activity Streams
* ARIA
* Canonical XML
* CDF
* CSS
* Animations
* Flexbox
* Grid
* DOM
* EXI
* EmotionML
* Geolocation API
* HTML
* HTML5
* IndexedDB
* ITS
* JSON-LD
* Linked Data Notifications
* MathML
* Micropub
* OWL
* PLS
* RDF
* Schema
* RDFa
* SISR
* SKOS
* SMIL
* SOAP
* SRGS
* SRI
* SSML
* SVG
* Filter Effects
* SCXML
* SHACL
* SPARQL
* Timed text
* VoiceXML
* WebAssembly
* WoT
* TD
* Web storage
* WSDL
* Webmention
* WebSub
* WebVTT
* WOFF
* XHTML
* +RDFa
* XML
* Base
* Encryption
* Events
* Information Set
* Namespace
* Schema
* Signature
* XForms
* XInclude
* XLink
* XOP
* XPath
* 2.0
* 3.x
* XPointer
* XProc
* XQuery
* XSL
* XSL-FO
* XSLT
* elements

|

Notes|

* IndieAuth
* XAdES
* XBL
* XHTML+SMIL
* XUP

Working drafts|

* CCXML
* CURIE
* EME
* InkML
* MSE
* RIF
* SMIL Timesheets
* sXBL
* WebGPU
* WebXR
* XFDL
* XFrames
* XMLHttpRequest

Guidelines|

* Web Content Accessibility Guidelines

Initiative|

* Markup Validation Service
* Web Accessibility Initiative
* Web Components

Deprecated|

* C-HTML
* HDML
* JSSS
* PGML
* VML
* WebPlatform

Obsoleted|

* P3P
* XHTML+MathML+SVG

Organizations|

* WHATWG
* Defunct: World Wide Web Foundation

Elected groups|

* AB
* Board
* TAG

Working groups|

* CSS
* SVG
* WebAssembly
* WebAuthn

Community & business groups|

* Web Advertising BG
* WebAssembly CG

Closed groups|

* Device Description (DDWG)
* HTML
* Multimodal Interaction Activity (MMI)

Software|

* CERN httpd
* Libwww

Browsers|

* Line Mode (1990–)
* Arena (1993–98)
* Agora (1994–97)
* Argo (1994–97)
* Amaya (browser/editor, 1996–2012)

Conferences|

* International World Wide Web Conference (IW3C)
* Steering Committee (IW3C2)
* First conference ("WWW1", 1994)

*[W3C]: World Wide Web Consortium
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template