diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumsScreen.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumsScreen.kt
index 77f448ddf8fe2cf9b6b89081d4f918d9020ed666..2bb44a4f1b975aeb63abc50f965c1501585a1298 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumsScreen.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumsScreen.kt
@@ -22,33 +22,62 @@ import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.fillMaxHeight
 import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.AddComment
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.unit.dp
+import org.briarproject.briar.desktop.conversation.Explainer
+import org.briarproject.briar.desktop.ui.ColoredIconButton
 import org.briarproject.briar.desktop.ui.UiPlaceholder
 import org.briarproject.briar.desktop.ui.VerticalDivider
+import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18n
 import org.briarproject.briar.desktop.viewmodel.viewModel
 
 @Composable
 fun ForumsScreen(
     viewModel: ForumsViewModel = viewModel(),
 ) {
-    Row(modifier = Modifier.fillMaxWidth()) {
-        ForumsList(
-            list = viewModel.groupList,
-            isSelected = viewModel::isSelected,
-            filterBy = viewModel.filterBy,
-            onFilterSet = viewModel::setFilterBy,
-            onGroupIdSelected = viewModel::selectGroup,
-            onAddButtonClicked = {},
-        )
-        VerticalDivider()
-        Column(modifier = Modifier.weight(1f).fillMaxHeight()) {
-            val id = viewModel.selectedGroupId.value
-            if (id != null) {
-                UiPlaceholder()
-            } else {
-                UiPlaceholder()
+    if (viewModel.groupList.value.isEmpty()) {
+        NoForumsYet {}
+    } else {
+        Row(modifier = Modifier.fillMaxWidth()) {
+            ForumsList(
+                list = viewModel.groupList,
+                isSelected = viewModel::isSelected,
+                filterBy = viewModel.filterBy,
+                onFilterSet = viewModel::setFilterBy,
+                onGroupIdSelected = viewModel::selectGroup,
+                onAddButtonClicked = {},
+            )
+            VerticalDivider()
+            Column(modifier = Modifier.weight(1f).fillMaxHeight()) {
+                val id = viewModel.selectedGroupId.value
+                if (id == null) {
+                    NoForumSelected()
+                } else {
+                    UiPlaceholder()
+                }
             }
         }
     }
 }
+
+@Composable
+fun NoForumsYet(onContactAdd: () -> Unit) = Explainer(
+    headline = i18n("welcome.title"),
+    text = i18n("forum.empty_state.text"),
+) {
+    ColoredIconButton(
+        icon = Icons.Filled.AddComment,
+        iconSize = 20.dp,
+        contentDescription = i18n("access.forums.add"),
+        onClick = onContactAdd,
+    )
+}
+
+@Composable
+fun NoForumSelected() = Explainer(
+    headline = i18n("forum.none_selected.title"),
+    text = i18n("forum.none_selected.hint"),
+)
diff --git a/briar-desktop/src/main/resources/strings/BriarDesktop.properties b/briar-desktop/src/main/resources/strings/BriarDesktop.properties
index 47f782afa9cbb2ce90d4da10f13541003588c5c2..1ffc70901b0f2defbc2419319acb3b2c744b2290 100644
--- a/briar-desktop/src/main/resources/strings/BriarDesktop.properties
+++ b/briar-desktop/src/main/resources/strings/BriarDesktop.properties
@@ -58,6 +58,7 @@ access.settings.currently_disabled=Currently disabled
 access.settings.click_to_toggle_notifications=Click to toggle notifications
 
 access.return_to_previous_screen=Return to previous screen
+access.forums.add=Add forum
 
 # Contacts
 contacts.none_selected.title=No contact selected
@@ -102,6 +103,9 @@ conversation.change.alias.dialog.description=Please enter a new name for this co
 
 # Forums
 forum.search.title=Forums
+forum.empty_state.text=You don't have any forums yet. Tap the + icon to add a forum:
+forum.none_selected.title=No forum selected
+forum.none_selected.hint=Select a forum to start chatting
 group.card.posts={0, plural, one {{0} post} other {{0} posts}}
 
 # Private Groups