Search packages, repositories and app categories

GitHub repositorykrille-chan/fluffychat

FluffyChat

The cutest instant messenger in the [matrix]

FluffyChat project cover
Stars
3.3K
Forks
681
Last push (UTC)
Oct 30, 2026
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

FluffyChat is an open source, nonprofit and cute [matrix] client written in Flutter. The goal of the app is to create an easy to use instant messenger which is open source and accessible for everyone.

Links:

Buy Me a Coffee at ko-fi.com

Screenshots:

Features

  • 📩 Send all kinds of messages, images and files
  • 🤙 Video calls with Matrix RTC
  • 🎙️ Voice messages
  • 📍 Location sharing
  • 🔔 Push notifications
  • 💬 Unlimited private and public group chats
  • 📣 Public channels with thousands of participants
  • 🛠️ Feature rich group moderation including all matrix features
  • 🔍 Discover and join public groups
  • 🎨 Material You design
  • 😄 Custom emotes and stickers
  • 🌌 Spaces
  • 🔐 End to end encryption
  • 🔒 Encrypted chat backup
  • 😀 Emoji verification & cross signing ... and much more.

Installation

Please visit the website for installation instructions:

  • https://fluffy.chat

Configuration and Mobile Device Management (MDM)

FluffyChat supports configuration via MDM on Android&iOS (since v2.10.0) and via a config.json file on web. You can see the populated configuration for MDM on Android in this file under /android/app/src/main/res/xml/app_restrictions.xml. An example configuration can be found in the config.sample.json file.

How to build

  1. To build FluffyChat you need Flutter and Rust

  2. Clone the repo:

git clone https://github.com/krille-chan/fluffychat.git
cd fluffychat
  1. Choose your target platform below and enable support for it. 3.1 If you want, enable Googles Firebase Cloud Messaging:

./scripts/add-firebase-messaging.sh

  1. Debug with: flutter run
Android
  • Build with: flutter build apk
iOS / iPadOS
  • Have a Mac with Xcode installed, and set up for Xcode-managed app signing
  • If you want automatic app installation to connected devices, make sure you have Apple Configurator installed, with the Automation Tools (cfgutil) enabled
  • Set a few environment variables
    • FLUFFYCHAT_NEW_TEAM: the Apple Developer team that your certificates should live under
    • FLUFFYCHAT_NEW_GROUP: the group you want App IDs and such to live under (ie: com.example.fluffychat)
    • FLUFFYCHAT_INSTALL_IPA: set to 1 if you want the IPA to be deployed to connected devices after building, otherwise unset
  • Run ./scripts/build-ios.sh
Web
  • Build with:
./scripts/prepare-web.sh # To install Vodozemac
flutter build web --release
  • Optionally configure by serving a config.json at the same path as fluffychat. An example can be found at config.sample.json. All values there are optional. Please only the values, you really need. If you e.g. only want to change the default homeserver, then only modify the defaultHomeserver key.
Desktop (Linux, Windows, macOS)
  • Enable Desktop support in Flutter: https://flutter.dev/desktop
Install custom dependencies (Linux)
sudo apt install libjsoncpp1 libsecret-1-dev libsecret-1-0 librhash0 libwebkit2gtk-4.0-dev lld
  • Build with one of these:
flutter build linux --release
flutter build windows --release
flutter build macos --release

How to run integration tests

You need to have docker installed locally! Run the preparation script before every test run:

./scripts/prepare_integration_test.sh

Then run all tests with:

flutter test integration_test/mobile_test.dart

Special thanks

  • Fabiyamada is a graphics designer and has made the fluffychat logo and the banner. Big thanks for her great designs.

  • Also thanks to all translators and testers! With your help, fluffychat is now available in more than 12 languages.

  • The Matrix Foundation for making and maintaining the emoji translations used for emoji verification, licensed Apache 2.0

  • Special thanks to MTRNord, Sorunome and Advocatux.

Krille-chan GitHub avatar
GitHub author

Krille-chan ↗

Coffee-to-code-converter

@famedlyGermany, NRWOfficial website ↗
LanguagesDartC++SwiftCMakeShellRubyKotlinInno SetupHTMLPowerShellCDockerfileObjective-C

Categories

Flutter dependencies

Dependencies used

Dependency list 85 items

App categories

Rankings

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗