diff --git a/homeassistant/components/xbox/base_sensor.py b/homeassistant/components/xbox/base_sensor.py
index c463b31d3c5eb2f2e73146d02438dedede6e4906..8ef0928f903b5d5a97545153fd015b4e99cc0197 100644
--- a/homeassistant/components/xbox/base_sensor.py
+++ b/homeassistant/components/xbox/base_sensor.py
@@ -3,6 +3,7 @@ from __future__ import annotations
 
 from yarl import URL
 
+from homeassistant.helpers.entity import DeviceInfo
 from homeassistant.helpers.update_coordinator import CoordinatorEntity
 
 from . import PresenceData, XboxUpdateCoordinator
@@ -66,12 +67,12 @@ class XboxBaseSensorEntity(CoordinatorEntity):
         return self.attribute == "online"
 
     @property
-    def device_info(self):
+    def device_info(self) -> DeviceInfo:
         """Return a device description for device registry."""
-        return {
-            "identifiers": {(DOMAIN, "xbox_live")},
-            "name": "Xbox Live",
-            "manufacturer": "Microsoft",
-            "model": "Xbox Live",
-            "entry_type": "service",
-        }
+        return DeviceInfo(
+            entry_type="service",
+            identifiers={(DOMAIN, "xbox_live")},
+            manufacturer="Microsoft",
+            model="Xbox Live",
+            name="Xbox Live",
+        )
diff --git a/homeassistant/components/xbox/media_player.py b/homeassistant/components/xbox/media_player.py
index 17390f81fad30d217c0d55fc5f5e4d84ef2adddc..cdeb016d6040a6e32283053f265e746278eaae28 100644
--- a/homeassistant/components/xbox/media_player.py
+++ b/homeassistant/components/xbox/media_player.py
@@ -29,6 +29,7 @@ from homeassistant.components.media_player.const import (
     SUPPORT_VOLUME_STEP,
 )
 from homeassistant.const import STATE_OFF, STATE_ON, STATE_PAUSED, STATE_PLAYING
+from homeassistant.helpers.entity import DeviceInfo
 from homeassistant.helpers.update_coordinator import CoordinatorEntity
 
 from . import ConsoleData, XboxUpdateCoordinator
@@ -213,21 +214,20 @@ class XboxMediaPlayer(CoordinatorEntity, MediaPlayerEntity):
             await self.client.smartglass.launch_app(self._console.id, media_id)
 
     @property
-    def device_info(self):
+    def device_info(self) -> DeviceInfo:
         """Return a device description for device registry."""
         # Turns "XboxOneX" into "Xbox One X" for display
         matches = re.finditer(
             ".+?(?:(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|$)",
             self._console.console_type,
         )
-        model = " ".join([m.group(0) for m in matches])
-
-        return {
-            "identifiers": {(DOMAIN, self._console.id)},
-            "name": self._console.name,
-            "manufacturer": "Microsoft",
-            "model": model,
-        }
+
+        return DeviceInfo(
+            identifiers={(DOMAIN, self._console.id)},
+            manufacturer="Microsoft",
+            model=" ".join([m.group(0) for m in matches]),
+            name=self._console.name,
+        )
 
 
 def _find_media_image(images: list[Image]) -> Image | None:
diff --git a/homeassistant/components/xbox/remote.py b/homeassistant/components/xbox/remote.py
index 31e6220172a7223ac1c7c68d50ebc227613fa559..04f25c5f6323d37246bad655a6482f4869c2a447 100644
--- a/homeassistant/components/xbox/remote.py
+++ b/homeassistant/components/xbox/remote.py
@@ -20,6 +20,7 @@ from homeassistant.components.remote import (
     DEFAULT_DELAY_SECS,
     RemoteEntity,
 )
+from homeassistant.helpers.entity import DeviceInfo
 from homeassistant.helpers.update_coordinator import CoordinatorEntity
 
 from . import ConsoleData, XboxUpdateCoordinator
@@ -98,18 +99,17 @@ class XboxRemote(CoordinatorEntity, RemoteEntity):
                 await asyncio.sleep(delay)
 
     @property
-    def device_info(self):
+    def device_info(self) -> DeviceInfo:
         """Return a device description for device registry."""
         # Turns "XboxOneX" into "Xbox One X" for display
         matches = re.finditer(
             ".+?(?:(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|$)",
             self._console.console_type,
         )
-        model = " ".join([m.group(0) for m in matches])
-
-        return {
-            "identifiers": {(DOMAIN, self._console.id)},
-            "name": self._console.name,
-            "manufacturer": "Microsoft",
-            "model": model,
-        }
+
+        return DeviceInfo(
+            identifiers={(DOMAIN, self._console.id)},
+            manufacturer="Microsoft",
+            model=" ".join([m.group(0) for m in matches]),
+            name=self._console.name,
+        )