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.

munafioitsrafsanjanidependabot[bot]tarikmanoarrigonlucas

20+ contributors

2.4k stars

507k+ downloads

MIT licensed

Product showcase

See it in action

01

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
terminal

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); // true
Laravel 11+PHP 8.2+Reverb · Pusher · SoketiMIT

Actions, 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

Frequently asked questions