diff --git a/src/main.js b/src/main.js
index 16c324aebf70d088746217cb68347d0ee6dc425b..defe9ef94f3102fc5d7a81196ee8c944d56a2e29 100644
--- a/src/main.js
+++ b/src/main.js
@@ -28,11 +28,11 @@ export async function main(container) {
 		preferences: new Preferences(window.localStorage),
 		origin: location.origin,
 	});
-	vm.updateHash(location.hash);
+	vm.updateHash(decodeURIComponent(location.hash));
 	window.__rootvm = vm;
 	const view = new RootView(vm);
 	container.appendChild(view.mount());
 	window.addEventListener('hashchange', () => {
-		vm.updateHash(location.hash);
+		vm.updateHash(decodeURIComponent(location.hash));
 	});
 }