Real-time chat for Laravel, installed in one command
Chatify ships direct messages, group conversations, voice notes, typing indicators, read receipts, and much more! with a complete messenger UI — plus a headless REST API. Install in one command.
20+ contributors
2.4k stars
507k+ downloads
MIT licensed
Product showcase
See it in action
Messenger UI
A complete Vue 3 inbox at /chatify — threads, composer, attachments, and settings. Publish with one Artisan command and start chatting.
Live demo
Try it before you install
Watch the full walkthrough on YouTube, or clone the demo app and open /chatify locally.
- Laravel app with Chatify pre-installed
- Seeded users — log in and open /chatify
- Broadcasting ready — follow the README to connect Reverb or Pusher
Installation
Ships complete.
No setup.
The Artisan installer publishes the config, migrations, routes, and the full messenger UI. Add one trait to your User model and visit /chatify.
- Works with your existing users table
- Any Laravel broadcasting driver — Reverb, Pusher, ..etc
- No queue worker required to go live
Developer experience
An API you will actually enjoy
Chatify is a Laravel package, not a hosted service. Everything runs on your servers, your database, and your broadcasting driver — and every piece is documented and replaceable.
// Send a message from anywhere in your app
$message = $alice->sendMessageTo($bob, 'Hello from code!');
// Or resolve the conversation first
$conversation = $alice->conversationWith($bob);
$alice->participatesInConversation($conversation->id); // trueActions, events, and policies
Every behaviour lives in a single-purpose action class you can rebind through the container. No god objects, no magic.
Ten broadcast events
MessageSent, UserTyping, ConversationRead, UserPresenceChanged, GroupParticipantsChanged, and more — all documented.
Bring your own frontend
A REST API covers every screen, so Livewire, Inertia, React, or native mobile all work out of the box.
The UI is yours
Publish the Vue 3 + Pinia + Tailwind messenger into your app and edit it like any other component you own.
Localized and RTL-ready
English and Arabic ship by default, with full right-to-left layout support and drop-in language files.
Secure by default
Policy-driven authorization, per-user rate limiting, private broadcast channels, and SSRF-protected link previews.
Everything is documented
Installation, configuration, conversations, groups, events, security, localization, and a complete API reference — written for people who read the source.
Stuck on something? Ask in Discord
FAQ