diff --git a/components/nav/NavSide.vue b/components/nav/NavSide.vue
index 1c3ae571..5ea1c09d 100644
--- a/components/nav/NavSide.vue
+++ b/components/nav/NavSide.vue
@@ -28,7 +28,7 @@
       <div i-ri:at-line />
       <span>Direct Messages</span>
     </NuxtLink>
-    <NuxtLink flex gap2 items-center>
+    <NuxtLink flex gap2 items-center to="/favourites">
       <div i-ri:heart-3-line />
       <span>Favorites</span>
     </NuxtLink>
diff --git a/pages/favourites.vue b/pages/favourites.vue
new file mode 100644
index 00000000..cedd2a03
--- /dev/null
+++ b/pages/favourites.vue
@@ -0,0 +1,22 @@
+<script setup lang="ts">
+definePageMeta({
+  middleware: 'auth',
+})
+
+const masto = await useMasto()
+const paginator = masto.favourites.getIterator()
+</script>
+
+<template>
+  <MainContent>
+    <template #title>
+      <div i-ri:heart-fill h-6 mr-1 /><span>Favourites</span>
+    </template>
+    <template #actions>
+      <div color-gray i-ri:equalizer-fill mr-1 h-6 />
+    </template>
+    <slot>
+      <TimelinePaginator :paginator="paginator" />
+    </slot>
+  </MainContent>
+</template>