Skip to main content

Element

Element is the flagship Matrix client, offering the most complete feature set and serving as the reference implementation for the protocol.

Installation​

Web​

Just visit app.element.io - no installation needed.

Desktop​

Download from element.io/download:

# Linux (Flatpak)
flatpak install flathub im.riot.Riot

# Linux (Debian/Ubuntu)
sudo apt install element-desktop

# macOS (Homebrew)
brew install --cask element

# Windows (winget)
winget install Element.Element

Mobile​

Essential Settings​

Enable Labs Features​

Unlock experimental features for power users:

  1. Settings → Labs
  2. Enable features like:
    • Threads (if not default)
    • Voice broadcast
    • Rich text editor
    • Video rooms
warning

Labs features may be unstable. Enable at your own risk.

Customize Appearance​

Settings → Appearance:

SettingRecommendation
ThemeMatch system / Dark
Message layoutModern for features, IRC for density
Show avatarsPersonal preference
Big emojiEnable for fun

Optimize Performance​

Settings → Preferences:

  • Enable hardware acceleration - Better performance
  • Reduce animations - Faster feel
  • Show read receipts - Disable if slow

Keyboard Shortcuts​

Master these for efficiency:

ShortcutAction
Ctrl/Cmd + KQuick room switcher
Ctrl/Cmd + ↑/↓Navigate rooms
Alt + ↑/↓Navigate unread rooms
Ctrl/Cmd + ,Settings

Messaging​

ShortcutAction
EnterSend message
Shift + EnterNew line
↑Edit last message
Ctrl/Cmd + EToggle emoji picker
TabAutocomplete @mention

Actions​

ShortcutAction
Ctrl/Cmd + Shift + UUpload file
Ctrl/Cmd + /Show all shortcuts
EscapeClose dialog/exit edit

Advanced Features​

Threads​

Organize conversations within rooms:

  1. Hover over a message
  2. Click the Thread icon
  3. Start a threaded discussion
tip

Use threads in busy rooms to keep discussions focused without cluttering the main timeline.

Spaces​

Create hierarchical community structures:

  1. Click + next to Spaces
  2. Create a Space
  3. Add rooms and sub-spaces
  4. Invite members

Space Hierarchy Example:

🏢 My Organization
├── 📋 General
├── 💻 Engineering
│ ├── #frontend
│ ├── #backend
│ └── #devops
└── 🎉 Social
├── #random
└── #gaming

Voice & Video​

Start calls directly in rooms:

  • 1:1 calls: Click video/phone icon in DM
  • Group calls: Start Jitsi widget or native call
  • Video rooms: Persistent call rooms (Labs feature)

Widgets​

Add interactive elements to rooms:

  1. Click Room Info (i) → Add widgets
  2. Choose from:
    • Jitsi - Video conferencing
    • Etherpad - Collaborative notes
    • YouTube - Watch together
    • Custom - Any URL

Message Formatting​

Element supports rich text:

**bold**           → bold
*italic* → italic
~~strikethrough~~ → strikethrough
`code` → inline code
> quote → blockquote

Code blocks with syntax highlighting:

```javascript
const hello = "world";
```

Security Best Practices​

Cross-Signing Setup​

  1. Settings → Security & Privacy
  2. Complete "Set up Secure Backup"
  3. Save your recovery key securely

Device Verification​

Verify all your devices:

  1. Log in on new device
  2. Verify from existing device (emoji/QR)
  3. All verified devices are trusted

Session Management​

Regularly review active sessions:

  1. Settings → Security & Privacy
  2. Where you're signed in
  3. Remove unrecognized devices

Integrations​

Bots & Bridges​

Integrate external services:

  1. Room Settings → Integrations
  2. Add bots like:
    • Hookshot - GitHub, GitLab, JIRA
    • RSS Bot - Feed notifications
    • Reminder Bot - Scheduled messages

Custom Integrations Manager​

For self-hosted setups:

Settings → General → Integration Manager

Change to your own Dimension or other integration manager.

Troubleshooting​

Sync Issues​

"Unable to decrypt" errors:

  1. Check if key backup is set up
  2. Request keys from other sessions
  3. Verify your devices

Slow sync:

  1. Leave unused rooms
  2. Clear cache: Settings → Help → Clear cache
  3. Try a different homeserver

Performance Problems​

High memory usage:

  1. Close Element and restart
  2. Disable some Labs features
  3. Use Element Web instead of Desktop

Slow room loading:

  1. Room may be very large
  2. Consider using a native client
  3. Report to Element team

Login Issues​

Can't log in:

  1. Verify server URL
  2. Check username format (@user:server)
  3. Reset password if needed

Next: Alternative Clients →