SQLite has few functions compared to other database management systems. SQLite authors see this as a feature rather than a problem, because SQLite has an extension mechanism in place.
There are a lot of SQLite extensions out there, but they are incomplete, inconsistent and scattered across the internet. Sqlean brings them together, neatly packaged into domain modules, documented, tested, and built for Linux, Windows and macOS.
We do not try to gather all the existing extensions into one giant pile — that would not be very useful. The goal is to create a well-thought set of domain modules with a convenient API. A kind of standard library for SQLite.
To achieve it, we split extensions that are too broad, merge the ones that are too narrow, refactor, add missing features, test, document, and do a ton of other small things.
Extensions • Downloading • Installation • Support
The functions are organized into the domain modules with clear API. Think of them as the extended standard library for SQLite:
- crypto: hashing, encoding and decoding data
- define: user-defined functions and dynamic sql
- fileio: read and write files
- fuzzy: fuzzy string matching and phonetics
- ipaddr: IP address manipulation
- math: math functions
- regexp: regular expressions
- stats: math statistics
- text: string functions and Unicode
- time: high-precision date/time
- uuid: Universally Unique IDentifiers
- vsv: CSV files as virtual tables
The single-file sqlean bundle contains all listed extensions.
There are precompiled binaries for every OS:
sqlean-win-x64.zip- Windows (Intel/AMD x64 CPU)sqlean-linux-x64.zip- Linux (Intel/AMD x64 CPU)sqlean-linux-arm64.zip- Linux (ARM CPU)sqlean-macos-x64.zip- Intel-based macOSsqlean-macos-arm64.zip- Apple silicon (ARM-based) macOS
Binaries are 64-bit and require a 64-bit SQLite version.
The easiest way to try out Sqlean extensions is to load them in the SQLite command-line interface:
sqlite> .load ./sqlean
sqlite> select stats_median(value) from stats_seq(1, 99);
See How to install an extension for usage with IDE, Python, JavaScript, etc.
Download the dependencies:
make prepare-dist
make download-sqlite
Then build for your OS:
make build
You'll find the compiled extensions in the dist folder.
If there's a feature you need that's missing, please open an issue to discuss it. Only open issues for real use cases you actually have, not for hypothetical situations or features that would just be nice to have.
If you find a bug, open an issue or send a PR. Please don't send PRs with new features — open an issue instead.
Copyright 2021-2026 Anton Zhiyanov, Contributors and Third-party Authors.
The software is available under the MIT License.
Sqlean is mostly a one-man project, not backed by a VC fund or anything.
If you find Sqlean useful, please star it on GitHub and spread the word among your peers. It really helps to move the project forward.