How to Open WhatsApp msgstore.db (and Why .crypt14 Won’t Open)
If you’ve ever poked around your Android phone’s WhatsApp folder, you’ve seen files like msgstore.db.crypt14 or msgstore-2026-09-20.1.db.crypt15. They’re your chat backups. Naturally, you want to open them and read your messages.
Here’s the honest truth up front: those backup files are encrypted, and no normal SQLite viewer can open them. That includes ours. But there are safe ways to get at your chats, and if you do have an unencrypted msgstore.db, it opens like any other SQLite file.
This guide explains what msgstore.db is, why the backups are locked, what’s actually inside the database, and the realistic options for reading your own messages.
What is msgstore.db?
msgstore.db is the SQLite database where WhatsApp on Android stores your messages. It holds your chats, message text, timestamps, and references to media like photos and voice notes. The media files themselves are stored separately.
There are two versions to know about:
| File | Where it lives | Encrypted? |
|---|---|---|
| msgstore.db | WhatsApp’s private app folder | No, but protected by Android |
| msgstore.db.crypt14 or .crypt15 | Your phone’s shared storage, in WhatsApp’s Databases folder | Yes |
The live database is protected by Android’s app sandbox. The backup copies are encrypted. Either way, you can’t just open them with a file manager.
Why won’t .crypt14 or .crypt15 files open?
The number at the end shows the encryption version. WhatsApp has updated it over the years: .crypt12, .crypt14, .crypt15 and so on. The file is a full copy of msgstore.db, encrypted with a key.
That key isn’t the file name and it isn’t your WhatsApp password. On Android, it’s stored inside WhatsApp’s private data folder, which normal apps can’t read. For end-to-end encrypted cloud backups, the key is protected by the password or 64-digit key you chose when you turned that feature on.
So when you drop a .crypt14 file into a SQLite viewer, it sees random bytes instead of the “SQLite format 3” header. The result is the “file is not a database” message. Renaming the file to .db doesn’t change the contents, so it doesn’t help. Our guide to the file is not a database error explains this in more detail.
The easy way to read your chats: export from WhatsApp
For most people, the simplest and safest option is WhatsApp’s own export feature.
- Open WhatsApp and go to the chat you want.
- Tap the menu (three dots), then More, then Export chat.
- Choose Without media for a small file, or Include media.
- Share it to email, Google Drive, or save it to your device.
You get a plain text file with every message, the sender and the time. You can read it on any computer, search it, or import it into a spreadsheet. It’s one chat at a time, but it needs no special tools and no risk.
When you can open msgstore.db directly
You can open the database in a SQLite viewer if you have an unencrypted copy. That usually means one of these:
- A rooted Android phone. With root access, you can copy the live file from WhatsApp’s private folder. Rooting has real security and warranty downsides, so it isn’t something to do casually.
- A forensic or legal extraction. Professionals use specialised tools with proper authorisation.
- A copy you decrypted yourself with the correct key, which again usually requires root to obtain on Android.
Once you have a real msgstore.db, it’s a normal SQLite file. Drop it into our online SQLite viewer and it opens instantly. Nothing is uploaded, which matters a lot for chat data.
A word of caution: be very careful with third-party apps or websites that promise to “decrypt WhatsApp backups.” Some want you to upload your backup and key, which hands over your private messages. Only work with your own data, on your own device.
What’s inside msgstore.db
WhatsApp has changed its database layout over time, so table names depend on the app version.
Newer versions
| Table | What it holds |
|---|---|
| message | One row per message, with text, timestamp and whether you sent it |
| chat | One row per conversation |
| jid | Phone numbers and group IDs |
| message_media | Details about photos, videos and voice notes |
| message_quoted | Replies and quoted messages |
Older versions
Older databases use a single table called messages with columns like key_remote_jid (the chat), key_from_me (1 if you sent it), data (the text) and timestamp.
Contact names are stored in a separate file, wa.db, not in msgstore.db.
Useful queries
Open the Run SQL tab in the viewer and adjust these to match your file.
For newer databases, recent messages with readable dates:
SELECT datetime(timestamp / 1000, 'unixepoch') AS time,
from_me, text_data
FROM message
WHERE text_data IS NOT NULL
ORDER BY timestamp DESC
LIMIT 50;For older databases:
SELECT datetime(timestamp / 1000, 'unixepoch') AS time,
key_remote_jid, key_from_me, data
FROM messages
WHERE data IS NOT NULL
ORDER BY timestamp DESC
LIMIT 50;WhatsApp stores times in milliseconds, which is why we divide by 1000. Once you have the rows you want, click Export CSV. Our SQLite to CSV guide has tips for opening the file in Excel.
If you’re not sure which layout you have, check the table list first. Our guide on viewing the contents of a SQLite database shows how.
What about WhatsApp on iPhone?
WhatsApp on iPhone uses a different database called ChatStorage.sqlite. It lives inside the app’s container and ends up in iPhone backups. If the backup isn’t encrypted, backup explorer tools can extract it.
Inside, you’ll see Core Data style tables such as ZWAMESSAGE and ZWACHATSESSION. Dates count seconds from January 1, 2001, so you add 978307200 to convert them:
SELECT datetime(ZMESSAGEDATE + 978307200, 'unixepoch') AS time, ZTEXT
FROM ZWAMESSAGE
ORDER BY ZMESSAGEDATE DESC
LIMIT 50;Our guide to .sqlitedb files explains these Apple-style tables in more detail.
Where the photos and voice notes are
msgstore.db doesn’t contain your media. It only stores details about each file, like its name, size and type. The actual photos, videos, voice notes and documents sit in WhatsApp’s Media folder on your phone, under a path like Android/media/com.whatsapp/WhatsApp/Media.
Inside, you’ll find folders such as:
- WhatsApp Images
- WhatsApp Video
- WhatsApp Voice Notes
- WhatsApp Documents
These files aren’t encrypted on the phone, so you can copy them to a computer with a USB cable. To match a photo to a message, the database’s media table stores the file path. That’s how forensic tools rebuild full conversations with pictures.
Understanding message rows
Not every row in the message table is a text message. You’ll also see:
- System messages such as “Messages are end-to-end encrypted” or someone joining a group.
- Media messages where the text column is empty but the media table has a matching row.
- Deleted messages that show a placeholder instead of the original text.
- Reactions and edits in newer versions, often stored in separate tables.
That’s why the example queries filter for rows where the text isn’t empty. If your count of messages looks too high, system rows are usually the reason.
Common problems
The file is only a few kilobytes
You probably copied a placeholder or an empty backup. Check the file size in your file manager. A real chat database is usually several megabytes or more.
The viewer opens it, but tables are missing
You may have wa.db (contacts) instead of msgstore.db, or a very old version with a different layout. Check the table list against the tables described above.
Dates are in 1970
You forgot to divide by 1000. WhatsApp uses milliseconds, not seconds.
Privacy and the law
Chat databases hold very personal information, including other people’s messages. Please:
- Only open databases that belong to you, or that you have clear permission to access.
- Don’t upload chat backups or keys to websites you don’t trust.
- Delete working copies when you’re done.
Our viewer reads files locally in your browser, which is the safest way to look at sensitive data like this.
Want the technical detail? See the official SQLite write-ahead logging documentation.
Frequently asked questions
Can your viewer decrypt .crypt14 or .crypt15 files?
No. Decryption needs the key from WhatsApp’s private storage. Our viewer opens only unencrypted SQLite files.
Where are WhatsApp backups stored on Android?
On most modern phones, in Android/media/com.whatsapp/WhatsApp/Databases in your phone’s storage. Older phones used a WhatsApp/Databases folder at the top level.
Can I read WhatsApp messages on my computer?
Yes. Use WhatsApp’s Export chat feature to get a text file, or use WhatsApp’s desktop and web apps to read chats directly.
Why does my msgstore.db have no messages?
It may be an old or partial copy, or the data may still be in a -wal file. Copy msgstore.db-wal along with the main file.
Summary
WhatsApp’s msgstore.db is a normal SQLite database, but the backups you can see on your phone are encrypted .crypt14 or .crypt15 files that no ordinary viewer can open. For most people, WhatsApp’s Export chat feature is the easiest way to read messages. If you do have an unencrypted msgstore.db, open it privately in our free SQLite viewer and use the queries above to read and export your chats.







