badoo/Chatto
badoo/Chatto has 4,542 GitHub stars and 588 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 15:38 UTC. Last push 2026-09-30.
A lightweight framework to build chat applications, made in Swift
What you can do
- Calculation of collection view changes and layout in background
- Supports pagination in both directions and autoloading
- Message count contention for fast pagination and rotation with thousands of messsages
- Accessory view revealing by swiping from right
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalChatto

Chatto is a Swift lightweight framework to build chat applications. It's been designed to be extensible and performant. Along with Chatto there is ChattoAdditions, a companion framework which includes cells for messages and an extensible input component. You can find more details about how it was implemented in our blog. See them in action!
Features
- Calculation of collection view changes and layout in background
- Supports pagination in both directions and autoloading
- Message count contention for fast pagination and rotation with thousands of messsages
- Accessory view revealing by swiping from right
- Interactive keyboard dismissal
- Text bubbles
- Photo bubbles
- Extensible input bar
How to use
Check the wiki!
How to contribute
If you just have a question, please reach us in our gitter room
If you'd like to file a bug report, suggest changes or submit a pull request, please check our contribution guide
How to install
CocoaPods
Make sure
use_frameworks!is added to yourPodfile.Include the following in your
Podfile:
# Swift 5
pod 'Chatto', '= 4.1.0'
pod 'ChattoAdditions', '= 4.1.0' # if you want to use the cells or the input component
# Swift 4.2
pod 'Chatto', '= 3.4.0'
pod 'ChattoAdditions', '= 3.4.0' # if you want to use the cells or the input component
# Swift 4
pod 'Chatto', '= 3.3.1'
pod 'ChattoAdditions', '= 3.3.1' # if you want to use the cells or the input component
# Swift 3
pod 'Chatto', '= 3.2.0'
pod 'ChattoAdditions', '= 3.2.0' # if you want to use the cells or the input component
# Swift 2.x
pod 'Chatto', '= 2.1.0'
pod 'ChattoAdditions', '= 2.1.0' # if you want to use the cells or the input component
If you like living on the bleeding edge, you can use the master branch with:
pod 'Chatto', :git => 'https://github.com/badoo/Chatto', :branch => 'master'
pod 'ChattoAdditions', :git => 'https://github.com/badoo/Chatto', :branch => 'master'
- Run
pod install
Carthage
If you’re using Carthage, simply add Chatto to your Cartfile:
# Swift 5
github "badoo/Chatto"
# Swift 2.x
github "badoo/Chatto" "swift-2"
Manually
- Clone, add as a submodule or download.
- Drag and drop
Chattoand/orChattoAdditionsproject to your workspace - Add
Chattoand/orChattoAdditionsto Embedded binaries
License
Source code is distributed under MIT license.
Blog
Read more on our tech blog or explore our other open source projects
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,792 starspublic-apis/public-apis
A collective list of free APIs
497,015 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
440,969 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,144 stars