Everything you need to know about BurnChat — how it works, every command explained, privacy details, and admin controls.
Privacy & Security
Does BurnChat store messages?
By default, the server keeps the last 100 messages in RAM (not on disk) so late joiners can see chat history. Admins can switch to client-only mode with /storage client where the server stores absolutely nothing — messages exist only in each user's browser. Neither mode ever writes to disk.
What is E2E encryption?
Type /e2e in any room to enable end-to-end encryption. Messages are encrypted in your browser using AES-256-GCM before reaching the server. The encryption key lives in the URL hash (#), which browsers never send to servers. Only people with the full URL can read messages. The server sees only encrypted gibberish.
What is the /storage command?
/storage server (default) keeps the last 100 messages in RAM for late joiners. /storage client switches to client-only mode where the server stores nothing. Admin-only command. The header badge shows the current mode.
Can BurnChat read my messages?
Without E2E: the server can technically see messages as they pass through (like any chat relay). With E2E enabled: no — messages are encrypted before they leave your browser. We can't read what we can't decrypt. The code is open source — verify it yourself.
What data does BurnChat collect?
We track only aggregate stats: total rooms created, rooms burned, and total connections. No message content, no usernames, no IP addresses, no analytics. nginx logs are disabled. systemd output is null. There are zero tracking scripts on the site.
What happens to messages when I close the tab?
Messages stored in your browser use sessionStorage, which is automatically destroyed when you close the tab. This is a browser standard — we don't even have to request deletion. Close the tab and your local copy is gone forever.
Is the connection encrypted?
Yes. All connections use WSS (WebSocket Secure) over TLS/HTTPS. This protects against network sniffing, ISP surveillance, and WiFi eavesdropping. E2E encryption adds a second layer on top of this.
All Commands
Type / in the chat input to see the autocomplete menu. Click any command to fill it in. Here's every command in detail.
Chat Commands everyone
/msg nick message
Private whisperSend a private message that only you and the recipient can see. Shows with an orange border and "whisper" label. If the recipient is away, you'll get their auto-reply. Click any username in chat to pre-fill this command.
/msgvoice nick
Private voice messageRecord and send a voice message that only the specified user can hear. Starts recording immediately — use /endvoice to stop and send.
/voice
Start recordingStarts recording a voice message using your microphone. The recording appears as a waveform widget in the chat. Other users can play it once — after that it locks with a checkmark.
/endvoice
Stop recording and sendStops the current voice recording and sends it to the room.
/nick newnickname
Change your nicknameChanges your display name mid-conversation. Everyone sees "oldname is now newname." The new name must not already be taken in the room.
/away message
Set away statusMarks you as away with a custom message. If someone sends you a private message while you're away, they automatically receive your away message as a reply. Sending any regular message clears your away status.
/back
Remove away statusManually clears your away status. Everyone sees "username is back."
/me action
Action messageSends an IRC-style action message. Example: /me waves hello shows as *eli waves hello* in orange italic.
/invite [platform]
Share room linkWithout arguments: copies the room URL to your clipboard. With a platform: /invite telegram, /invite whatsapp, /invite x, or /invite email — opens the share dialog with the room link pre-filled. Shortcuts: tg, wa.
/e2e
Enable E2E encryptionGenerates an AES-256-GCM key, appends it to the URL hash, and encrypts all future messages in your browser before sending. Share the full URL (with the # part) to invite others. The server sees only ciphertext. Type /e2e again to see the shareable link.
Room Commands everyone
/roominfo
Show room statsDisplays a card with room name, online users, total messages sent, room uptime, topic, rules, and cooldown setting. Has a close button.
/online
Show who's onlineDisplays a list of all connected users with their colored nicknames. Shows "(you)" next to your name. Has a close button.
/topic text
Set room titleSets a topic that displays in the header on desktop and below the header on mobile. Visible to all current users and shown to anyone who joins later. Admin-only when an admin exists.
/lock password
Set room passwordRequires a password to join the room. Use /lock with no argument to remove the password. Admin-only when an admin exists.
/join roomname
Open another roomOpens burnchat.io/roomname in a new tab. If the room doesn't exist, it creates it.
/clean
Clear your local chatRemoves all messages from your screen and clears your sessionStorage cache. Only affects your view — other users are not affected.
/leave [message]
Leave the roomDisconnects you from the room. With an optional message: everyone sees "username left: goodbye everyone." Without: just "username left."
/burn
Destroy the roomPermanently destroys the room — all messages, settings, bans, and connections are wiped. Everyone is disconnected and sees the burn screen. Admin-only when an admin exists.
/help
Show all commandsDisplays all available commands organized by category (Chat, Room, Admin, Fun) in a closeable card. Commands are clickable — tap to fill the input. Admin commands are hidden from non-admins when an admin exists.
Admin Commands admin only
These commands require admin status. When no admin has been set, everyone can use them. Once someone runs /admin nickname, only admins can use admin commands. The header buttons (burn, lock, auto-burn) are also hidden from non-admins.
/admin nick
Promote to adminMakes a user a room admin. Their nickname badge turns gold. They can use all admin commands. Multiple admins are allowed.
/removeadmin nick
Demote adminRemoves admin status from a user. You cannot remove your own admin.
/adminpw password
Set or auth admin passwordFirst time (by admin): sets the room's admin password. After: anyone can type /adminpw password to authenticate as admin. Useful when the admin disconnects and rejoins with a new nickname — they type the password to get admin back. Password lives in RAM, dies with the room.
/storage client|server
Set storage mode/storage server (default): keeps last 100 messages in RAM for late joiners. /storage client: server stores nothing, messages exist only in browsers. Header badge shows current mode. Aliases: device, local, ram, buffer.
/announce message
Broadcast announcementSends a highlighted, centered message with an "ANNOUNCEMENT" label visible to everyone. Stands out from regular chat.
/warn nick [reason]
Warn a userSends a visible yellow-bordered warning message that everyone can see. Example: /warn eli spam shows "⚠ eli warned by admin: spam."
/rules text
Set room rulesSets rules that are displayed in a styled box and automatically shown to every new user who joins. Use /norules to clear.
/norules
Clear room rulesRemoves the room rules. New joiners will no longer see rules on entry.
/pin message
Pin a messagePins a message to a sticky bar below the header. Visible to everyone, persists for new joiners. Only one pin at a time — new pin replaces the old one.
/unpin
Remove pinned messageRemoves the pinned message bar.
/chatcooldown seconds
Set message rate limitRequires users to wait the specified seconds between messages. /chatcooldown 0 removes the limit. Admins bypass the cooldown. Max 300 seconds (5 minutes). Non-admins see "Cooldown: wait Xs" when sending too fast.
/kick nick [reason]
Kick a userRemoves a user from the room. They see a "You were kicked" screen with "Rejoin Room" and "Go Home" buttons. They can rejoin. Optional reason is shown to everyone.
/ban nick
Ban a userPermanently removes a user and blocks them from rejoining. They see a "You were banned" screen with only a "Go Home" button. The ban persists until the room is burned.
/unban nick
Unban a userRemoves a ban, allowing the user to rejoin. Only works if the user is actually banned.
/mute nick [mins]
Mute a userPrevents a user from sending messages. With a time: /mute eli 5 mutes for 5 minutes then auto-unmutes. Without a time: mutes indefinitely until /unmute.
/unmute nick
Unmute a userAllows a muted user to send messages again.
Fun Commands everyone
/dice [max]
Roll a random numberRolls a number between 1 and max (default 6). Everyone sees the result: "🎲 eli rolled 4 (1-6)." Use /dice 100 for a d100, /dice 20 for a d20, etc.
/poll question | opt1 | opt2
Create a voteCreates a clickable poll visible to everyone. Options separated by |. Example: /poll Pizza or Burger | Pizza | Burger | Both. Users click to vote, results update in real-time with percentages. Polls have minimize (−) and close (✕) buttons. 2-6 options.
/play snake
Start Snake gameLaunches multiplayer Snake instantly — no "GO" step. The game plays inside the chat window. Everyone in the room sees a notification with a clickable "Snake" link to join. Arrow keys, WASD, or swipe to control.
/end
End current gameStops the active game and returns to normal chat view.
/help
Show all commandsDisplays the full categorized command list in a closeable card. Commands are clickable to auto-fill. Admin commands are hidden when you're not an admin.