diff --git a/client/src/components/Header.tsx b/client/src/components/Header.tsx
new file mode 100644
index 0000000..00d5ebb
--- /dev/null
+++ b/client/src/components/Header.tsx
@@ -0,0 +1,31 @@
+import { Box, Button, Menu, MenuItem } from '@mui/material';
+import { MouseEvent, useState } from 'react';
+import { useNavigate, useParams } from 'react-router-dom';
+
+import authManager from '../AuthManager';
+
+export default function Header() {
+  const navigate = useNavigate();
+  const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null);
+  const handleClick = (event: MouseEvent<HTMLButtonElement>) => setAnchorEl(event.currentTarget);
+  const handleClose = () => setAnchorEl(null);
+  const params = useParams();
+
+  const goToAccountSelection = () => navigate(`/account`);
+  const goToContacts = () => navigate(`/Contacts`);
+  const goToAccountSettings = () => navigate(`/account/${params.accountId}/settings`);
+
+  return (
+    <Box>
+      <Button aria-controls="simple-menu" aria-haspopup="true" onClick={handleClick}>
+        Menu
+      </Button>
+      <Menu id="simple-menu" anchorEl={anchorEl} open={Boolean(anchorEl)} onClose={handleClose}>
+        <MenuItem onClick={goToAccountSelection}>Change account</MenuItem>
+        <MenuItem onClick={goToContacts}>Contacts</MenuItem>
+        {params.accountId && <MenuItem onClick={goToAccountSettings}>Account settings</MenuItem>}
+        <MenuItem onClick={() => authManager.disconnect()}>Log out</MenuItem>
+      </Menu>
+    </Box>
+  );
+}
