Blog · Per-site setups
Reading Slack with dyslexia
If you work somewhere that runs on Slack, the messaging app is the single longest reading surface in your day. It is also one of the least forgiving for dyslexic readers - dense channel lists, interleaved threads, code blocks, link previews, emoji reactions, GIFs, and a notification stream that never stops. Slack's typography is competent on its own - the trouble is the cadence around it. Short bursts that arrive every few seconds, threaded sub-conversations that branch sideways, and a constant low-level pressure to keep up. This is a practical setup that calms the surface, makes the text itself easier to parse, and rebuilds the notification flow around what you actually need to read.
The short answer
Open Preferences -> Accessibility and turn on Animation: Reduced and Display zoom at 110-125%. Switch to a darker theme if you prefer low-glare reading, set Messages and media -> Theme: Clean, and turn off inline animated emoji. Use the browser version of Slack rather than the desktop app if you want to apply a font-override extension. Mute every channel that is not load-bearing, route real-time pings through Notifications -> Only direct messages, mentions and keywords, and adopt a "read threads, then channels" workflow once or twice a day.
The rest of this article unpacks each lever, the small differences between the browser and desktop clients that matter, and the workflow that turns Slack from a firehose into something you can sit with for an hour.
Why Slack is harder than it looks
Slack uses the operating system's default sans-serif (Lato on Windows builds, San Francisco on macOS, Roboto on Linux). The body text sits at about 15 px with comfortable line-height. By the standards of research-friendly fonts that is a reasonable starting point. So why does an hour in Slack feel disproportionately tiring?
- Cadence, not typography. A channel is a vertical stack of short messages, each from a different person, each at a different time, with intermittent threaded replies tucked underneath. Your eye is constantly re-anchoring on a new author avatar, a new timestamp, a new typographic context. Dyslexic readers pay a higher cost for that re-anchoring, and Slack hands you hundreds of micro-anchorings per hour.
- Threads branch the timeline. A thread can have eight replies that arrived over three days, and Slack does not render them inline with the parent channel. You see the parent, see "8 replies", click in, read the replies in their own pane, then return to the channel and try to remember where you were. That return-to-place step is the most common dyslexic friction point in Slack and one of the easiest to fix.
- Visual noise piles up. Custom emoji, GIFs, inline images, link previews and "Sara is typing..." indicators all compete for attention. Each one is harmless on its own; together they make the channel feel busy enough that the actual prose recedes.
- Code blocks and mentions reformat the line. Inline
`code`spans switch to a monospace face, often at a different size.@mentionsrender as pills with their own background colour. Channel links render as pills too. A single sentence can shift typeface and colour three times mid-line, which forces the eye to re-acquire baseline each time. - Notifications steal context. A red dot or a flashing app icon is an interrupt. Each interrupt costs you the thread you were reading. By the time you have switched to the channel that pinged you, finished, and come back, the original message has scrolled. For an attention-loose reader, that loss compounds.
The fix is not "find a different font". The fix is to calm the surface, make the prose itself easier to parse with a font swap, and rebuild the notification flow so interrupts are rare and intentional.
Step 1 - the accessibility panel most people skip
Slack has a real accessibility panel and almost nobody opens it. Click your workspace name in the top-left, choose Preferences, and find the Accessibility tab in the sidebar.
Slack uses small animations everywhere - the bouncing typing indicator, the sliding sidebar when you switch workspaces, animated emoji in reactions and inline messages, the swoosh when a new message appears. Reducing animation kills the most distracting ones and respects your operating system's reduce-motion setting elsewhere. This single setting is the largest noise reduction Slack offers.
Custom workspace emoji can be animated GIFs that loop forever inside a message. Slack has a separate toggle for these because reduced motion does not always catch them. In Preferences -> Messages and media -> Emoji, turn off Show animated emoji. The reactions still appear, they just stop moving.
Slack's own zoom setting (not the browser zoom) lives in Preferences -> Accessibility -> Zoom. It scales the entire UI - sidebar, channel list, message text - proportionally. 110% is a comfortable starting point; 125% is right for most adults with low vision or reading fatigue. Unlike browser zoom, this does not break the layout. See our guide on font size for dyslexic adults for the principle.
In Preferences -> Themes, you can choose between Slack's preset colour themes and the optional Boxed layout. Boxed adds an extra border around each message. It looks tidier in screenshots but it adds visual chrome to every single message in your day, which is the opposite of what dyslexic eyes need. Stick with the default Clean layout and pick a low-contrast theme (Aubergine and Mint Mojito are gentler than the high-saturation defaults).
Slack supports light, dark, and "sync with system" themes. Dark mode in Slack uses a near-black background that is easier in dim rooms but no better in well-lit ones. Try both for a week. See our dark mode and dyslexia piece for why the answer is genuinely personal.
Step 2 - the font layer (browser-only)
Here is the awkward truth about Slack: the desktop app is a packaged version of the web app, but it does not honour browser extensions. If you want to swap Slack's font for a dyslexia-friendly typeface, you have to use Slack in a browser tab.
For most knowledge workers, this is a one-line change. Bookmark https://app.slack.com/client/<your-workspace-id>, pin the tab, and treat it as your primary Slack surface. The desktop app can stay installed for the system tray and for the global keyboard shortcut, but the reading happens in the browser.
In the browser, a font-override extension swaps Slack's entire UI font for whichever face you find easiest. OpenDyslexic, Lexend, and Atkinson Hyperlegible all apply cleanly to Slack's web client. The pill backgrounds on mentions and channel links stay (they are not typographic), but every word of prose changes.
LexiFont is free for OpenDyslexic and applies it everywhere in one click; LexiFont Pro unlocks Lexend, Atkinson Hyperlegible and Comic Neue for a one-time $14.99 if OpenDyslexic's letterforms feel too busy.
Lara: have we shipped the migration yet or is it still behind the flag? Asking because the support queue just opened a P2 about it
Lara: have we shipped the migration yet or is it still behind the flag? Asking because the support queue just opened a P2 about it
The change is subtle on a single message and substantial across a full channel session. The letters that dyslexic readers most often confuse - b/d, p/q, n/u, the lowercase l next to capital I - get more visually distinct, and the cost of skimming a channel drops.
One caveat: inline code blocks stay monospace. The font extension does not override code spans because they are intentionally styled, and code is one of the things you usually want to read in a monospace face. If reading code with dyslexia is its own pain point, see our monospace fonts for dyslexic developers piece for a separate fix.
Step 3 - cut the channel list down
The Slack sidebar is the largest single visual object on your screen. If it has forty channels in it, your eye has to do a forty-item scan every time you switch contexts. The single biggest noise reduction in Slack is to make the sidebar small.
Slack has the right tool for this and almost nobody uses it: sections. Right-click in the sidebar, pick Create new section, and group channels by what they actually are: "Daily", "Reference", "Mute by default". Move every channel you only read once a week into Reference and collapse it. Move every channel you joined to be polite into Mute by default, mute them, and collapse that section too. You should be left with a Daily section of six to ten channels that actually carry signal.
Mute is the load-bearing verb here. A muted channel still exists, still receives messages, still surfaces when you @mention it - but it is grey in the sidebar, makes no sound, and does not bump up to the top of your list when activity happens. Mute liberally. Slack's interface unfortunately makes the mute action three clicks deep (channel header -> settings dropdown -> Mute), but you only do it once per channel.
Step 4 - the threads-first reading order
Most people read Slack the wrong way around for dyslexia. They scroll down a channel chronologically, click into a thread when they hit one, return, scroll, click into the next thread. Each click-and-return is an attention reset.
The threads-first workflow flips this. Slack has a dedicated Threads view in the top-left of the sidebar that lists every thread you are subscribed to, with the most recent unread replies highlighted. Open it, work through threads top-to-bottom, then go to the channel list. Two benefits:
1. Each thread is a calm reading object. The Threads pane shows you one thread at a time, the parent message at the top, the replies in time order beneath. No interleaved unrelated messages. No new authors every two lines. You read one conversation through, mark it read, and move on.
2. You handle the back-and-forth before you read the broadcast. Threads tend to carry the conversational, decision-making content - who is doing what, by when. The channel itself is more often broadcast - announcements, FYIs, link drops. Reading the harder content first, when your attention is fresh, is the better budget.
3. The Threads pane respects your font extension. If you are running OpenDyslexic or Lexend in the browser, every thread renders in your chosen face. The channel still does too, but the threads view is the place you spend the most time reading prose.
You can also pin specific channels - the company-wide announcements channel, the channel where your team coordinates - and read those after threads. Everything else can wait until tomorrow or never. If a message in a muted channel was important enough that someone needed your eyes on it, they will @mention you and it will surface in your Mentions & reactions view, which is the second item under Threads in the sidebar.
Step 5 - notifications: pull, don't push
The single largest source of attention loss in Slack is the notification stream. Default Slack pings you on every message in every channel you are in, which on a busy workspace is dozens of interrupts an hour. Each interrupt is a context loss.
The fix is a "pull, don't push" notification model. In Preferences -> Notifications:
- Set Notify me about to Direct messages, mentions and keywords. Not "All new messages", not "All new messages in my channels". You want Slack to interrupt you only when someone has specifically asked for you.
- Set Notification schedule to your real working hours, with a generous buffer at the start and end. Slack defers all non-urgent pings outside that window.
- Add yourself to Keywords sparingly - one or two phrases your team genuinely needs to flag you on, not every project you have ever worked on.
- Turn off the badge dot on the desktop app icon (Preferences -> Notifications -> Show a badge on Slack's icon to indicate new activity). The red dot is an interrupt every time it catches your eye. Pull-don't-push means you decide when to look.
- Set yourself a recurring focus block - mid-morning and mid-afternoon are typical - during which you open Slack, do the threads-then-channels read described above, then close the tab.
This is not a productivity argument; it is an accessibility argument. Dyslexic readers do better in long focused blocks than in fragmented attention. The lower the interrupt rate, the more reading you can actually finish.
Step 6 - the mobile app is a separate setup
Slack on iOS and Android is its own surface. The browser-based font swap does not carry over. Three things still help:
- System text size. Both platforms have a global text-scaling control (iOS: Settings -> Display & Brightness -> Text Size, plus Larger Accessibility Sizes; Android: Settings -> Display -> Font Size). Slack respects both. See our mobile reading guide for the full set.
- System dark mode. The Slack mobile app follows the OS setting.
- Notification schedule synced across devices. The schedule you set in the desktop preferences applies to mobile too, so the quiet-hours setup from step 5 protects you everywhere.
For reading long messages on mobile, the practical answer is to send them to yourself - Slack lets you forward any message to your own DMs or to Slackbot, and you can finish reading on desktop with your font extension active.
Common mistakes to skip
- Trying to override fonts in the desktop app. The official Slack desktop client is a sandboxed Electron app and does not honour browser extensions. If you need a font swap, you need the browser. Anything else (CSS injection via developer tools, custom themes, hacked installations) breaks on every update and is not worth the maintenance.
- Using browser zoom instead of Slack's own zoom. Browser zoom scales the page including the sidebar, which crowds the channel list and forces horizontal scrolling. Slack's Preferences -> Accessibility -> Zoom scales the content sensibly.
- Setting yourself to "Active" all day. The green dot is an implicit promise that you will reply quickly. Use Slack's status feature to signal focus blocks, do-not-disturb windows, and end-of-day. Lower the implicit response-time pressure and the reading gets calmer too.
- Reading every channel from the top. Slack's Mark all as read (Shift+Esc) is your friend. If you are catching up from a long weekend, do not try to read three days of every channel - mark, scan the Threads view, and trust that anything important would have been @mentioned to you.
- Turning off thread notifications wholesale. Threads are where the substantive content lives. Turning off thread pings means you miss the replies to your own messages. Keep thread notifications on for threads you started or commented in; let everything else be pulled in your scheduled blocks.
Putting it all together
A complete dyslexia-friendly Slack setup, in order:
- Open Preferences -> Accessibility, set Animation: Reduced and zoom to 110-125%.
- Turn off animated emoji in Preferences -> Messages and media -> Emoji.
- Pick a low-contrast theme under Preferences -> Themes; keep the Clean layout.
- Open Slack in a pinned browser tab, install LexiFont, and pick OpenDyslexic, Lexend, or Atkinson Hyperlegible.
- Group the sidebar into Daily, Reference and Mute by default sections; mute aggressively.
- In Preferences -> Notifications, switch to Direct messages, mentions and keywords only, set a schedule, and turn off the dock badge.
- Adopt a threads-first reading order. Mid-morning and mid-afternoon blocks beat all-day passive monitoring.
- On mobile, lean on system text scaling and the synced notification schedule. Long reads belong on desktop.
Total setup time is around twenty-five minutes. The payoff is a workplace messenger you can use in focused blocks - reading every message that matters, replying inside threads where the conversation actually is, and walking away when the block ends without the red dot pulling you back.
Get LexiFont Pro - OpenDyslexic, Lexend, Atkinson Hyperlegible and Comic Neue for $14.99 one-time
Further reading
- Reading LinkedIn with dyslexia - feeds, posts and job listings made readable
- How to make Gmail easier to read with dyslexia
- Dyslexia-friendly Google Docs - the setup that works
- Reading code with dyslexia - monospace fonts that help
- Reading on mobile with dyslexia - iOS and Android settings that help