diff --git a/program/migrations/0101_alter_radiosettings_host_image_aspect_ratio_and_more.py b/program/migrations/0101_alter_radiosettings_host_image_aspect_ratio_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..2c3c636ed09b27623bba4252b7b8dc602c013257
--- /dev/null
+++ b/program/migrations/0101_alter_radiosettings_host_image_aspect_ratio_and_more.py
@@ -0,0 +1,34 @@
+# Generated by Django 4.2.13 on 2024-06-24 21:31
+
+import program.models
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("program", "0100_alter_userprofile_options"),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name="radiosettings",
+            name="host_image_aspect_ratio",
+            field=program.models.ImageAspectRadioField(default="1:1", max_length=11),
+        ),
+        migrations.AlterField(
+            model_name="radiosettings",
+            name="note_image_aspect_ratio",
+            field=program.models.ImageAspectRadioField(default="16:9", max_length=11),
+        ),
+        migrations.AlterField(
+            model_name="radiosettings",
+            name="show_image_aspect_ratio",
+            field=program.models.ImageAspectRadioField(default="16:9", max_length=11),
+        ),
+        migrations.AlterField(
+            model_name="radiosettings",
+            name="show_logo_aspect_ratio",
+            field=program.models.ImageAspectRadioField(default="1:1", max_length=11),
+        ),
+    ]
diff --git a/program/models.py b/program/models.py
index 029c057a41f0e2e2a0f09466e2faf5a48addad4f..45a0fc205c70ce93518456d39908f061293ddb21 100644
--- a/program/models.py
+++ b/program/models.py
@@ -23,6 +23,7 @@ from versatileimagefield.fields import PPOIField, VersatileImageField
 
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError as DjangoValidationError
+from django.core.validators import RegexValidator
 from django.db import models
 from django.db.models import Max, Q
 from django.utils import timezone
@@ -551,12 +552,16 @@ class Playlist(models.Model):
 
 
 class ImageAspectRadioField(models.CharField):
+    validators = [
+        RegexValidator(
+            code="invalid_aspect_ratio",
+            message="Enter a valid aspect ratio in the format int:int or float:float",
+            regex=r"^\d+(\.\d+)?:\d+(\.\d+)?$",
+        )
+    ]
+
     def __init__(self, *args, **kwargs):
-        kwargs["choices"] = [
-            ("1:1", "1:1"),
-            ("16:9", "16:9"),
-        ]
-        kwargs["max_length"] = 4
+        kwargs["max_length"] = 11
 
         super().__init__(*args, **kwargs)