MDB Viewer
See the tables of a Microsoft Access database without Access, on any computer or phone, and save them as Excel, CSV or JSON.
- Opens
.mdb.accdb- Versions
- Access 97 to 2019 and 365
- Exports
- XLSX, CSV, JSON
- Uploads
- None
Drop an .mdb or .accdb file here
It opens in this tab. Nothing is uploaded.
Not affiliated with Microsoft. Access is a trademark of Microsoft Corporation.
See it work
30 seconds: a sample database opened, searched and exported, then a password-protected one
How it reads the file
Header, system tables, then rows in a background thread
The header
The first page names the Access version, says whether the file is encrypted and with what, and, for Access 97, which Windows code page its text is in. A protected file asks for its password here, before anything else is read.
The system tables
Access keeps a catalogue of everything in the file in a hidden table, MSysObjects. It lists the tables, linked tables, queries, forms and reports, and the properties of each column, such as the formula of a calculated field.
The rows
Tables are decoded with mdb-reader in a Web Worker, so the page stays responsive, and kept in memory as you browse. Exports are written row by row: one sheet per table in Excel, one file per table in the CSV zip.
Tested on real files
40 databases from Access 97 to 365, 187,389,394 values compared
Each file was read with this page’s own code and compared value by value with mdbtools, an independent reader, or, where mdbtools can’t read a file, with the expectations in the tests of the project it comes from. Run on 2026-11-03.
| File | Access version | What’s special | Result |
|---|---|---|---|
testV1997.mdb116 KB | Access 97 (Jet 3) | Access 97: text, memo, numbers, dates, OLE | 2 rows, 18 values match mdbtools |
testUnicodeCompV2003.mdb288 KB | Access 2000–2003 (Jet 4) | Jet 4 compressed Unicode text | 8 rows, 16 values match mdbtools |
testTurkishV2003.mdb244 KB | Access 2000–2003 (Jet 4) | Turkish text and sort order | 2 rows, 4 values match mdbtools |
complexDataTestV2007.accdb512 KB | Access 2007 (ACE 12) | Attachments, multi-value and version-history columns | 4 rows, 12 values match mdbtools; the rest match upstream tests; 2 columns named as not read |
linkerTestV2007.accdb444 KB | Access 2007 (ACE 12) | Tables linked to linkeeTest.accdb | 1 row, 2 values match mdbtools; 1 linked table listed |
linkeeTest.accdb512 KB | Access 2007 (ACE 12) | Target of the linked tables | 2 rows, 4 values match mdbtools |
odbcLinkerTestV2007.accdb596 KB | Access 2007 (ACE 12) | ODBC-linked tables | 1 row, 11 values match mdbtools; 1 linked table listed |
queryTestV2007.accdb356 KB | Access 2007 (ACE 12) | Saved queries of every kind | 1 row, 4 values match mdbtools; 9 queries listed |
oldDatesV2007.accdb472 KB | Access 2007 (ACE 12) | Dates before 1900 | 4 rows, 8 values match mdbtools; the rest match upstream tests |
calcFieldTestV2010.accdb696 KB | Access 2010 (ACE 14) | Calculated fields | 4 rows, 24 values match mdbtools; the rest match upstream tests; 11 columns named as not read |
testEmoticonsV2010.accdb376 KB | Access 2010 (ACE 14) | Emoji outside the Basic Multilingual Plane | 80 rows, 160 values match mdbtools |
extDateTestV2019.accdb544 KB | Access 2019 / 365 (ACE 17) | Date/Time Extended (nanoseconds, years 1–9999) | 9 rows, 42 values match mdbtools; the rest match upstream tests; 1 column named as not read |
pwd-set.mdb284 KB | Access 2000–2003 (Jet 4) | Jet 4 database password (not enforced by the format) | 1 row, 2 values match mdbtools |
db-enc.mdb116 KB | Access 2000–2003 (Jet 4) | Jet 4 RC4 encoding, no password | 2 rows, 6 values match mdbtools |
db97-enc.mdb88 KB | Access 97 (Jet 3) | Jet 3 RC4 encoding, no password | 2 rows, 6 values match mdbtools |
db2007-oldenc.accdb424 KB | Access 2007 (ACE 12) | RC4 CryptoAPI encryption, 40-bit key | Refused as expected: RC4 CryptoAPI encryption, 40-bit key isn’t supported |
db2007-enc.accdb420 KB | Access 2010 (ACE 14) | Agile encryption with AES-128 and SHA-1 | 1 row, 2 values match mdbtools; the rest match upstream tests; wrong password refused |
db2013-enc.accdb380 KB | Access 2010 (ACE 14) | Agile encryption (AES-256, SHA-512) | 7 rows, 14 values match mdbtools; the rest match upstream tests; wrong password refused |
db-nonstandard.accdb432 KB | Access 2010 (ACE 14) | AES-256 through a non-standard encryption provider | Refused as expected: a non-standard encryption provider (AES-256, Microsoft Enhanced RSA and AES Cryptographic Provider) isn’t supported |
money2001.mny2 MB | Microsoft Money (MSISAM) | Microsoft Money 2001 file (MSISAM) | Refused as expected: Microsoft Money (MSISAM) file |
testAccess_V1997.mdb116 KB | Access 97 (Jet 3) | Access 97 with document properties | 2 rows, 18 values match mdbtools |
testAccess2_2000.mdb412 KB | Access 2000–2003 (Jet 4) | Access 2000: rich text, Chinese, embedded PDF | 3 rows, 24 values match mdbtools |
testAccess2_2002-2003.mdb408 KB | Access 2000–2003 (Jet 4) | Access 2002–2003: same content | 3 rows, 24 values match mdbtools |
testAccess2.accdb776 KB | Access 2007 (ACE 12) | Access 2007+: same content | 3 rows, 24 values match mdbtools |
testAccess2_encrypted.accdb544 KB | Access 2010 (ACE 14) | Encrypted copy of testAccess2.accdb | 3 rows, 24 values match mdbtools on the unencrypted copy; wrong password refused |
bigint.accdb500 KB | Access 2016 (ACE 16) | Large Number (64-bit) column | 1 row, 1 value matches mdbtools |
attachments.accdb512 KB | Access 2007 (ACE 12) | Attachment column with 0, 1 and 3 files | 3 rows, 6 values match mdbtools; the rest match upstream tests |
currency.accdb500 KB | Access 2007 (ACE 12) | Currency values | 1 row, 2 values match mdbtools |
office-agile-4.4.accdb312 KB | Access 2010 (ACE 14) | Agile encryption (AES-256, SHA-512) | 3 rows, 6 values match mdbtools on the unencrypted copy; wrong password refused |
office-agile-4.2.accdb308 KB | Access 2010 (ACE 14) | RC4 CryptoAPI encryption, 128-bit key | 3 rows, 6 values match mdbtools on the unencrypted copy; wrong password refused |
V2010_with-password.accdb312 KB | Access 2010 (ACE 14) | Access 2010 password: Agile encryption | 3 rows, 6 values match mdbtools on the unencrypted copy; wrong password refused |
V2010_no-password.accdb308 KB | Access 2010 (ACE 14) | The same file without the password | 3 rows, 6 values match mdbtools |
V2003_with-password.mdb212 KB | Access 2000–2003 (Jet 4) | Jet 4 password: opens without it | 3 rows, 6 values match mdbtools |
OGD4Stadtplan.mdb988 KB | Access 2000–2003 (Jet 4) | Public transport stops and lines of Linz, German text | 1,650 rows, 10,639 values match mdbtools |
nwind.mdb3 MB | Access 97 (Jet 3) | Northwind sample database, German edition (no licence stated, so not redistributed) | 4,032 rows, 36,328 values match mdbtools; 22 queries listed |
DateTestDatabase.mdb268 KB | Access 2000–2003 (Jet 4) | Dates before the year 1000 and in 9999 (no licence stated, so not redistributed) | 6 rows, 28 values match mdbtools |
Commons 2000.mdb37 MB | Access 97 (Jet 3) | Registered common land in England, 2000; Defra also publishes CSV exports of its tables | 54,483 rows, 2,684,963 values match mdbtools; row keys and 170,211 values also match the publisher’s CSV export |
SR_Legacy.accdb177 MB | Access 2007 (ACE 12) | USDA National Nutrient Database for Standard Reference, Legacy | 934,890 rows, 11,932,322 values match mdbtools |
NPRI.accdb777 MB | Access 2007 (ACE 12) | All NPRI data 1993 to present; the archive is republished, so its hash changes | 10,265,996 rows, 65,736,332 values match mdbtools |
IPEDS_2023-24.accdb956 MB | Access 2007 (ACE 12) | IPEDS 2023-24 final, about 1 GB unpacked | 3,363,672 rows, 106,988,294 values match mdbtools |
Sources and licences of every file, the mdbtools version and the comparison rules are in lab/access in this site’s repository.
Limits
Tables only; some column types, encryption schemes and very large files
| Objects | Tables only. Forms, reports, macros and VBA modules are counted, not shown. Saved queries are listed by name but not run. |
|---|---|
| Linked tables | Listed with the file they point to. Their rows live in that file, so open it instead. |
| Special columns | Calculated fields show their formula, not values: Access stores their results in a layout the reader doesn’t decode. Multi-value and version-history fields aren’t read. Both are named in the Schema tab and the export notes. |
| Files in cells | OLE Objects show their type and size, attachments their names and sizes. Excel and CSV exports leave OLE cells empty and list attachment names; the JSON export carries the files as base64. |
| Encryption | Opens, with the password, Agile encryption (AES-256 with SHA-512, AES-128 with SHA-1) and RC4 CryptoAPI encryption with a 128-bit key; Access 97–2003 encoded files open without one. Refuses, with a clear message, 40-bit RC4 (the Access 2007 file tested) and non-standard providers. |
| Access 97 text | Decoded in the code page stored in the file (Cyrillic, Central European, Greek, Japanese and others). Old DOS code pages, which browsers can’t decode, are shown as Windows-1252. |
| Dates | Shown as stored, with no time zone, wherever you open the page. Excel can’t hold dates before March 1900, so those are written as text. |
| Size | The whole file is loaded into memory. In desktop Chrome a 1 GB database with 3.4 million rows opened in a second, its largest table (1.7 million rows) was searched in 16 seconds and the whole file saved to Excel in under 3 minutes. Phones have less memory, so very large files may not open there. Excel sheets stop at 1,048,576 rows; longer tables continue on a second sheet. |
Questions
How do I open an MDB file on a Mac?
Microsoft Access has no Mac version. Open the file on this page in Safari, Chrome or Firefox, browse the tables, and export them to Excel (.xlsx), which Numbers also opens. For the command line, mdbtools (brew install mdbtools) exports tables to CSV.
Will the export open in Excel and Numbers?
Yes: one sheet per table, with real numbers and dates. Excel holds 1,048,576 rows per sheet, so a longer table continues on a sheet named “Table (2)”. Numbers handles up to about a million rows per table in current versions and gets slow well before that; for very large tables, use the CSV export.
My database has a password. Can I open it?
Access 2007 and later encrypt the file with the password. For the AES encryption of Access 2010 and later, or 128-bit RC4, type it when asked and the file is decrypted in this tab. Access 97–2003 passwords only lock the file in Access and don’t encrypt the data, so those files open without it. A few schemes, such as the 40-bit RC4 of Access 2007, aren’t supported yet; the page names the scheme when it refuses a file.
Is my file uploaded?
No. It is read with your browser’s File API in a Web Worker, and the export is built in the same tab. The Network tab of your browser’s developer tools shows no upload, and the page works offline once loaded.
More tools in Data viewers.