An experimental fork of FluffyChat.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Christian Pauly 6fc5fc54dd
Minor design and UX improvements
3 years ago
android [Proguard] Fix file location, make it more aggressive and remove deprecated option 3 years ago
assets Update .gitlab-ci.yml 3 years ago
ios Big refactoring 3 years ago
lib Minor design and UX improvements 3 years ago
test Enhance chatencryptionsettings page 4 years ago
web Add pwa support 3 years ago
.gitignore Revert "Update .gitignore" 3 years ago
.gitlab-ci.yml Update .gitlab-ci.yml 3 years ago
.gitmodules [Android] Add and build olm module 4 years ago
.metadata Initial commit 4 years ago Minor design and UX improvements 3 years ago Add French translations 3 years ago
Gemfile Add license and gitlab pages stuff 4 years ago
Gemfile.lock Add license and gitlab pages stuff 4 years ago
LICENSE Add license and gitlab pages stuff 4 years ago Update 4 years ago Update F-Droid Link 3 years ago
_config.yml Add license and gitlab pages stuff 4 years ago
analysis_options.yaml Soru/moor 3 years ago
pubspec.lock Implement file picker web 3 years ago
pubspec.yaml Implement file picker web 3 years ago

Open FluffyChat in the browser - Join the community - Follow me on Mastodon - Translate the website - FAQ - Website


  • Single and group chats
  • Send images and files
  • Offline chat history
  • Push Notifications
  • Account settings
  • Display user avatars
  • Themes, chat wallpapers and dark mode
  • Device management
  • Edit chat settings and permissions
  • Kick, ban and unban users
  • Display and edit chat topics
  • Change chat & user avatars
  • Archived chats
  • Discover public chats on the user's homeserver
  • Registration

How to build

  1. Install flutter

  2. Clone the repo:

git clone --recurse-submodules
cd fluffychat-flutter

Android / iOS

  1. For Android install CMake from the SDK Manager

  2. Install ninja:

sudo apt install ninja-build
  1. Outcomment the Google Services plugin at the end of the file android/app/build.gradle:
// apply plugin: ""
  1. flutter run


  1. flutter channel beta && flutter upgrade

  2. flutter config --enable-web

  3. flutter run

How to add translations for your language

  1. Replace the non-translated string in the codebase:
Text("Hello world"),

with a method call:


And add the method to /lib/l10n/l10n.dart:

String get helloWorld => Intl.message('Hello world');
  1. Add the string to the .arb files with this command:
flutter pub run intl_translation:extract_to_arb --output-dir=lib/l10n lib/l10n/l10n.dart
  1. Copy the new translation objects from /lib/l10n/intl_message.arb to /lib/l10n/intl_<yourlanguage>.arb and translate it or create a new file for your language by copying intl_message.arb.

  2. Update the translations with this command:

flutter pub pub run intl_translation:generate_from_arb --output-dir=lib/l10n --no-use-deferred-loading lib/l10n/l10n.dart lib/l10n/intl_*.arb
  1. Make sure your language is in supportedLocales in /lib/main.dart and in the List at

Special thanks to

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

  • Advocatux has made the Spanish translation with great love and care. He always stands by my side and supports my work with great commitment.

  • Thanks to MTRNord and Sorunome for developing.

  • Thanks to Mark for all his support and the chat background.

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