A decentralized chat app that works over Bluetooth mesh offline and over Nostr relays online, with no accounts or phone numbers.
exyte/Chat
A SwiftUI chat UI framework for iOS with customizable message cells, a built-in media picker, and support for text, media, audio, location and documents.
- Stars
- 1,893
- Forks
- 341
- Open issues
- 0
- Last commit
- 20 days ago
What is it?
Chat is a Swift package that provides a ready-made chat screen for SwiftUI apps. It handles the message list with pagination, the input bar, and the sending flow, while the app supplies the networking and storage. When the user sends a message, the library calls a closure with a draft, and the app decides how to deliver it.
Message cells and input views can be replaced with custom SwiftUI builders, and you can mix custom cells with the default style in the same chat. The library supports replies, edits and deletes through a message menu, long-press context menus, and swipe actions. Messages can contain styled text or markdown, photos and videos, audio recordings, link previews, GIFs and stickers via Giphy, arbitrary files, and static or live location.
The project targets iOS 17 and later and is distributed through Swift Package Manager. Its README also includes Firestore and mock-bot example projects.
Key features
- 01Paginated message list with a send closure that leaves networking to the app
- 02Custom message cells and input views via SwiftUI view builders
- 03Built-in photo and video picker with multiple selection and camera access
- 04Reply, edit and delete through a default or custom long-press menu
- 05Supports text, media, audio, links with previews, GIFs, documents and locations
Use cases
- Adding an in-app messaging screen to an iOS app written in SwiftUI
- Building a chat interface with custom bubble designs on top of a backend you already have
- Sending photos, videos and files in a conversation without writing a picker from scratch
- Providing live location sharing between users in a messaging feature
Quick start
- 1
Add the package via Swift Package Manager using the repository URL
- 2
Import ExyteChat and create a ChatView with your messages
Things to know
- Supports iOS only, built with SwiftUI.
- CocoaPods support is deprecated after version 2.4.2.
Topics
FAQ
- What is Chat?
- A SwiftUI chat UI framework for iOS with customizable message cells, a built-in media picker, and support for text, media, audio, location and documents. Chat is a Swift package that provides a ready-made chat screen for SwiftUI apps. It handles the message list with pagination, the input bar, and the sending flow, while the app supplies the networking and storage. When the user sends a message, the library calls a closure with a draft, and the app decides how to deliver it.
- Is Chat free to use? What license does it have?
- Chat is open source under the MIT license. Check the license terms before using it in commercial products.
- Is Chat still maintained?
- Actively maintained. The last commit to Chat was on Oct 1, 2026.
- What can I use Chat for?
- Adding an in-app messaging screen to an iOS app written in SwiftUI Building a chat interface with custom bubble designs on top of a backend you already have Sending photos, videos and files in a conversation without writing a picker from scratch Providing live location sharing between users in a messaging feature
- How do I install Chat?
- Add the package via Swift Package Manager using the repository URL Import ExyteChat and create a ChatView with your messages
- Where can I get Chat?
- The source code and installation instructions are on GitHub: https://github.com/exyte/Chat
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Swift library for building Apple-platform apps with consistent state management, composable features, side-effect control, and strong testing support.
An iOS app launcher that runs IPA apps inside itself without installing them, with multiple containers per app.
Official source code for the Telegram messenger iOS app, with a build system for compiling it yourself in Xcode.
GitHub Copilot integration for Xcode that adds code completion, chat, agent mode and code review for Swift and Objective-C projects.
An agent skill that teaches AI coding assistants like Claude Code and Codex to write modern, correct SwiftUI code.