diff --git a/frontend/src/components/index.ts b/frontend/src/components/index.ts
index 7b9d7614..3dbccad0 100644
--- a/frontend/src/components/index.ts
+++ b/frontend/src/components/index.ts
@@ -36,6 +36,9 @@ import("./not-found").then(({ NotFound }) => {
import("./screencast").then(({ Screencast: Screencast }) => {
customElements.define("btrix-screencast", Screencast);
});
+import("./select-browser-profile").then(({ SelectBrowserProfile }) => {
+ customElements.define("btrix-select-browser-profile", SelectBrowserProfile);
+});
customElements.define("btrix-alert", Alert);
customElements.define("btrix-input", Input);
diff --git a/frontend/src/components/select-browser-profile.ts b/frontend/src/components/select-browser-profile.ts
new file mode 100644
index 00000000..e4af9383
--- /dev/null
+++ b/frontend/src/components/select-browser-profile.ts
@@ -0,0 +1,199 @@
+import { html } from "lit";
+import { property, state } from "lit/decorators.js";
+import { msg, localized } from "@lit/localize";
+import orderBy from "lodash/fp/orderBy";
+
+import type { AuthState } from "../utils/AuthService";
+import LiteElement from "../utils/LiteElement";
+import type { Profile } from "../pages/archive/types";
+
+/**
+ * Browser profile select dropdown
+ *
+ * Usage example:
+ * ```ts
+ *