diff --git a/frontend/package.json b/frontend/package.json
index ceacd3e70..e7c7363c3 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -34,6 +34,7 @@
"react-dom": "^19.2.8",
"react-intl": "^10.1.22",
"react-markdown": "^10.1.0",
+ "react-qr-code": "^2.2.0",
"react-router-dom": "^7.18.2",
"react-select": "^5.10.2",
"react-toastify": "^11.1.0",
diff --git a/frontend/src/modals/TwoFactorModal.tsx b/frontend/src/modals/TwoFactorModal.tsx
index fa46c89cc..2b8639fa9 100644
--- a/frontend/src/modals/TwoFactorModal.tsx
+++ b/frontend/src/modals/TwoFactorModal.tsx
@@ -7,6 +7,7 @@ import { disable2FA, enable2FA, get2FAStatus, regenerateBackupCodes, start2FASet
import { Button } from "src/components";
import { T } from "src/locale";
import { validateString } from "src/modules/Validations";
+import QRCode from "react-qr-code";
type Step = "loading" | "status" | "setup" | "verify" | "backup" | "disable";
@@ -155,11 +156,10 @@ const TwoFactorModal = EasyModal.create(({ id, visible, remove }: Props) => {
-