Convert ACCDB to SQLite

Upload a .mdb or .accdb or .mde file and get back a SQLite file. Types are preserved rather than flattened to text. Free, no registration, up to 10MB.

Click to upload or drag and drop

CSV, Excel, SQLite, SQL, DBF (max 10 MB)

How your data is typed in SQLite

Generated from the converter's own SQLite type mapping — this is what it actually emits, not an example.

Your dataSQLite type
Whole numberBIGINT
Decimal (money)NUMERIC(10,2)
Floating pointREAL
True / falseBOOLEAN
DateDATE
Date and timeTIMESTAMP
Short textTEXT
Long textTEXT
Binary dataBLOB

Working from an .accdb file

An .accdb file uses ACE, the engine that replaced Jet from Access 2007 onward. It adds attachment and multi-value fields that have no equivalent in any relational target, so it is worth knowing what happens to them before you convert.

  • Ordinary tables and columns convert exactly as they do from .mdb - the reader is the same one.
  • Attachment and multi-value fields have no relational equivalent and no type of their own here: they fall back to text columns rather than stopping the conversion.
  • ACE supports a genuine database password, and there is no way to supply one to the reader - remove the password in Access before uploading.
  • The recognised Access extensions are .mdb, .accdb and the compiled .mde. A compiled .accde front-end is not among them, so upload the .accdb it was built from.

What the .sqlite file looks like inside

The output here is a real database rather than a script, so the interesting question is not how to load it but what SQLite did with the types on the way in. Its storage classes are looser than the declarations the file ends up carrying.

  • Names are carried over exactly as they were, with none of the sanitising the script targets apply: a table called Sales Report keeps its space and a column called Order ID keeps its own, so your queries have to quote them.
  • Underneath the declared types sit only five storage classes, and NUMERIC affinity - what a decimal column gets - is the loosest of them: it normalises inserted text to whatever a plain INTEGER or REAL column would hold. The precision and scale in the schema are for a human reading it, not a guarantee SQLite enforces on the bytes; the Writing notes below cover what that means for money specifically.
  • Declared type and stored type are different things here: a BOOLEAN column holds the integers 1 and 0, and a DATE column holds ISO text, because those are the storage classes SQLite actually has. Every client reads them back the same way.

Reading ACCDB

  • Dates are exported in ISO form, avoiding the ambiguous 12/02/21 that Access tools produce by default.
  • NULL and the empty string stay distinct.
  • Access can hold dates outside the range it can represent. Those become NULL and the conversion tells you, rather than dropping them silently.
  • Requires mdbtools on the server; if it is unavailable you get a clear error rather than a partial conversion.

Writing SQLite

  • Columns get real declared types rather than everything being TEXT.
  • Primary keys and NOT NULL constraints are preserved.
  • A money column is declared NUMERIC(10,2), but that declaration does not stop SQLite’s own numeric affinity from converting the inserted value into a float once it lands, so 19.99 can come back with a rounding tail. Pick the DuckDB target instead when the exact decimal has to survive.

What you get

A ZIP containing database.sqlite. If anything about your data needed a judgement call, a _warnings.txt explains it.

Questions

Is converting ACCDB to SQLite free?
Yes. Files up to 10MB convert free with no account. There is a limit of five conversions per day per IP address.
Will my ACCDB data keep its types in SQLite?
Yes — that is the point. Whole numbers, decimals, dates and booleans are mapped to real SQLite types rather than everything becoming text. The mapping table above shows exactly what you get.
Do you store my file?
No. The file is written to a temporary directory, converted, and the directory is deleted as soon as your download has been sent.

This conversion, under other names

Convert ACCDB to something else

Convert something else to SQLite