What is a .CRYPT12 file?
The best known encrypted local backup extension employed by WhatsApp for Android is CRYPT12. This extension is employed by WhatsApp LLC, now part of Meta Platforms, for securing the database of chats available on the phone or in local storage. Possible filenames for such databases could be msgstore.db.crypt12 or msgstore-YYYY-MM-DD.1.db.crypt12. msgstore.db is the unencrypted SQLite database containing messages, conversations, contacts data, timestamp, and media attachment references. Backups would normally occur in WhatsApp/Databases or, in case of more recent Android versions, in Android/media/com.whatsapp/WhatsApp/Databases.
The files with the .CRYPT12 extension are not an archiving tool, as the file cannot be opened as regular SQLite, ZIP, or text file. The messages will remain protected and inaccessible until the decryption is performed with the WhatsApp key from the corresponding installation; the key would normally be placed in /data/data/com.whatsapp/files/key. No major unrelated public file format is known to use .CRYPT12. Any files having .crypt12 extension but not conforming to the WhatsApp naming patterns are normally considered either corrupted or renamed ones.
How to open a .CRYPT12 file
Open a .CRYPT12 file on Windows
- 1 Go to the folder with your file in File Explorer. Usually, downloaded files end up in Downloads.
- 2 Double-click your .CRYPT12 file if you have an app for .crypt12 files on your computer. In case it does not open, move on to step three.
- 3 Right-click your .CRYPT12 file -> select .
- 4 Choose WhatsApp Messenger in the list (Windows 11: choose Always). For Windows 10 -> put a check on "Always use this app to open .crypt12 files" and click OK.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for Windows
- WhatsApp Messenger free
- WhatsApp Viewer open-source
- Whapa open-source
- Elcomsoft Explorer for WhatsApp paid
- Oxygen Forensic Detective paid
- Magnet AXIOM paid
- Belkasoft X paid
- MOBILedit Forensic paid
Open a .CRYPT12 file on macOS
- 1 In the Finder app, locate your .CRYPT12 file.
- 2 Just double-click your .CRYPT12 file in order to automatically launch the program which is connected with it.
- 3 Need another app on your Mac? Control-click the file (or right-click with a mouse). In the pop-up menu select .
- 4 If it isn't in the list, choose and find the application manually.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for macOS
- WhatsApp Messenger free
- Whapa open-source
- Elcomsoft Explorer for WhatsApp paid
- Backuptrans Android WhatsApp Transfer paid
- Wondershare Dr.Fone - WhatsApp Transfer paid
- iMyFone iTransor for WhatsApp paid
- MobileTrans paid
Open a .CRYPT12 file on Linux
- 1 Launch your file manager. Depending on the desktop it may be named Files (GNOME), Dolphin (KDE Plasma), Nemo (Cinnamon) or Thunar (Xfce).
- 2 Double-click the file.
- 3 Or choose another program by right-clicking the file -> .
- 4 Install Whapa (if it is not installed on your computer) from the software centre, repository or Flathub.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for Linux
- Whapa open-source
Open a .CRYPT12 file on Android
- 1 Launch Files or another file management app.
- 2 In Downloads, find the .CRYPT12 file and open it by tapping.
- 3 A list of apps capable of opening the file will be shown. Tap WhatsApp Messenger and press Always to permanently connect the file type with this app.
- 4 No apps able to open this file? Download WhatsApp Messenger from the Google Play Store.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for Android
- WhatsApp Messenger free
Open a .CRYPT12 file on iPhone / iPad
- 1 Use the Files app and go to On My iPhone, iCloud Drive or Downloads.
- 2 Tap the .CRYPT12 file you want to open.
- 3 If the file can be opened by a built-in iOS app (supported format), it opens automatically.
- 4 Touch and hold the file to get the context menu -> choose -> select WhatsApp Messenger from the list of apps.
- 5 If there is no such option, download the app first from the App Store and then tap the document again.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for iPhone / iPad
- WhatsApp Messenger free
Open a .CRYPT12 file online
- 1 Move to the online viewer at the top of this page.
- 2 Drag the file there or select it, and its contents will appear in your browser tab. The file is not uploaded.
Still not opening? See common problems and fixes, or view it in your browser.
Programs for Online
- WhatsApp Messenger free
More details about opening .CRYPT12 files
In Android OS, WhatsApp Messenger plays the role of the authoritative opener for the specified .crypt12 backup: put the right msgstore.db.crypt12 into your WhatsApp/Databases, or into Android/media/com.whatsapp/WhatsApp/Databases (it can differ from device to device), install/re-install the app, enter again the same phone-number; and wait until "Restore" message pops up. If it fails to pop up, the most common reason is that the file is stored in wrong path, has wrong file-name, corresponds to different number, or was created in different installation. Moreover, WhatsApp can re-encrypt the restored local backup into newer format .crypt14 and later.
In PC environments the tool WhatsApp viewer will successfully process msgstore.db.crypt12 along with corresponding WhatsApp key-file. This is a handy tool to explore and extract the chosen chats from crypt12 file to sqLite .db and HTML format. The utility Whapa runs on Windows, Mac, and Linux OS and performs an open source forensic style parsing and provides a chance to create csv files. The commercial solutions like Elcomsoft Explorer for WhatsApp, Oxygen Forensic Detective, Magnet AXIOM, Belkasoft x, MOBILedit Forensic perform similar functionality in more investigative-oriented way; allowing you to generate reports on PDF, Html and Xls(x). The main tasks of consumer utilities Backuptrans, Wondershare Dr.Fone, MobileTrans and iMyFone iTransor - migration or extraction.
The typical user in iOS OS doesn't work with .crypt12 files. On iPhone, WhatsApp uses other mechanism for creating backups. Migrations Android-to-iPhone and vice versa is performed using specific transfer solutions. The same concerns web-version and Windows/macOS desktop clients. If a failure happens by double-click, then don't rename crypt12 to the .db or .zip, and try to use right key/file name.
Technical details
.crypt12 is a binary file container format of WhatsApp backup, not a plain SQLite file. Normally the decrypted content starts with SQLite signature "SQLite format 3"; however, the actual contents of this file are encrypted and MAC-ed before any database bytes are readable. There is no stable magic value in offset #0, the way it could happen in case like the format identifier of PDF/ZIP, but it's identified using its typical file name, typical WhatsApp Android location on the device, file size, and ability to decrypt. WhatsApp backups are proprietary backups format with header info, encrypted content, integrity checks, it is not a well-known format and Meta does not provide a public technical documentation on crypt12 backup format yet. It uses the separate decryption key, thus, just taking .crypt12 file is usually not enough since third-party viewing is usually not possible without the key. Usually local file name is msgstore.db.crypt12 or msgstore-YYYY-MM-DD.nn.db.crypt12 with date-rotation.
The contents of the msgstore.db are a SQLite database with tables with data of messages, messages, contacts, receipts, quoted_messages and some data for app; however, the exact structure depends on version of WhatsApp application. Media attachments aren't normally stored into the DB file, they reside elsewhere in file system as separate files and referenced from the database by file paths and messages info (not included into database table directly). Database file sizes are variable with range from few megabytes (small database) till several hundred megabytes. Due to authentication mechanism of encrypted content, total corruption/mismatch/size truncation leads usually to decryption failure, not partial data. There is not any IANA defined MIME type, so usually it's treated as "application/octet-stream".
How to convert .CRYPT12 files
The simplest conversion is to decrypt an existing .crypt12 to .db SQLite. Thus the output will have the same table structure as msgstore.db and is a good option for use with SQLite tools such as DB Browser for SQLite, sqlite3 etc. The decrypted database produced this way has the correct schema and can be successfully exported to the SQLite databases using WhatsApp viewer once msgstore.db.crypt12 and its corresponding key file.
When you need to get readable analysis, you have two possible options - the usual HTML export and more specialized CSVs and PDF. As for html - the WhatsApp viewer can generate a report with ordered chat conversations possibly showing attachments but with no indexes and internal fields.
Whapa allows to produce decryped CSVs of chats which are convenient to work in tables and spreadsheets. However messages can get flattened and reactions can be omitted.
PDF reports on WhatsApp analysis can be generated by tools like Elcomsoft Explorer for WhatsApp, Oxygen Forensic Detective, and others. They cannot be imported to WhatsApp.
Built-in WhatsApp 'Export chat' function produces readable TXT chats which lack some metadata, indexes.
Crypt12 backups can be recovered using a simple routine like restoring in the app and then taking new backup in which case it will be named .crypt14 or newer and will remain unreadable unless key is available. Without the key or a successful restore, converters can usually only hash/copy and media needs to be separately collected.
| Convert to | Tool | Command / note |
|---|---|---|
| SQLite database (.db) | WhatsApp Viewer | Decrypts msgstore.db.crypt12 when supplied with the matching WhatsApp key file; output is the underlying SQLite database. |
| HTML chat report (.html) | WhatsApp Viewer | After decryption, selected chats can be exported to readable HTML; database indexes, deleted rows, and some internal metadata may not be preserved. |
| CSV tables (.csv) | Whapa | Whapa can parse decrypted WhatsApp databases and export artifacts for analysis; the WhatsApp key and database must match. |
| Forensic report (.pdf, .html, .xlsx) | Elcomsoft Explorer for WhatsApp | Commercial forensic tools can decrypt and report conversations, contacts, media references, and timestamps; exact export options depend on license and acquisition method. |
| Plain text chat transcript (.txt) | WhatsApp / manual export from restored backup | Restore the backup in WhatsApp, then use Export chat; media, database metadata, and original row identifiers are not retained in plain text. |
| New WhatsApp local backup (.crypt14 or newer) | WhatsApp Messenger | Restoring an old crypt12 backup into WhatsApp and backing up again re-encrypts the database using the current WhatsApp backup format. |
Common problems and fixes
“Could not decrypt database” (or an equivalent message) in WAView, WhapA, or any forensics tool usually means that the key is mismatched with the file msgstore.db.crypt12 (possibly renamed to something similar); the backup was made under a different WhatsApp installation or the file was damaged during copy. Check that the key and the file msgstore.db.crypt12 come from one device and installation. Authentication/MAC errors point to the possibility of a truncation, tampering as well as to the wrong key used for decryption; check the file length, download the file directly from the smartphone with a USB cable and avoid duplicate uploads through sync (they all would have exactly the same timestamp). Zero-byte or small file (a couple kilobytes large) always means that it is an unsuccessful backup that can be restored only with another backup made from the smartphone. In the newer WhatsApp version, extensions could be crypt14 or crypt15 in place of crypt12. Tools for crypt12 could be ineffective with current backups for these reason.
The “file is not a database” error in SQLite Browser, DB Browser, sqlite3 console normally tells you that the file is not decrypted yet. Decrypt first, and then open the newly acquired .db file. There is some other reasons for which the restoration of the backup file could fail in WhatsApp - if a backup file does not reside in the appropriate folder, if the filename is not one of the expected msgstore names, if Google Drive Backup prevails in your case, if phone number is not correct. Some third party tools have trouble opening the folder of WhatsApp in the newest OS of Android (Android 11 and later), because of the limited access to data on scoped storage. Media could disappear after the export if the DB has been decrypted but media directory was not supplied, or the attachments were not stored on your phone anymore.
Security considerations
The content in .crypt12 is actually encrypted binary files instead of the Office file that might be having any macro in there; hence, .crypt12 should normally not contain scripts or executable programs. In terms of main threat to be concerned about, privacy should be noted because once decrypted, the .db msgstore would contain information like the messages, phone numbers, groups, contact names, dates of sending messages, locations, attachments media and others information depending on the WhatsApp version you are using. Consider the file containing WhatsApp key that helps decrypt backups of the local device. Try avoiding sending the .crypt12 to the online websites that promise you decryption of it for free since this might compromise your entire conversations including chats and also your whole network of contacts. Get official vendor programs for decryption of the backups that are known as backup viewer. Avoid getting any malicious program by not downloading fake WhatsApp backup software from any websites you get them from.
History and versions
WhatsApp, set up in 2009 before being purchased by Meta Platforms (known then as Facebook) in 2014, has seen an evolution of local encryption formats to store backups as its storage has advanced. The .crypt12 generation came out approximately in 2016 as the replacement for the previous local backup schemes .crypt8, .crypt9, .crypt10 and .crypt11 for many users. This scheme has never qualified for the IETF standard track. There have been no open-sourced RFC, ISO standard or other official format document of crypt12 published yet.
There were simultaneous Google drive backups while local msgstore.db.crypt12 files were still needed during the phone-to-phone transition, backup restoration and forensic acquisition process. WhatsApp applications later moved to .crypt14, .crypt15 and above on different WhatsApp versions, particularly on more recent android releases. There were schema changes in decrypted SQLite too along with implementation of message reaction feature and others including disappearing messages, communities, multi-device support and updated media references.
Relevance comes from old devices that may include msgstore.db.crypt12 as well as forensic investigation data stored on them. Crypt12 is well documented in reverse engineered methods through WhatsApp Viewer and other tools like Whapa or several commercial examiners.
Related formats
Correlative WhatsApp backup formats include .CRYPT14 and .CRYPT15 files, which serve the same functionality of storing the backup contents in a format that is compatible only to specific software, similar to .crypt12 but based on more advanced cryptographic protocols that will often require specific tools that can interpret them. Correlative backups based on encryption standards such as .CRYPT8, .CRYPT9, .CRYPT10, and .CRYPT11, even if a key file and tool is found that can handle them properly, might be older versions vulnerable to more advanced forensic solutions. After decryption, a common format is to receive the .DB formatted SQLite database file, which is easier to search through but has stopped being encrypted by WhatsApp. Non-specific .SQLITE and .SQLITE3 databases are directly readable by SQLite tools if there is nothing encrypting their contents, unlike .crypt12. The AB format used on legacy Android to back up files with adb backup can have the application files inside of it but are not WhatsApp crypt databases. Chat export may be in the .ZIP or plain .TXT form and iPhone backups will not have .crypt12 files.
No comments yet. Be the first to share your experience with this file type.