GRDB.swift

What GRDB.swift is
GRDB.swift is a free, open-source Swift toolkit for storing application data in SQLite databases. It gives developers SQL execution, query generation, and fetching and persistence methods for Swift record types. Migration tools help an application change its database schema as new versions are released. Database pools support concurrent access and use SQLite WAL mode unless the database is opened read-only. Database observations can be consumed through Swift concurrency, Combine, or RxSwift. GRDB.swift can encrypt databases with SQLCipher, with installation guidance for Swift Package Manager and CocoaPods. The README documents installation through Swift Package Manager, CocoaPods, or manual project integration. Stated requirements include Swift 6.1+, Xcode 16.3+, and SQLite 3.20.0+, with iOS 13.0+, macOS 10.15+, tvOS 13.0+, and watchOS 7.0+ listed for Apple platforms. Linux support is provided by contributors and is not automatically tested or officially maintained. CocoaPods cannot publish new GRDB versions and lists 6.24.1 as its latest available version; Carthage is unsupported. The MIT license permits use, copying, modification, distribution, sublicensing, and sale when its copyright and permission notice remain included. The project also lists GRDBQuery and GRDBSnapshotTesting companion libraries.
Who it suits
GRDB.swift suits Swift developers who need SQLite persistence, schema migrations, concurrent database access, or observable data in Apple applications. It also fits projects wanting SQLCipher encryption or a permissive MIT-licensed toolkit, provided their platform and toolchain meet the stated requirements.
What it does well
- Free and open source under the MIT license
- Supports SQL execution and generated queries
- Provides migrations for evolving database schemas
- Offers observations through Swift concurrency, Combine, and RxSwift
- Supports SQLCipher database encryption
- Installs through Swift Package Manager, CocoaPods, or manually
What to know first
- Carthage is unsupported
- Linux support is contributor-provided and not officially maintained
- CocoaPods cannot publish new GRDB versions
- Requires Swift 6.1+, Xcode 16.3+, and SQLite 3.20.0+
Limits
GRDB.swift is free. Linux support is not automatically tested or officially maintained, Carthage is unsupported, and CocoaPods lists 6.24.1 as its latest available version because new versions cannot currently be published there.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| GRDB.swift | Open-source SQLite toolkit · MIT license | Free |
As github.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Open the GRDB.swift GitHub repository
- Add GRDB.swift through Swift Package Manager, CocoaPods, or manual project integration
- Confirm your project meets the stated Swift, Xcode, SQLite, and platform requirements
- Configure a SQLite database and use SQL, queries, or Swift record persistence
- Add migrations, observation integration, or SQLCipher encryption as needed
Verdict
Pick GRDB.swift for a Swift application that needs direct SQLite work, migrations, concurrency, and observation integrations without a license fee. It is especially suitable when Swift Package Manager or manual integration fits your project. Look elsewhere if you require Carthage, officially maintained Linux support, or newly published CocoaPods versions.
Questions
What does GRDB.swift cost?
GRDB.swift is free and open source under an MIT license.
Which platforms are listed?
The project lists iOS, macOS, tvOS, watchOS, and Linux. Linux support comes from contributors and is not officially maintained.
Which installation methods are available?
The README documents Swift Package Manager, CocoaPods, and manual project integration.
Can GRDB.swift encrypt databases?
Yes. It supports SQLCipher encryption, with installation instructions for Swift Package Manager and CocoaPods.
What are the stated requirements?
Requirements include Swift 6.1+, Xcode 16.3+, SQLite 3.20.0+, iOS 13.0+, macOS 10.15+, tvOS 13.0+, and watchOS 7.0+.
Does it support database observation?
Yes. Observations can be consumed with Swift concurrency, Combine, or RxSwift.
Facts from GRDB.swift's own pages
- Carthage limitation
- Carthage is listed as unsupported. · raw.githubusercontent.com, 8 Oct 2026
- CocoaPods limitation
- The README says CocoaPods cannot currently publish new GRDB versions and lists 6.24.1 as the latest version available there. · raw.githubusercontent.com, 8 Oct 2026
- Companion libraries
- The maker lists GRDBQuery for database access and observation from SwiftUI views and GRDBSnapshotTesting for database testing. · raw.githubusercontent.com, 8 Oct 2026
- Concurrency
- Database pools support concurrent access and use SQLite WAL mode unless opened read-only. · raw.githubusercontent.com, 8 Oct 2026
- Encryption
- GRDB can encrypt databases using SQLCipher, with installation instructions for Swift Package Manager and CocoaPods. · raw.githubusercontent.com, 8 Oct 2026
- Installation
- The README documents installation through Swift Package Manager, CocoaPods, or manual project integration. · raw.githubusercontent.com, 8 Oct 2026
- License
- The repository license grants free use, copying, modification, distribution, sublicensing, and sale subject to including its copyright and permission notice. · github.com, 8 Oct 2026
- Linux support
- Linux support is provided by contributors and is not automatically tested or officially maintained. · raw.githubusercontent.com, 8 Oct 2026
- Maintainer
- The GitHub profile identifies Gwendal Roué as an iOS app developer and lists Paris, France. · github.com, 8 Oct 2026
- Migrations
- Its migration tools let applications evolve database schemas as new versions ship. · raw.githubusercontent.com, 8 Oct 2026
- Observation integrations
- Database observations can be consumed with Swift concurrency, Combine, or RxSwift. · raw.githubusercontent.com, 8 Oct 2026
- Purpose
- GRDB.swift is a toolkit for saving application data in SQLite databases. · raw.githubusercontent.com, 8 Oct 2026
- Requirements
- The stated requirements are iOS 13.0+, macOS 10.15+, tvOS 13.0+, watchOS 7.0+, SQLite 3.20.0+, Swift 6.1+, and Xcode 16.3+. · raw.githubusercontent.com, 8 Oct 2026
- SQL and records
- It provides SQL execution and query generation, plus fetching and persistence methods for Swift record types. · raw.githubusercontent.com, 8 Oct 2026
- Support
- The project directs bug reports to GitHub issues and questions or advice requests to GitHub Discussions or the GRDB forums. · raw.githubusercontent.com, 8 Oct 2026
Where GRDB.swift stands on Freedom251
- Mobile Databases#8 of 26