diff --git a/client/SkribblPlayerList.js b/client/SkribblPlayerList.js
index e6956c0a0058b5186bf3a17fe8b65fbd99762b45..f793633e161b80b9277f031ee93f0162eacc6fec 100644
--- a/client/SkribblPlayerList.js
+++ b/client/SkribblPlayerList.js
@@ -15,16 +15,49 @@ export default class SkribblPlayerList extends HTMLElement {
 			<style>
 				:host {
 					display: block;
+				}
+				:host(:not([compact])) {
 					margin: 10px;
 					color: #ffffff;
 					text-shadow: 0 0 5px #00000080;
 				}
+				:host(:not([compact])) > span {
+					display: inline-block;
+					width: 100px;
+					margin: 0 10px 10px 0;
+					text-align: center;
+				}
+				:host([compact]) > span {
+					display: block;
+					width: 100%;
+					padding: 5px;
+					box-sizing: border-box;
+					background: #ffffff;
+					border-radius: 3px;
+					margin: 0 0 3px 0;
+				}
+				span.name {
+					font-wheight: bold;
+				}
+				:host(:not([compact])) span.points {
+					display: none;
+				}
 			</style>
-			Players: <span></span>
 		`;
 		this._span = this.shadowRoot.querySelector("span");
 		client.onPlayersListChange(players=>{
-			this._span.innerHTML = players.map(({name})=>name).join(", ");
+			let oldSpans = this.shadowRoot.querySelectorAll(":host > span");
+			Array.from(oldSpans).forEach(span=>span.remove());
+			players.forEach(({name,points=0})=>{
+				let span = document.createElement("span");
+				span.innerHTML = `
+					<span class="name"></span><br>
+					<span class="points"></span>
+				`;
+				span.querySelector(".name").textContent = name;
+				span.querySelector(".points").textContent = points.toString();
+				this.shadowRoot.appendChild(span);
+			});
 		});
 		this.compact = compact;
 	}