diff --git a/UI/forms/images/obs_macos.svg b/UI/forms/images/obs_macos.svg
new file mode 100644
index 000000000..48d7c8e31
--- /dev/null
+++ b/UI/forms/images/obs_macos.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/UI/forms/images/obs_paused_macos.svg b/UI/forms/images/obs_paused_macos.svg
new file mode 100644
index 000000000..ff8ad755c
--- /dev/null
+++ b/UI/forms/images/obs_paused_macos.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/UI/forms/images/tray_active_macos.svg b/UI/forms/images/tray_active_macos.svg
new file mode 100644
index 000000000..921f764c1
--- /dev/null
+++ b/UI/forms/images/tray_active_macos.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/UI/forms/obs.qrc b/UI/forms/obs.qrc
index 9ff1a1d7e..874e6a577 100644
--- a/UI/forms/obs.qrc
+++ b/UI/forms/obs.qrc
@@ -12,11 +12,11 @@
images/up.svg
images/obs_256x256.png
images/obs.png
- images/obs_macos.png
+ images/obs_macos.svg
images/obs_paused.png
- images/obs_paused_macos.png
+ images/obs_paused_macos.svg
images/tray_active.png
- images/tray_active_macos.png
+ images/tray_active_macos.svg
images/expand.svg
images/unlocked.svg
images/locked.svg
diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
index d3f216321..3f43d89ce 100644
--- a/UI/window-basic-main.cpp
+++ b/UI/window-basic-main.cpp
@@ -6480,7 +6480,7 @@ inline void OBSBasic::OnActivate()
if (trayIcon && trayIcon->isVisible()) {
#ifdef __APPLE__
QIcon trayMask =
- QIcon(":/res/images/tray_active_macos.png");
+ QIcon(":/res/images/tray_active_macos.svg");
trayMask.setIsMask(true);
trayIcon->setIcon(
QIcon::fromTheme("obs-tray", trayMask));
@@ -6507,7 +6507,7 @@ inline void OBSBasic::OnDeactivate()
if (trayIcon && trayIcon->isVisible()) {
#ifdef __APPLE__
QIcon trayIconFile =
- QIcon(":/res/images/obs_macos.png");
+ QIcon(":/res/images/obs_macos.svg");
trayIconFile.setIsMask(true);
#else
QIcon trayIconFile = QIcon(":/res/images/obs.png");
@@ -6520,7 +6520,7 @@ inline void OBSBasic::OnDeactivate()
if (os_atomic_load_bool(&recording_paused)) {
#ifdef __APPLE__
QIcon trayIconFile =
- QIcon(":/res/images/obs_paused_macos.png");
+ QIcon(":/res/images/obs_paused_macos.svg");
trayIconFile.setIsMask(true);
#else
QIcon trayIconFile =
@@ -6531,7 +6531,7 @@ inline void OBSBasic::OnDeactivate()
} else {
#ifdef __APPLE__
QIcon trayIconFile =
- QIcon(":/res/images/tray_active_macos.png");
+ QIcon(":/res/images/tray_active_macos.svg");
trayIconFile.setIsMask(true);
#else
QIcon trayIconFile =
@@ -8767,7 +8767,7 @@ void OBSBasic::ToggleShowHide()
void OBSBasic::SystemTrayInit()
{
#ifdef __APPLE__
- QIcon trayIconFile = QIcon(":/res/images/obs_macos.png");
+ QIcon trayIconFile = QIcon(":/res/images/obs_macos.svg");
trayIconFile.setIsMask(true);
#else
QIcon trayIconFile = QIcon(":/res/images/obs.png");
@@ -9455,7 +9455,7 @@ void OBSBasic::PauseRecording()
if (trayIcon && trayIcon->isVisible()) {
#ifdef __APPLE__
QIcon trayIconFile =
- QIcon(":/res/images/obs_paused_macos.png");
+ QIcon(":/res/images/obs_paused_macos.svg");
trayIconFile.setIsMask(true);
#else
QIcon trayIconFile =
@@ -9495,7 +9495,7 @@ void OBSBasic::UnpauseRecording()
if (trayIcon && trayIcon->isVisible()) {
#ifdef __APPLE__
QIcon trayIconFile =
- QIcon(":/res/images/tray_active_macos.png");
+ QIcon(":/res/images/tray_active_macos.svg");
trayIconFile.setIsMask(true);
#else
QIcon trayIconFile =