29 Open-source Self-hosted Web Chat and Messaging Apps
A Self-hosted web chat refers to chat applications or platforms that can be installed and managed on your own server or hosting environment. These self-hosted solutions offer greater control, customization, and privacy compared to using third-party chat services.
Use-cases
Here are some common use cases for web chat self-hosted:
- Technical Support: Web chat self-hosted can be used to provide real-time support to customers or users. It allows support agents to assist users with troubleshooting, answering questions, and providing guidance.
- Team Chat: Self-hosted web chat platforms can be used by teams within organizations for internal communication and collaboration. It enables team members to exchange messages, share files, coordinate tasks, and stay connected in a centralized and controlled environment.
- Community: Web chat self-hosted can be utilized to create online communities or forums where users can interact, discuss topics of interest, and share information. It fosters engagement and provides a platform for community members to connect and communicate.
- Gaming: Self-hosted web chat can be integrated into gaming platforms or communities to facilitate communication among players. It allows gamers to chat, coordinate strategies, and build communities around specific games or gaming genres.
- Others: Self-hosted web chat solutions can also be adapted for various other use cases, such as customer engagement, social networking, education, or any scenario where real-time communication and collaboration are required.
By opting for a self-hosted web chat solution, organizations and individuals have the flexibility to customize the chat experience, ensure data privacy and security, and have complete control over the platform's infrastructure.
In this post we collected the best self-hosted, web-based chat and messaging apps for teams, communities, and enterprise.
1- The Lounge IRC Web Client
The lounge is an innovative and highly versatile web-based IRC client that offers a modern and responsive user interface. It is designed to be cross-platform, meaning that it can be accessed and used seamlessly on various devices and operating systems.
With its self-hosted capability, users have the freedom to set up and manage their own IRC server, giving them complete control over their online communication experience.
Features
- Modern features brought to IRC. Push notifications, link previews, new message markers, and more bring IRC to the 21st century.
- Always connected. Remains connected to IRC servers while you are offline.
- Cross platform. It doesn't matter what OS you use, it just works wherever Node.js runs.
- Responsive interface. The client works smoothly on every desktop, smartphone and tablet.
- Synchronized experience. Always resume where you left off no matter what device.
2- Chatwoot
Chatwoot is an open-source, self-hosted customer engagement suite. Chatwoot lets you view and manage your customer data, communicate with them irrespective of which medium they use, and re-engage them based on their profile.
It can be easily installed on Linux servers with support of Docker.
Features
Chatwoot supports the following conversation channels:
- Website: Talk to your customers using our live chat widget and make use of our SDK to identify a user and provide contextual support.
- Facebook: Connect your Facebook pages and start replying to the direct messages to your page.
- Instagram: Connect your Instagram profile and start replying to the direct messages.
- Twitter: Connect your Twitter profiles and reply to direct messages or the tweets where you are mentioned.
- Telegram: Connect your Telegram bot and reply to your customers right from a single dashboard.
- WhatsApp: Connect your WhatsApp business account and manage the conversation in Chatwoot.
- Line: Connect your Line account and manage the conversations in Chatwoot.
- SMS: Connect your Twilio SMS account and reply to the SMS queries in Chatwoot.
- API Channel: Build custom communication channels using our API channel.
- Email: Forward all your email queries to Chatwoot and view it in our integrated dashboard.
- CRM: Save all your customer information right inside Chatwoot, use contact notes to log emails, phone calls, or meeting notes.
- Custom Attributes: Define custom attribute attributes to store information about a contact or a conversation and extend the product to match your workflow.
- Shared multi-brand inboxes: Manage multiple brands or pages using a shared inbox.
- Private notes: Use @mentions and private notes to communicate internally about a conversation.
- Canned responses (Saved replies): Improve the response rate by adding saved replies for frequently asked questions.
- Conversation Labels: Use conversation labels to create custom workflows.
- Auto assignment: Chatwoot intelligently assigns a ticket to the agents who have access to the inbox depending on their availability and load.
- Conversation continuity: If the user has provided an email address through the chat widget, Chatwoot will send an email to the customer under the agent name so that the user can continue the conversation over the email.
- Multi-lingual support: Chatwoot supports 10+ languages.
- Powerful API & Webhooks: Extend the capability of the software using Chatwoot’s webhooks and APIs.
- Integrations: Chatwoot natively integrates with Slack right now. Manage your conversations in Slack without logging into the dashboard.
3- Papercups
Papercups is an open source live customer support tool web app written in Elixir.
Features
- Reply from email - use Papercups to answer support tickets via email
- Reply from SMS - forward Twilio conversations and respond to SMS requests from Papercups
- Custom chat widget - a customizable chat widget you can embed on your website to talk to your customers
- React support - embed the chat widget as a React component, or a simple HTML snippet
- React Native support - embed the chat widget in your React Native app
- Flutter support - embed the chat widget in your Flutter app (courtesy of @aguilaair ❤️)
- Slack integration - connect with Slack, so you can view and reply to messages directly from a Slack channel
- Mattermost integration - connect with Mattermost, so you can view and reply to messages directly from Mattermost
- Markdown and emoji support - use markdown and emoji to add character to your messages!
- Invite your team - send invite links to your teammates to join your account
- Conversation management - close, assign, and prioritize conversations
- Built on Elixir - optimized for responsiveness, fault-tolerance, and support for real time updates
4- Chaskiq chat
This is a free and open-source full featured Live Chat, Support & Marketing platform, alternative to Intercom, Drift, Crisp, etc...
Features
- Customer Segment Filters with custom attributes support
- Web Messenger embed
- Agent's conversation routing
- Text chat with customizable content blocks support
- Video Calls !
- Triggerable conversational bots
- Mailing campaigns
- Onboarding tours
- API integrations - Whatsapp / Twitter DM / Slack / Calendly / Zoom and more!
- CRM integration - Pipedrive supported
- Webhooks
- Help Center system with multi language support
- API support - consumable via GraphQL with Oauth authorization
- Quick replies (as canned responses)
- Configurable Data protection (GDPR) consent
- Audits on Access and records changes
- Composable Roles access/permissions system
- Pluggable Reports
- Embeddable Web Chat
5- RelatedChat
RelatedChat is an open-source alternative communication platform. Both iOS (Swift), Android (React Native), and Web (React) version source codes are available.
Features
- Direct chat functionality
- Channel chat functionality
- Sending text messages
- Sending emoji messages
- Sending photo messages
- Sending video messages
- Sending audio messages
- Sending stickers
- Sending GIF messages
- Media file local cache
- Media message re-download option
- Media download network settings (Wi-Fi, Cellular or Manual)
- Cache settings for media messages (automatic/manual cleanup)
- Typing indicator
- Load earlier messages
- Message delivery receipt
- Message read receipt
- Arbitrary message sizes
- Send/Receive sound effects
- Copy and paste text messages
- Video length limit possibility
- Save photo messages to device
- Save video messages to device
- Real Time conversation view for ongoing chats
- All media view for chat media files
- Picture view for multiple pictures
- Basic Settings view included
- Basic Profile view for users
- Edit Profile view for changing user details
- Sign in with Email
- Privacy Policy view
- Terms of Service view
- Full source code is available
- No backend programming is needed
- Native and easy to customize user interface
- Supports native iOS Dark Mode
- Supported devices: iPhone SE - iPhone 13 Pro Max
6- Tindo Chat Server and Client
Instant messaging server, The backend is implemented in pure Go (licensed under GPL 3.0), while client-side bindings are available in Java, JavaScript, and Swift.
Additionally, there is support for gRPC clients in C++, C#, Go, Java, Node.js , PHP, Python, Ruby, and Objective-C, under the Apache 2.0 license. The wire transport options include JSON over websocket (with long polling also available) for custom bindings, as well as protobuf with gRPC.
Tinode is not XMPP/Jabber, nor is it compatible with XMPP. It is intended as a replacement for XMPP. At first glance, it resembles open source messaging apps like WhatsApp or Telegram.
Features
- One-on-one and group messaging.
- Video and voice calls. Voice messages.
- Channels with unlimited number of read-only subscribers.
- All chats are synchronized across all devices.
- Granular access control with permissions for various actions.
- User search/discovery.
- Rich formatting of messages markdown-style: *style* → style, with inline images, videos, file attachments.
- Forms and templated responses suitable for chatbots.
- Verified/staff/untrusted account markers.
- Message status notifications: message delivery to server; received and read notifications; typing notifications.
- Most recent message preview in contact list.
- Server-generated presence notifications for people, group chats.
- Forwarding and replying to messages.
- Editing sent messages.
- Granular access control with permissions for various actions.
- Support for custom authentication backends.
- Ability to block unwanted communication server-side.
- Anonymous users (important for use cases related to tech support over chat).
- Plugins to extend functionality, for example, to support moderation or chatbots.
- Scriptable command-line tool for server administration.
- Performance, reliability and development:
- Sharded clustering with failover.
- Storage and out of band transfer of large objects like images or document files using local file system or Amazon S3 (other storage systems can be supported with media handlers).
- JSON or protobuf version 3 wire protocols.
- Bindings for various programming languages:
- Javascript with no external dependencies.
- Java with dependencies on Jackson and Java-Websocket. Suitable for Android but with no Android SDK dependencies.
- Swift with no external dependencies.
- C/C++, C#, Go, Python, PHP, Ruby and many other languages using gRPC.
- Choice of a database backend. Other databases can be added with by writing adapters.
- MySQL
- PostgreSQL
- MongoDB
- RethinkDB
7- Laravel messenger
Laravel messenger is an exceptional messenger suite designed to enhance the functionality of your new or existing Laravel app. With this comprehensive suite, you can enjoy the benefits of private and group threads between multiple models, ensuring seamless communication.
The real-time messaging feature allows for instant and efficient communication, while the inclusion of reactions adds a touch of personalization to the conversations.
Additionally, the ability to attach files further enhances the versatility of this messenger suite.
8- EZchat
EZchat is a free simple, centralized, self-hosted chat website designed for small groups.
It is built on .NET Core 3.1 and SignalR and can be hosted on various platforms. It also supports the use of Tor and FreeDNS.
Features
- Simple messaging
- Simple moderation
- Recent message cache
- Connection status
- Online user list
- TTS mode
- Profanity filter
- Compatibility with Tor and FreeDNS
9- Tiledesk
Tiledesk is an open-source live chat platform with integrated chatbots. It allows you to build your own customer support system for web, Android, and iOS.
Tiledesk offers automation through chatbots, API and webhook integration, and the ability to deploy visual applications within conversations. It also supports multichannel communication, adapting responses to various platforms like Whatsapp, Facebook Messenger, and Telegram.
Features
- Unlimited chat conversations
- Widget customization tools
- Conversation labels and notes
- Apps marketplace
- CRM
- Operating hours
- Up to 200,000 messages from bot/month
- Departments and agents groups
- Chat history
- Ticketing System
- Data export + Analytics
- Canned responses
10- dric
p2p IRC-inspired self-hosted web chat.
11- Rocket.chat
Rochet.Chat is a chat support system that offers a range of features for seamless communication and support. It provides integration with third-party AI, supports XMPP for notifications, and offers a Chrome extension for easy access.
With Rochet.Chat, users can benefit from features like sound notifications, multiple chats, chat statistics, chat transcript, multi language support, file uploads, chat search, callbacks, online user tracking, GEO detection, pro-active chat invitations, caching for performance, and various customization options.
It also provides native applications for Windows, Linux, and Mac platforms. Rochet.Chat is designed to enhance the user experience and provide efficient support for website visitors.
Features
Rocket.Chat has four key product offerings:
- 💬 Team collaboration - A single point for secure internal and cross-company collaboration.
- 🎯 Omnichannel customer service - Engage in seamless interactions with customers regardless of how they connect with you.
- 🦾 Chat engine - Create customized messaging experiences within your mobile or web app.
- 🤖 Marketplace - Choose a wide range of apps and native integrations that help your business communicate more effectively.
12- JavaScript Chat Web Application
Single page application. Vanilla JavaScript Components.
13- BOBLE
BOBLE is a free self-hosted open-source web chat that uses TypeScript.
Features
- Private chats 👥
- Groups with unlimited participants 📢
- Share text messages, images, GIFs, and audio recordings in real-time 📡
- All your data is stored in the cloud and protected through your account 🔒
- Create and delete chats and messages, and manage your groups ✏️
- Access from all your devices, since you only need a browser 💫
- Only requires a verified email address, no phone number, payment or other personal information 😇
- Translated into different languages (currently English, Spanish and French) 🌎
14- WebChat
A self-hosted simple web chatting app using Socket.io, Node.js, and MongoDB.
15- RP Rooms
16- rabbitChat
A Chat-Server/Chat-System based on AMQP protocol(RabbitMQ Message Broker) written in python using Tornado and RabbitMQ.
Features
- Public chat
- Shows who joined and who left
- Shows number of people online
- Shows who is typing and who is not
- Join/Leave chat room features
- Microservice
- Testing using Docker and Docker Compose
- CI servers like Jenkins, Travis-CI
17- Silent Server.
Silent is very lightweight, high quality - low latency voice chat for gaming. The server runs on Windows and Linux.
18- Socket.chat
CLI Chat app using Unix sockets in Python and C++
19- Nakama
Nakama is an open-source distributed server for social and real-time games and apps.
Features
- Users - Register/login new users via social networks, email, or device ID.
- Storage - Store user records, settings, and other objects in collections.
- Social - Users can connect with friends, and join groups. Builtin social graph to see how users can be connected.
- Chat - 1-on-1, group, and global chat between users. Persist messages for chat history.
- Multiplayer - Realtime, or turn-based active and passive multiplayer.
- Leaderboards - Dynamic, seasonal, get top members, or members around a user. Have as many as you need.
- Tournaments - Invite players to compete together over prizes. Link many together to create leagues.
- Parties - Add team play to a game. Users can form a party and communicate with party members.
- Purchase Validation - Validate in-app purchases and subscriptions.
- In-App Notifications - Send messages and notifications to connected client sockets.
- Runtime code - Extend the server with custom logic written in Lua, TypeScript/ JavaScript, or native Go code.
- Matchmaker, dashboard, metrics, and more.
20- EzyFox Server
The EzyFox ecosystem is a free and open solution for developing multiplayer games and applications.
It supports various protocols, encryption, database interaction, and message queue, allowing developers to focus on implementing business logic without worrying about technology choices.
Features
- Core Container & Dependency Injection: Includes bean manipulation, auto-binding, auto-implementation, and more.
- Multiple Communication Protocols: Supports TCP, UDP, WebSocket, and HTTP.
- Traffic Encryption: Allows for traffic between clients and servers to be encrypted using SSL.
- Multiple Client SDKs: Includes Android, iOS, Unity, React, C++, Flutter, and more.
21- Open source live Support chat
Live Helper Chat is a powerful live support solution designed to enhance your website. It offers a range of features including web and mobile apps, as well as the ability to communicate through voice, video, and screen sharing.
In addition, Live Helper Chat supports integration with popular messaging platforms such as Telegram, Twilio (WhatsApp), and Facebook Messenger.
It even allows you to build your own chatbot to automate customer interactions. With Live Helper Chat, you can provide seamless and efficient support to your website visitors, ensuring a positive user experience.
Features
The app features include third-party AI integration, XMPP support for notifications, Google Chrome extension, sound notifications, multiple chats, chat statistics, chat transcript features, multi language support, file uploads, chat search, callbacks, online user tracking, GEO detection, proactive chat invitations, caching for performance, native applications for Windows, Linux, and Mac, and various customization options.
22- Mattermost
Mattermost is an open-source, self-hosted messaging and collaboration platform. It is designed to be a secure and private alternative to popular messaging applications, allowing teams to communicate and collaborate in a centralized and controlled environment.
Mattermost offers features such as real-time messaging, file sharing, and integrations with other tools and services. It is widely used by organizations for internal communication and project collaboration.
23- Retroshare
Retroshare is a decentralized and secure platform that allows encrypted connections between friends, providing services such as chat, mail, file sharing, forums, boards, and channels.
It ensures privacy and anonymity beyond direct friends through anonymous tunnels.
Retroshare is free, open-source, and available on multiple platforms. It can also be used over Tor and I2P networks for enhanced security and anonymity.
24- SimpleX
SimpleX - the first messaging platform operating without user identifiers of any kind - 100% private by design! iOS and Android apps are released 📱!
25- Tox
Tox is an instant messaging application developed as a distributed, peer-to-peer, and end-to-end encrypted system. It was created in response to concerns about privacy and NSA spying. The project started with a small group of developers in 2013 and has since grown to include multiple independent client projects. Tox is a FOSS project with open-source code and volunteer developers.
26- Tailchat
Next generation noIM application in your own workspace, not only another Slack/ Discord/ Rocket.chat
Features
- Pay attention to privacy, only invited members can join the group
- Prevent strangers, add friends only by nickname + a random string of numbers
- Two-level group space, dividing different topics by panels
- Highly customized group space, create original group space by grouping with dragging and dropping. At the same time, more plugins can be used to add more capabilities
- It can be rigorous or fun. Through the combination of plugins,
Tailchat
can be created for different scenarios. It can be for individuals or for enterprises - The backend microservice structure is ready for large-scale deployment. Don't worry about what to do after the number of user growth
27- Let's Chat
A simple yet powerful open-source chat app for small teams built by Security Compass.
Features
- BYOS (bring your own server)
- Persistent messages
- Multiple rooms
- Private and password-protected rooms
- New message alerts / notifications
- Mentions (hey @you/@all)
- Image embeds / Giphy search
- Code pasting
- File uploads (Local / Amazon S3 / Azure)
- Transcripts / Chat History (with search)
- XMPP Multi-user chat (MUC)
- 1-to-1 chat between XMPP users
- Local / Kerberos / LDAP authentication
- Hubot Adapter
- REST-like API
- Basic i18n support
- MIT Licensed
28- Self-hosted Chat with Flutter
A self-hosted chat application for desktop written in Flutter!
- 🚀 Self-Host your own Chat Rooms
- 🔐 Set a Server Code (Users need this code additionally with server address to connect)
- 💙 Complete Private Chatting
- ❌ No Data Collection
- 🪨 Unbreakable Core
- 🎉 Truly Open source (GPL-3.0)
29- Chat
This is a simple self-hosted plug & play real-time JavaScript chat implemented using Socket.io.
Where simplicity meets usability:
- No user accounts - just enter nickname and join.
- No history saved - only logged-in users can see recent history.
- No configuration.
- Only one room - you can't create any other rooms or write PM to others.
- Files sharing is possible - without storing any data on server.
- Emojis - just a few of them.