diff --git a/frontend/src/app/app.component.html b/frontend/src/app/app.component.html
index 7acbaf104a60a108a93c6f5a3e4435fdc3ee25b2..f70ebd70fd09e2dc40a8b9b9b2afef1764b82859 100644
--- a/frontend/src/app/app.component.html
+++ b/frontend/src/app/app.component.html
@@ -12,12 +12,17 @@
             <button class="mr-4 border-2 border-transparent hover:border-solid hover:border-white hover:border-2 hover:rounded-lg px-2" *ngIf="auth.isLoggedIn()" (click)="auth.logout()">Logout</button>
             <button class="mr-4 border-2 border-transparent hover:border-solid hover:border-white hover:border-2 hover:rounded-lg px-2" *ngIf="!auth.isLoggedIn()" (click)="router.navigateByUrl('/signup')">Sign Up</button>
     
-            <div class="border-2 border-transparent bg-violet-950 h-8 w-8 rounded-full flex justify-center items-center">{{auth.getUsername().split('')[0].toUpperCase()}}</div>
+            <div class="border-2 border-transparent bg-violet-950 h-8 w-8 rounded-full flex justify-center items-center hover:cursor-pointer" (click)="userDropdown()">{{auth.getUsername().split('')[0].toUpperCase()}}</div>
         </div>
     </nav>
 
+    <div *ngIf="userDropdownModal">
+        <app-user-dropdown [username]="auth.getUsername()"></app-user-dropdown>
+    </div>
+
     <main class="w-full h-full">
         <router-outlet>
         </router-outlet>
     </main>
-</div>
\ No newline at end of file
+</div>
+
diff --git a/frontend/src/app/app.component.ts b/frontend/src/app/app.component.ts
index 312da32390f5447fd50408407356a37910604a54..76b9dad6d91396b55735bd506639dd96a43908e4 100644
--- a/frontend/src/app/app.component.ts
+++ b/frontend/src/app/app.component.ts
@@ -10,6 +10,8 @@ import { AuthenticationService } from './services/authentication.service';
 export class AppComponent {
   title = 'frontend';
 
+  userDropdownModal: boolean = false
+
   constructor(
     public router: Router,
     public auth: AuthenticationService) {}
@@ -19,4 +21,9 @@ export class AppComponent {
     console.log(this.auth.isAdmin())
     return this.auth.isAdmin();
   }
+
+  userDropdown(): void {
+    this.userDropdownModal = !this.userDropdownModal;
+  }
+
 }
diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts
index a0b83ffad67d066ec281453da3f1d69d0d914b36..338f77e6e2d8ed9ed7c3255519a77cd86c62ca65 100644
--- a/frontend/src/app/app.module.ts
+++ b/frontend/src/app/app.module.ts
@@ -15,6 +15,7 @@ import { CreateQuestionComponent } from './question-shit/create-question/create-
 import { CreateAnswerComponent } from './question-shit/create-answer/create-answer.component';
 import { UpdateQuestionComponent } from './question-shit/update-question/update-question.component';
 import { UpdateAnswerComponent } from './question-shit/update-answer/update-answer.component';
+import { UserDropdownComponent } from './user-dropdown/user-dropdown.component';
 
 @NgModule({
   declarations: [
@@ -27,7 +28,8 @@ import { UpdateAnswerComponent } from './question-shit/update-answer/update-answ
     CreateQuestionComponent,
     CreateAnswerComponent,
     UpdateQuestionComponent,
-    UpdateAnswerComponent
+    UpdateAnswerComponent,
+    UserDropdownComponent
   ],
   imports: [
     BrowserModule,
diff --git a/frontend/src/app/services/authentication.service.ts b/frontend/src/app/services/authentication.service.ts
index e58e3f7c79f6cf65ce8938300c3558f04ae2d872..dbe901dd65ba1e960eef2a51a2668fadea0546e3 100644
--- a/frontend/src/app/services/authentication.service.ts
+++ b/frontend/src/app/services/authentication.service.ts
@@ -65,5 +65,4 @@ export class AuthenticationService {
       return "Guest";
     return user.username;
   }
-
 }
diff --git a/frontend/src/app/user-dropdown/user-dropdown.component.css b/frontend/src/app/user-dropdown/user-dropdown.component.css
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/frontend/src/app/user-dropdown/user-dropdown.component.html b/frontend/src/app/user-dropdown/user-dropdown.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..acdc5d25e93b6905c10a52de676f4b2db9220426
--- /dev/null
+++ b/frontend/src/app/user-dropdown/user-dropdown.component.html
@@ -0,0 +1,11 @@
+<div class="z-10 fixed right-0 flex flex-col items-end">
+    <div class="h-0 w-0 border-x-8 border-x-transparent border-b-8 border-b-gray-300 mr-8"></div>
+    <div class="flex flex-col min-h-full justify-center text-center items-center">
+        <div class="rounded-lg bg-gray-300 p-2">
+            <h1 class="font-bold">User Infos</h1>
+            <h1>{{username}}</h1>
+            <button *ngIf="auth.isLoggedIn()" class="border-2 border-black rounded-lg px-2 bg-gray-400 hover:bg-gray-500">Change Username</button>
+        </div>
+    </div>
+
+</div>
\ No newline at end of file
diff --git a/frontend/src/app/user-dropdown/user-dropdown.component.spec.ts b/frontend/src/app/user-dropdown/user-dropdown.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..81af5a4c5738b4679d7097aaeb95451028216e87
--- /dev/null
+++ b/frontend/src/app/user-dropdown/user-dropdown.component.spec.ts
@@ -0,0 +1,21 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { UserDropdownComponent } from './user-dropdown.component';
+
+describe('UserDropdownComponent', () => {
+  let component: UserDropdownComponent;
+  let fixture: ComponentFixture<UserDropdownComponent>;
+
+  beforeEach(() => {
+    TestBed.configureTestingModule({
+      declarations: [UserDropdownComponent]
+    });
+    fixture = TestBed.createComponent(UserDropdownComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/frontend/src/app/user-dropdown/user-dropdown.component.ts b/frontend/src/app/user-dropdown/user-dropdown.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5eb79caec2799f65ea5625815fe34c3d30993d94
--- /dev/null
+++ b/frontend/src/app/user-dropdown/user-dropdown.component.ts
@@ -0,0 +1,20 @@
+import { Component, Input, OnInit } from '@angular/core';
+import { User } from '../Types/types';
+import { AuthenticationService } from '../services/authentication.service';
+
+@Component({
+  selector: 'app-user-dropdown',
+  templateUrl: './user-dropdown.component.html',
+  styleUrls: ['./user-dropdown.component.css']
+})
+export class UserDropdownComponent implements OnInit {
+
+  @Input() username!: string;
+
+  constructor(public auth: AuthenticationService) {}
+
+  ngOnInit(): void {
+      if (this.username === undefined)
+        this.username = "Guest";
+  }
+}