diff --git a/src/router/index.js b/src/router/index.js
index 9aaaf0cb3196f21a9558bdb91bd22ef2a20c5476..b0a701a8e3e72570a55bb60873802b88f200adfd 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,5 +1,6 @@
 import store from "@/store";
 import { createRouter, createWebHistory } from "vue-router";
+import NotFound from "@/views/NotFound.vue";
 
 /**
  * Guards routes. If token is null, no user is logged in and only the
@@ -133,6 +134,8 @@ const routes = [
     name: "UserItems",
     component: () => import("../views/UserProfileViews/UserItemsView.vue"),
   },
+  // Make sure it's your last route definition
+  { path: "/:pathMatch(.*)*", name: "not-found", component: NotFound },
 ];
 
 const router = createRouter({
@@ -140,4 +143,9 @@ const router = createRouter({
   routes,
 });
 
+router.resolve({
+  name: "not-found",
+  params: { pathMatch: ["not", "found"] },
+}).href;
+
 export default router;
diff --git a/src/views/NotFound.vue b/src/views/NotFound.vue
new file mode 100644
index 0000000000000000000000000000000000000000..1051e31dded6de02a0c51f96a3994c47f7033598
--- /dev/null
+++ b/src/views/NotFound.vue
@@ -0,0 +1,18 @@
+<template>
+  <div class="flex place-content-center h-full p-8">
+    <div class="bg-gray-300 p-8 rounded-2xl drop-shadow-xl">
+      <h1 class="text-primary-medium text-4xl">Oisann!</h1>
+      <p>Her skjedde det visst en feil...</p>
+      <p>
+        Lyst å gå tilbake til
+        <router-link to="/" class="underline">start?</router-link>
+      </p>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {};
+</script>
+
+<style></style>