diff --git a/frontend/src/lib/types/user.ts b/frontend/src/lib/types/user.ts
index c3a53d8d51951a44bc26bacf92c5952132ca30e2..cb287f7600d5ef855c6b17ee202089069fb6a46b 100644
--- a/frontend/src/lib/types/user.ts
+++ b/frontend/src/lib/types/user.ts
@@ -28,7 +28,7 @@ export default class User {
 	private _ui_language: string | null;
 	private _home_language: string | null;
 	private _target_language: string | null;
-	private _birthdate: number | null;
+	private _birthdate: Date | null;
 	private _gender: string | null;
 	private _calcom_link: string | null;
 	private _study_id: number | null;
@@ -44,7 +44,7 @@ export default class User {
 		ui_language: string | null,
 		home_language: string | null,
 		target_language: string | null,
-		birthdate: number | null,
+		birthdate: Date | null,
 		gender: string | null,
 		calcom_link: string | null,
 		study_id: number | null,
@@ -110,7 +110,7 @@ export default class User {
 		return this._target_language;
 	}
 
-	get birthdate(): number | null {
+	get birthdate(): Date | null {
 		return this._birthdate;
 	}
 
diff --git a/frontend/src/routes/register/+page.svelte b/frontend/src/routes/register/+page.svelte
index bb6692c1f90f1362b5892dbccd26737087ec4aa6..64437b5a6124369c43d7180baeaccec91f75c117 100644
--- a/frontend/src/routes/register/+page.svelte
+++ b/frontend/src/routes/register/+page.svelte
@@ -18,6 +18,7 @@
 	import Typingtest from '$lib/components/tests/typingtest.svelte';
 	import AvailableTutors from '$lib/components/users/availableTutors.svelte';
 	import { browser } from '$app/environment';
+	import { formatToUTCDate } from '$lib/utils/date';
 
 	let current_step = 0;
 
@@ -388,7 +389,7 @@
 					id="birthyear"
 					name="birthyear"
 					required
-					bind:value={birthdate}
+					on:change={(e) => (birthdate = formatToUTCDate(new Date(e.target.value, 1, 1)))}
 				>
 					<option disabled selected value="">{$t('register.birthyear')}</option>
 					{#each Array.from({ length: 82 }, (_, i) => i + 1931).reverse() as year}