Self-contained, embeddable, zero-configuration SQL database engine

SQLite (32-bit)

SQLite 3.40.0 (32-bit)

  -  512 KB  -  Freeware

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of SQLite 3.40.0 (32-bit).


For those interested in downloading the most recent release of SQLite (32-bit) or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • SQLite 3.40.0 (32-bit) Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    SQLite 3.40.0 (32-bit) Screenshot 1

What's new in this version:

- Add support for compiling SQLite to WASM and running it in web browsers. NB: The WASM build and its interfaces are considered "beta" and are subject to minor changes if the need arises. We anticipate finalizing the interface for the next release.
- Add the recovery extension that might be able to recover some content from a corrupt database file
- Query planner enhancement
- Recognize covering indexes on tables with more than 63 columns where columns beyond the 63rd column are used in the query and/or are referenced by the index
- Extract the values of expressions contained within expression indexes where practical, rather than recomputing the expression
- The NOT NULL and IS NULL operators (and their equivalents) avoid loading the content of large strings and BLOB values from disk
- Avoid materializing a view on which a full scan is performed exactly once. Use and discard the rows of the view as they are computed
- Allow flattening of a subquery that is the right-hand operand of a LEFT JOIN in an aggregate query
- A new typedef named sqlite3_filename is added and used to represent the name of a database file. Various interfaces are modified to use the new typedef instead of "char*". This interface change should be fully backwards compatible, though it might cause (harmless) compiler warnings when rebuilding some legacy applications
- Add the sqlite3_value_encoding() interface
- Security enhancement: SQLITE_DBCONFIG_DEFENSIVE is augmented to prohibit changing the schema_version. The schema_version becomes read-only in defensive mode
- Enhancements to the PRAGMA integrity_check statemen
- Columns in non-STRICT tables with TEXT affinity should not contain numeric values
- Columns in non-STRICT tables with NUMERIC affinity should not contain TEXT values that could be converted into numbers
- Verify that the rows of a WITHOUT ROWID table are in the correct order
- Enhance the VACUUM INTO statement so that it honors they PRAGMA synchronous setting
- Enhance the sqlite3_strglob() and sqlite3_strlike() APIs so that they are able to accept NULL pointers for their string parameters and still generate a sensible result
- Provide the new SQLITE_MAX_ALLOCATION_SIZE compile-time option for limiting the size of memory allocations
- Change the algorithm used by SQLite's built-in pseudo-random number generator (PRNG) from RC4 to Chacha20
- Allow two or more indexes to have the same name as long as they are all in separate schemas
- Miscellaneous performance optimizations result in about 1% fewer CPU cycles used on typical workloads