diff --git a/api/funkwhale_api/instance/nodeinfo.py b/api/funkwhale_api/instance/nodeinfo.py
index 081773b5306eed6a1accfbbbbb932813467edfc6..f45fbb129402ac0437147ac8eff1147f99335d1b 100644
--- a/api/funkwhale_api/instance/nodeinfo.py
+++ b/api/funkwhale_api/instance/nodeinfo.py
@@ -3,6 +3,7 @@ import memoize.djangocache
 import funkwhale_api
 from funkwhale_api.common import preferences
 from funkwhale_api.federation import actors
+from funkwhale_api.music import utils as music_utils
 
 from . import stats
 
@@ -34,6 +35,7 @@ def get():
                     "common__api_authentication_required"
                 ),
             },
+            "supportedUploadExtensions": music_utils.SUPPORTED_EXTENSIONS,
         },
     }
     if share_stats:
diff --git a/api/funkwhale_api/music/utils.py b/api/funkwhale_api/music/utils.py
index 574f4c8e152fd7e6dd7bc87ae0d5183490a54c67..5031e69ba8030f3db1ec4bffa22bd01af1151c5f 100644
--- a/api/funkwhale_api/music/utils.py
+++ b/api/funkwhale_api/music/utils.py
@@ -39,6 +39,10 @@ AUDIO_EXTENSIONS_AND_MIMETYPE = [
 EXTENSION_TO_MIMETYPE = {ext: mt for ext, mt in AUDIO_EXTENSIONS_AND_MIMETYPE}
 MIMETYPE_TO_EXTENSION = {mt: ext for ext, mt in AUDIO_EXTENSIONS_AND_MIMETYPE}
 
+SUPPORTED_EXTENSIONS = list(
+    sorted(set([ext for ext, _ in AUDIO_EXTENSIONS_AND_MIMETYPE]))
+)
+
 
 def get_ext_from_type(mimetype):
     return MIMETYPE_TO_EXTENSION.get(mimetype)
diff --git a/api/tests/instance/test_nodeinfo.py b/api/tests/instance/test_nodeinfo.py
index 90dc7e7062e69292873c856ff4b71ffdf29512a2..233b388d43895ed3138c22126d48210ef520a47a 100644
--- a/api/tests/instance/test_nodeinfo.py
+++ b/api/tests/instance/test_nodeinfo.py
@@ -1,6 +1,7 @@
 import funkwhale_api
 from funkwhale_api.instance import nodeinfo
 from funkwhale_api.federation import actors
+from funkwhale_api.music import utils as music_utils
 
 
 def test_nodeinfo_dump(preferences, mocker):
@@ -46,6 +47,7 @@ def test_nodeinfo_dump(preferences, mocker):
                 "favorites": {"tracks": {"total": stats["track_favorites"]}},
                 "listenings": {"total": stats["listenings"]},
             },
+            "supportedUploadExtensions": music_utils.SUPPORTED_EXTENSIONS,
         },
     }
     assert nodeinfo.get() == expected
@@ -76,6 +78,7 @@ def test_nodeinfo_dump_stats_disabled(preferences, mocker):
                     "common__api_authentication_required"
                 ],
             },
+            "supportedUploadExtensions": music_utils.SUPPORTED_EXTENSIONS,
         },
     }
     assert nodeinfo.get() == expected
diff --git a/changes/changelog.d/808.enhancement b/changes/changelog.d/808.enhancement
new file mode 100644
index 0000000000000000000000000000000000000000..8a114ee6d38fa5d4852a8e0a2d6d4f849b26512b
--- /dev/null
+++ b/changes/changelog.d/808.enhancement
@@ -0,0 +1 @@
+Advertise the list of supported upload extensions in the Nodeinfo endpoint (#808)