diff --git a/src/lib/ImageList.svelte b/src/lib/ImageList.svelte
index fae813643a65b63465a0e443dd12c54f484a8801..b6fc214c3f62830a0997d1bd4dd85d93c68128f4 100644
--- a/src/lib/ImageList.svelte
+++ b/src/lib/ImageList.svelte
@@ -4,6 +4,8 @@
 
 <div class="flex flex-row flex-wrap justify-center">
     {#each snowflakes as snowflake}
-        <img src="/api/image/{snowflake}/preview" alt="" class="m-2"/>
+        <a href="#/image/{snowflake}"
+            ><img src="/api/image/{snowflake}/preview" alt="" class="m-2" /></a
+        >
     {/each}
 </div>
diff --git a/src/routes.js b/src/routes.js
index 262bd7a448484e8d9d38d7ec512905e7fd498274..73313cc54ad290f9848ccc29dd5a9282f45cddc8 100644
--- a/src/routes.js
+++ b/src/routes.js
@@ -1,7 +1,9 @@
-import Home from './routes/Home.svelte';
-import Upload from './routes/Upload.svelte';
+import Home from '@/routes/Home.svelte';
+import Upload from '@/routes/Upload.svelte';
+import ImagePost from '@/routes/ImagePost.svelte';
 
 export default {
     '/': Home,
     '/upload': Upload,
+    '/image/:snowflake': ImagePost,
 }
\ No newline at end of file
diff --git a/src/routes/ImagePost.svelte b/src/routes/ImagePost.svelte
new file mode 100644
index 0000000000000000000000000000000000000000..1152f46f23bfe7329c64de3dfe0c31d0329c9a92
--- /dev/null
+++ b/src/routes/ImagePost.svelte
@@ -0,0 +1,7 @@
+<script>
+    import { paths } from "@/static/js/paths";
+
+    export let params = {};
+</script>
+
+<img src={paths.ImageFile(params.snowflake)} alt="" />