What Is a .sqlitedb File and How to Open It
The .sqlitedb extension is less common than .db or .sqlite, so it can look mysterious. You’ll mostly find it in iPhone and Mac app data, sometimes in backups, and now and then in developer tools.
The good news: a .sqlitedb file is just a SQLite database with a different name. You can open and inspect it with the same free tools you’d use for any SQLite file. This guide shows you how, and explains the odd table and column names you’ll often see inside Apple app databases.
What is a .sqlitedb file?
It’s a SQLite 3 database. The “.sqlitedb” ending is simply the developer’s naming choice. Inside, the format is identical to .db, .sqlite and .sqlite3 files.
You can confirm this by checking the first bytes. Every SQLite 3 file starts with the text “SQLite format 3.” Our viewer checks this for you automatically.
Where .sqlitedb files come from
- iOS apps. Some apps store their data in .sqlitedb files inside their app container.
- iPhone backups. Files extracted from an iTunes or Finder backup may use this extension.
- macOS apps. Some Mac apps keep caches or libraries this way.
- Core Data apps. Apple’s Core Data framework often uses SQLite as its storage. Files from these apps can have many extensions, including .sqlitedb.
How to open a .sqlitedb file
The quick way: online viewer
- Copy the .sqlitedb file somewhere easy to find.
- Open our free SQLite viewer.
- Click Choose file. If the file doesn’t show up, set the file type filter to “All files.”
- Select the file. Your tables appear on the left.
The file stays on your device. That matters here, because iPhone data often includes messages, contacts or locations.
On a Mac with Terminal
macOS ships with sqlite3. Open Terminal and run:
sqlite3 ~/Desktop/data.sqlitedb
.tablesOur Mac guide covers Terminal commands in more detail.
With a desktop app
DB Browser for SQLite opens .sqlitedb files. In its open dialog, choose “All files” so it lists the extension. See our best SQLite viewers roundup for more options.
How to inspect a .sqlitedb file
Once it’s open, here’s how to make sense of it.
Step 1: Scan the table names
In Core Data databases, you’ll see a pattern. Most tables start with a capital Z:
| Table | Meaning |
|---|---|
| ZNOTE, ZCONTACT, ZITEM | Your actual app data (one table per entity) |
| Z_PRIMARYKEY | Tracks the next ID for each entity |
| Z_METADATA | Core Data model information |
| Z_MODELCACHE | Cached model data |
| Z_1TAGS, Z_2ITEMS | Link tables for many-to-many relationships |
The real content is in the Z-prefixed tables named after things, like ZNOTE.
Step 2: Read the column names
Core Data columns also start with Z. For example:
Z_PKis the row’s ID.Z_ENTtells you which entity type the row belongs to.Z_OPTis a version counter used internally.ZTITLE,ZBODY,ZCREATIONDATEare the real fields.
Ignore the Z and read the rest. ZCREATIONDATE is just “creation date.”
Step 3: Convert Apple dates
Apple apps often store dates as seconds since January 1, 2001. This is called Core Data time or Mac absolute time. It’s different from Unix time, which counts from 1970.
To convert, add 978307200 seconds (the gap between 1970 and 2001) and use SQLite’s unixepoch modifier:
SELECT ZTITLE,
datetime(ZCREATIONDATE + 978307200, 'unixepoch') AS created
FROM ZNOTE
LIMIT 20;If the numbers are huge, like 700000000000000000, they’re probably nanoseconds. Divide by 1000000000 first.
Step 4: Search for what you need
Use the search box in the viewer to find text across every column of a table. Or write a query:
SELECT * FROM ZNOTE WHERE ZTITLE LIKE '%recipe%';For more exploration tips, read how to view the contents of a SQLite database.
Reading relationships in Core Data files
Core Data links rows in a way that looks strange at first. Instead of a column like note_id, you’ll often see a column named after the relationship, such as ZFOLDER. Its value is the Z_PK of the related row.
So to see each note with its folder name, you join on that column:
SELECT n.ZTITLE, f.ZNAME AS folder
FROM ZNOTE n
LEFT JOIN ZFOLDER f ON f.Z_PK = n.ZFOLDER
LIMIT 20;Many-to-many relationships use separate link tables with names like Z_3TAGS. The numbers in those names refer to entity IDs. You can look them up in the Z_PRIMARYKEY table, which maps each entity name to its number:
SELECT Z_ENT, Z_NAME FROM Z_PRIMARYKEY;Once you have that map, the link tables start to make sense. Each row pairs one entity’s Z_PK with another’s.
Why some columns hold binary data
You may see BLOB columns with names like ZDATA or ZTHUMBNAIL. These can hold:
- Small images or thumbnails
- Archived objects in Apple’s binary property list format
- Compressed text
The viewer shows a BLOB’s size and lets you see the raw bytes as hex. If the bytes start with the letters “bplist,” it’s a binary property list. You’d need a plist tool to decode it. For most tasks you can skip these columns and focus on the readable text and number fields.
Keep your copy private
Files from phones and Mac apps often contain personal information. Before you send a .sqlitedb file to anyone, open it and check what’s inside. You may find names, phone numbers, locations or message text you didn’t expect. Our viewer reads the file locally, so checking it doesn’t expose it to anyone.
Getting a .sqlitedb file off an iPhone
This is the hardest part, and it depends on the app. Common routes:
- An unencrypted Finder or iTunes backup. Backups store files under hashed names. Backup explorer tools can find specific app files.
- Apps that export data. Some apps offer an export or share option.
- Developer access. If it’s your own app, Xcode can download the app container from a test device.
Encrypted backups need the backup password and a tool that can decrypt them. A SQLite viewer can’t read encrypted files.
Exporting data from a .sqlitedb file
Once you’ve found the table you need:
- Click Export CSV to save it for Excel or Google Sheets.
- Or write a query that picks and converts columns, then export the result.
Converting dates in your query before exporting saves time later. Our SQLite to CSV guide shows the full process, and SQLite to Excel covers spreadsheet quirks.
Other extensions you may see from Apple apps
Apple apps don’t always use .sqlitedb. You may also find SQLite data in files ending in .sqlite, .db, .storedata, or with no extension at all. The contents are the same format. If you’re not sure, open the file in the viewer. It checks the header and tells you straight away whether it can read the file.
Troubleshooting
The file won’t show up in the file picker
Change the file type filter to “All files.” Some pickers only show known extensions.
“Not a SQLite database”
The file may be encrypted, or you may have copied a placeholder instead of the real file. Check the size. A tiny file is suspicious. Our file is not a database guide explains more.
Tables look empty
Look for -wal and -shm files with the same name. Copy them along with the main file. Recent data often sits in the -wal file.
A worked example
Say you have a notes app database called Notes.sqlitedb and you want every note title with its date.
- Open the file in the viewer and look for a table like
ZNOTEwith a large row count. - Click it and scan the columns. You spot
ZTITLEandZCREATIONDATE. - The dates look like 760000000. That’s in the range of Apple seconds since 2001, not Unix time.
- Open Run SQL and convert them:
SELECT ZTITLE,
datetime(ZCREATIONDATE + 978307200, 'unixepoch') AS created
FROM ZNOTE
ORDER BY ZCREATIONDATE DESC;- Check a few dates against what you remember. If they’re 31 years off, you picked the wrong epoch.
- Click Export CSV on the result.
You now have a clean list of every note and its date, ready for a spreadsheet. The same steps work for most Apple app databases. Only the table and column names change.
Want the technical detail? See the official SQLite database file format specification.
Frequently asked questions
Is .sqlitedb different from .sqlite?
No. Both are SQLite 3 databases. Only the extension differs.
Can I rename .sqlitedb to .db?
Yes. It won’t change the contents. Some tools are happier with familiar extensions.
Why do all the tables start with Z?
That’s how Apple’s Core Data names its tables and columns. It’s an internal convention.
Can I edit a .sqlitedb file and put it back on my iPhone?
Technically, in some developer setups. For normal users, it’s risky and usually not possible without special tools. Treat the file as read only.
Summary
A .sqlitedb file is a normal SQLite database, often from an Apple app. Open it in our online SQLite viewer, look for Z-prefixed tables that hold the real data, convert Apple dates by adding 978307200 seconds, and export what you need. Your file never leaves your device.







