diff --git a/UI/forms/obs.qrc b/UI/forms/obs.qrc
index 9ec541bff..93b09b703 100644
--- a/UI/forms/obs.qrc
+++ b/UI/forms/obs.qrc
@@ -10,6 +10,7 @@
images/plus.svg
images/down.svg
images/up.svg
+ images/obs_256x256.png
images/obs.png
images/obs_macos.png
images/obs_paused.png
diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp
index 559f06aa5..bdf1eb0e3 100644
--- a/UI/obs-app.cpp
+++ b/UI/obs-app.cpp
@@ -1125,7 +1125,12 @@ OBSApp::OBSApp(int &argc, char **argv, profiler_name_store_t *store)
{
sleepInhibitor = os_inhibit_sleep_create("OBS Video/audio");
+#ifdef __APPLE__
+ setWindowIcon(
+ QIcon::fromTheme("obs", QIcon(":/res/images/obs_256x256.png")));
+#else
setWindowIcon(QIcon::fromTheme("obs", QIcon(":/res/images/obs.png")));
+#endif
}
OBSApp::~OBSApp()
diff --git a/UI/window-basic-stats.cpp b/UI/window-basic-stats.cpp
index bbcb4c991..90995ec70 100644
--- a/UI/window-basic-stats.cpp
+++ b/UI/window-basic-stats.cpp
@@ -170,7 +170,12 @@ OBSBasicStats::OBSBasicStats(QWidget *parent, bool closeable)
resize(800, 280);
setWindowTitle(QTStr("Basic.Stats"));
+#ifdef __APPLE__
+ setWindowIcon(
+ QIcon::fromTheme("obs", QIcon(":/res/images/obs_256x256.png")));
+#else
setWindowIcon(QIcon::fromTheme("obs", QIcon(":/res/images/obs.png")));
+#endif
setWindowModality(Qt::NonModal);
setAttribute(Qt::WA_DeleteOnClose, true);
diff --git a/UI/window-projector.cpp b/UI/window-projector.cpp
index 9e7b9835e..1f181aac1 100644
--- a/UI/window-projector.cpp
+++ b/UI/window-projector.cpp
@@ -31,8 +31,12 @@ OBSProjector::OBSProjector(QWidget *widget, obs_source_t *source_, int monitor,
setWindowFlags(Qt::WindowStaysOnTopHint);
type = type_;
-
+#ifdef __APPLE__
+ setWindowIcon(
+ QIcon::fromTheme("obs", QIcon(":/res/images/obs_256x256.png")));
+#else
setWindowIcon(QIcon::fromTheme("obs", QIcon(":/res/images/obs.png")));
+#endif
if (monitor == -1)
resize(480, 270);