diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Raw/RawCsvExportModal.razor b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Raw/RawCsvExportModal.razor
new file mode 100644
index 00000000..674e5876
--- /dev/null
+++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Raw/RawCsvExportModal.razor
@@ -0,0 +1,170 @@
+@* CSV tag export for a Raw-tree Device / TagGroup (B2-WP5).
+
+ Reads the device's tags (via the WP5-owned RawTagCsvExportReader — no IRawTreeService extension) and
+ renders them in the same column shape RawCsvImportModal consumes (T0-2 CsvWriter, per-driver
+ CsvColumnMap). The CSV is offered as a self-contained data-URI download anchor (no JS interop, no
+ external host — matches the app's CSP posture) plus a preview textarea.
+
+ Modal contract (the RawTree coordinator wires this in place of the OnExportCsv stub):
+