Is there a way to use a dark theme in the Slack Desktop app? Specifically where the background is dark (black, dark grey) and the text is light. There are some built-in themes in Slack, but they are all light colored.


In order to make slack dark you can do the following for OSX (as of today 7/30/2018).

1) open the following configuration file in a text editor such as sublime: /Applications/Slack.app/Contents/Resources/app.asar.unpacked/src/static/ssb-interop.js

2) Add the following code at the end:

/* Slack Dark Theme */
document.addEventListener('DOMContentLoaded', function() {
   url: 'https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/black.css',
   success: function(css) {

3) Re-open slack.

When I did this, I saw that the message backgrounds were black but the sidebar was a purple color I didn't really like. To fix that aspect of it I went into the slack Preferences option when clicking on the little down caret on the top left of the app then going into Sidebar option and scrolling down to themes and clicking Ochin or Work Hard...

Preferences > Sidebar

Theme Selection


To open ssb-interop.js on a Windows machine (change USERNAME to yours): PS C:\Users\USERNAME\AppData\Local\slack\app-3.3.3\resources\app.asar.unpacked\src\static> notepad .\ssb-interop.js


I've actually created a sort of "plugins" infrastructure for slack based in my github repo https://github.com/glajchs/slack-customizations.

It has instructions for how to install (there's a script to do the patching described above in the instructions above), as well as some other modifications I've made that you can selectively turn on if you want, with descriptions (and a few screenshots). My favorite extra plugin is the "random emoji" one :-)

The dark theme is based on the "laCour" user's dark theme from a while back, that I've been maintaining a version of locally, but there's no reason you can't just point at their theme instead.

An important note about the ssb-interop.js file patching described in the other answer (and that I've automated with the ./patch-slack.sh script in my repo). Every time Slack updates to a new version, this file gets overwritten, so you have to re-patch it.

Final note, I don't have it working in Windows yet, but (patch script aside) that should just be a matter of changing some file separator characters.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.