diff --git a/components.d.ts b/components.d.ts
index 97cf61985..983c76702 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -20,6 +20,7 @@ declare module 'vue' {
ExportSection: typeof import('./src/components/properties/ExportSection.vue')['default']
FillPicker: typeof import('./src/components/FillPicker.vue')['default']
FillSection: typeof import('./src/components/properties/FillSection.vue')['default']
+ FontPicker: typeof import('./src/components/FontPicker.vue')['default']
IconLucideALargeSmall: typeof import('~icons/lucide/a-large-small')['default']
IconLucideAlignCenter: typeof import('~icons/lucide/align-center')['default']
IconLucideAlignHorizontalJustifyCenter: typeof import('~icons/lucide/align-horizontal-justify-center')['default']
diff --git a/src/components/FontPicker.vue b/src/components/FontPicker.vue
new file mode 100644
index 000000000..5df8b201a
--- /dev/null
+++ b/src/components/FontPicker.vue
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ option }}
+
+
+
+ No fonts found
+
+
+
+
+
+
diff --git a/src/components/properties/TypographySection.vue b/src/components/properties/TypographySection.vue
index 34cc8e634..55b69de1c 100644
--- a/src/components/properties/TypographySection.vue
+++ b/src/components/properties/TypographySection.vue
@@ -1,29 +1,13 @@