diff --git a/api/funkwhale_api/music/metadata.py b/api/funkwhale_api/music/metadata.py
index 55044dbc7f98e88d2decc1c756a7f0488bcfdac9..f0ea67b1aa66003be34cd0572f6e79c10c8064f4 100644
--- a/api/funkwhale_api/music/metadata.py
+++ b/api/funkwhale_api/music/metadata.py
@@ -13,6 +13,8 @@ from rest_framework.compat import Mapping
 
 logger = logging.getLogger(__name__)
 NODEFAULT = object()
+# default title used when imported tracks miss the `Album` tag, see #122
+UNKWOWN_ALBUM = "[Unknown Album]"
 
 
 class TagNotFound(KeyError):
@@ -425,9 +427,11 @@ class AlbumField(serializers.Field):
 
     def to_internal_value(self, data):
         try:
-            title = data.get("album")
+            title = data.get("album") or ""
         except TagNotFound:
-            raise serializers.ValidationError("Missing album tag")
+            title = ""
+
+        title = title.strip() or UNKWOWN_ALBUM
         final = {
             "title": title,
             "release_date": data.get("date", None),
diff --git a/api/tests/music/test_metadata.py b/api/tests/music/test_metadata.py
index 52c4e302685b7bf0aa178676f321c29bf551e1a8..539fa49a2f2b26a3a6818d2d4d23ace81f910122 100644
--- a/api/tests/music/test_metadata.py
+++ b/api/tests/music/test_metadata.py
@@ -539,6 +539,34 @@ def test_serializer_album_artist_missing():
     assert serializer.validated_data == expected
 
 
+@pytest.mark.parametrize(
+    "data",
+    [
+        # no album tag
+        {"title": "Track", "artist": "Artist"},
+        # empty/null values
+        {"title": "Track", "artist": "Artist", "album": ""},
+        {"title": "Track", "artist": "Artist", "album": " "},
+        {"title": "Track", "artist": "Artist", "album": None},
+    ],
+)
+def test_serializer_album_default_title_when_missing_or_empty(data):
+    expected = {
+        "title": "Track",
+        "artists": [{"name": "Artist", "mbid": None}],
+        "album": {
+            "title": metadata.UNKWOWN_ALBUM,
+            "mbid": None,
+            "release_date": None,
+            "artists": [],
+        },
+        "cover_data": None,
+    }
+    serializer = metadata.TrackMetadataSerializer(data=metadata.FakeMetadata(data))
+    assert serializer.is_valid(raise_exception=True) is True
+    assert serializer.validated_data == expected
+
+
 @pytest.mark.parametrize(
     "field_name", ["copyright", "license", "mbid", "position", "disc_number"]
 )
diff --git a/changes/changelog.d/122.enhancement b/changes/changelog.d/122.enhancement
new file mode 100644
index 0000000000000000000000000000000000000000..2776824c7406e3adb2af3bd77c3397ed0f0c7cac
--- /dev/null
+++ b/changes/changelog.d/122.enhancement
@@ -0,0 +1 @@
+Support for importing files with no album tag (#122)