Microsoft Access only runs on Windows, and only with an Office licence that includes it - so an .mdb or .accdb sent by a club, a small business or an old line-of-business program often cannot be opened at all on a Mac, a Chromebook or a PC with ordinary Office. This reads the file directly - .mde and .accde too: every table, with its rows sorted and searched as you like, and its columns and their types. Lookup fields show the text Access shows rather than the number stored behind it, and multi-value fields, hyperlinks and rich text read as text. A calculated field (Access 2010 and later) shows the value Access saved with each row, and the Columns tab shows its expression. A linked table keeps its rows in another database file, so it is named but not shown.
Then it gets the data out into something current. Run your own SELECT queries on it, save one table or every table as CSV, the whole database as an Excel workbook with a sheet per table, as a SQLite database that the SQL Playground here opens for proper queries, joins included, or as a script that recreates it, primary keys and indexes included, in MySQL, PostgreSQL or SQL Server. Pictures stored in OLE fields and files in attachment fields can be saved one by one.
- How do I open an Access database on a Mac?
- Access has never had a Mac version, so there is nothing to install - open the file here in Safari or Chrome. Every table can then be saved as an Excel workbook for Numbers or Excel for Mac, or as SQLite for anything that runs queries.
- How do I open an MDB file online for free?
- Drop it on this page: the tables appear in a few seconds, with no sign-up and nothing to install, on Windows, a Mac, a Chromebook or Linux. "Online" here means in your browser, not on a server - the file is read by this tab and never uploaded, which matters for a database full of names and addresses. The same goes for .accdb, .mde and .accde files.
- What is the difference between MDB and ACCDB?
- .mdb is the database format of Access 97 to 2003 (the Jet engine); .accdb is the format Access 2007 and later use (the ACE engine), which added attachment and multi-value fields and real password encryption. .mde and .accde are the same files with the VBA code compiled and the designs locked. This page opens all four; the tables and saved queries read the same way in each.
- Can I run my own SQL queries on an MDB file?
- Yes. Under Run SQL, type a SELECT query - in Access's own SQL, with [brackets], #dates#, IIf, Nz, Left, Mid and the rest, or in plain SQL - and press Run it. Joins, GROUP BY, ORDER BY, TOP, UNION and saved queries used as tables all work; a name in brackets that is not a field is asked for, as Access asks for a parameter. Up to 5,000 rows come back, the first 500 shown on the page, and they can be saved as CSV. Only SELECT queries run, as nothing here changes the file. For much heavier querying, save the database as SQLite and open it in the SQL Playground.
- How big an Access database can it open?
- The whole file is read into this tab's memory, so the limit is your device rather than a fixed size: a database of a few megabytes opens in moments, and larger ones take longer and need more memory. Access itself stops at 2 GB per file. For a very large table, CSV and SQLite need far less memory to save than the Excel workbook.
- Can I search the whole database at once?
- Yes. Under Search all tables, type a name, a number or a word: every table is searched, without regard to capitals, for the text the grid shows (so a lookup field matches on its text, and a hyperlink on its display text). The rows found are listed by table, the first 20 of each with the match picked out; click one to open its table at that row. A long search can be stopped, and what it found so far stays listed.
- Does it show lookup fields, multi-value fields, hyperlinks and rich text?
- Yes. A lookup field stores a key, often an ID number, and shows text from a list or another table; the grid shows that text, with the stored value in the tooltip, and Show stored values switches back to the keys. This works when the lookup's list is typed in (a value list), or comes from a table or a simple SELECT from one table (fields joined with & included), directly or through a saved query; a lookup built any other way, such as on a join, shows its stored values. A lookup whose list leaves some rows out (with a WHERE) still shows the text for any key stored, where Access may leave the box blank. Multi-value fields show their values separated by semicolons, looked up the same way. A hyperlink shows its display text, and opens in a new tab when it is a web or email address; a link to a file on someone's computer is shown but not followed. Rich text shows as plain text. In the CSV and Excel files a lookup field is followed by a column of its text, such as "Customer (text)", and a hyperlink is written as "text (address)". The SQLite file and the SQL scripts keep what Access stores: the keys, the hyperlinks' full addresses and the rich text's HTML; multi-value fields go in as text. The JSON file keeps the keys too, each followed by its text as "Customer (text)", a hyperlink as its text and address, the rich text's HTML, and a multi-value field as a list.
- Can I convert MDB to Excel?
- Yes. The Excel button saves every table as its own sheet in one .xlsx file, with dates and currency as real Excel values rather than text. A sheet holds just over a million rows; a larger table is cut there and the page says so - the SQLite export keeps every row.
- Can I see and run the saved queries?
- Yes. Under Queries, every saved query is listed with its SQL exactly as Access shows it in SQL view. Select, union and crosstab queries can be run: the page translates Access's SQL (its [brackets], #dates#, IIf, Nz, Mid, Year and so on) for the copy of the tables it reads, asks for any parameters, and shows the results. A query that uses a function written in VBA, or TOP n PERCENT, cannot be run here and says so. Queries that update, delete, append or make tables are shown but not run, as nothing here changes the file.
- Can I see the forms, reports and VBA code?
- The VBA code, yes (see below). The forms, reports and macros are listed under Other objects, with the date each was created and last changed - often enough to tell which parts of an inherited database are still in use - but their designs are not shown, as Access stores them in its own format.
- How do I view the VBA code in an Access database without Access?
- Open the .accdb here and choose VBA code: every module is listed under Forms, Reports, Modules and Class modules, with its code in numbered, coloured lines - the code behind a form is its Form_ module. Search all the code at once, copy a module, or save it as a .bas or .cls file that the VBA editor's File > Import File reads back; Save all as .zip saves them all. Nothing is run. It is tested on .accdb and .accda files from Access 2007 and later; .mdb files from Access 2000 to 2003 keep their code the same way but are untested, and Access 97 code is not shown. An .accde or .mde has had its code removed, so only the module names are there.
- Can I move an Access database to MySQL, PostgreSQL or SQL Server?
- Yes. The MySQL, PostgreSQL and SQL Server buttons save a .sql script that creates every table, with each Access type mapped to the nearest one (Short Text to VARCHAR, or NVARCHAR in SQL Server; Currency to DECIMAL(19,4); Date/Time to DATETIME, TIMESTAMP or DATETIME2; Yes/No to BOOLEAN or BIT; OLE to BLOB, BYTEA or VARBINARY(MAX)), then adds every row. AutoNumber fields keep their values and go on counting from the highest. Each table's primary key and indexes are read from the Access file and created too, with their columns, order and whether they are unique; an index on a Long Text, OLE or attachment field is listed in the script as a comment, as the servers cannot index those whole. Load it with mysql, psql or sqlcmd (sqlcmd -b -i file.sql, so it stops at the first error), or a tool such as MySQL Workbench, DBeaver, pgAdmin or SQL Server Management Studio; the MySQL script works with MariaDB too. The SQL Server script is cut into batches with GO, which sqlcmd and Management Studio both understand, so a big database loads in pieces the server accepts. The relationships are at the end of the script, commented out: once the data is in, remove the -- in front of each to add it. In a password-protected .accdb the keys cannot be read, and the script says so at the top.
- Does it open password-protected databases?
- Yes. An .accdb from Access 2007 or later with a password is genuinely encrypted: the page asks for the password and decrypts the file in your browser, so neither leaves your computer. An .mdb from Access 97 to 2003 with a database password opens without it, because those passwords never encrypted the data.
- I forgot my Access database password. Can I get it back?
- For your own .mdb from Access 97 to 2003, yes: open it here and the page shows the password it stores, with a button to copy it, so you can open the file in Access again. An .accdb from Access 2007 or later keeps no copy of its password, so it cannot be recovered - but if you remember it, the file opens here and the Excel and SQLite buttons save the data without a password.