diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/pad/Pad.java b/PlayWallCore/src/main/java/de/tobias/playpad/pad/Pad.java
index 833e52beb59f423a9c0c9c14b81d82ecb46df735..73f60d57b6508e359fe2e29260932804f1696d19 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/pad/Pad.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/pad/Pad.java
@@ -8,6 +8,7 @@ import de.tobias.playpad.pad.content.Playlistable;
 import de.tobias.playpad.pad.content.play.Pauseable;
 import de.tobias.playpad.pad.fade.listener.PadFadeContentListener;
 import de.tobias.playpad.pad.fade.listener.PadFadeDurationListener;
+import de.tobias.playpad.pad.listener.PadNameChangeListener;
 import de.tobias.playpad.pad.listener.PadStatusControlListener;
 import de.tobias.playpad.pad.listener.PadStatusNotFoundListener;
 import de.tobias.playpad.pad.listener.trigger.PadTriggerContentListener;
@@ -65,6 +66,7 @@ public class Pad implements IPad {
 	 */
 
 	// Global Listener (unabhängig von der UI), für Core Functions wie Play, Pause
+	private transient PadNameChangeListener padNameChangeListener;
 	private transient PadStatusControlListener padStatusControlListener;
 	private transient PadStatusNotFoundListener padStatusNotFoundListener;
 	private transient PadFadeContentListener padFadeContentListener;
@@ -121,6 +123,9 @@ public class Pad implements IPad {
 
 	private void initPadListener() {
 		// Remove old listener from properties
+		if (padNameChangeListener != null && nameProperty != null) {
+			nameProperty.removeListener(padNameChangeListener);
+		}
 		if (padStatusControlListener != null && statusProperty != null) {
 			statusProperty.removeListener(padStatusControlListener);
 		}
@@ -143,18 +148,18 @@ public class Pad implements IPad {
 		}
 
 		// init new listener for properties
+		padNameChangeListener = new PadNameChangeListener(this);
+		nameProperty.addListener(padNameChangeListener);
 		padStatusControlListener = new PadStatusControlListener(this);
 		statusProperty.addListener(padStatusControlListener);
 
 		// Fade
-
 		padFadeDurationListener = new PadFadeDurationListener(this);
 		padFadeContentListener = new PadFadeContentListener(this);
 		contentProperty.addListener(padFadeContentListener);
 		padFadeContentListener.changed(contentProperty, null, getContent());
 
 		// Not found status count
-
 		padStatusNotFoundListener = new PadStatusNotFoundListener(project);
 		statusProperty.addListener(padStatusNotFoundListener);
 
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/PadNameChangeListener.java b/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/PadNameChangeListener.java
new file mode 100644
index 0000000000000000000000000000000000000000..af19e4f1cdc06d24b3cefb77037f2d88af408b91
--- /dev/null
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/pad/listener/PadNameChangeListener.java
@@ -0,0 +1,25 @@
+package de.tobias.playpad.pad.listener;
+
+import de.thecodelabs.logger.Logger;
+import de.tobias.playpad.PlayPadPlugin;
+import de.tobias.playpad.pad.Pad;
+import javafx.beans.value.ChangeListener;
+import javafx.beans.value.ObservableValue;
+
+public class PadNameChangeListener implements ChangeListener<String> {
+
+	private final Pad pad;
+
+	public PadNameChangeListener(Pad pad) {
+		this.pad = pad;
+	}
+
+	@Override
+	public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
+		try {
+			PlayPadPlugin.getInstance().getPadListener().forEach(listener -> listener.onNameChanged(pad, oldValue, newValue));
+		} catch (Exception e) {
+			Logger.error(e);
+		}
+	}
+}
diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/plugin/PadListener.java b/PlayWallCore/src/main/java/de/tobias/playpad/plugin/PadListener.java
index 5c9df06fdb5af598fe73958e56fed71265f4535b..a81a3e134132d1819a51d3777dcee956d41ff245 100644
--- a/PlayWallCore/src/main/java/de/tobias/playpad/plugin/PadListener.java
+++ b/PlayWallCore/src/main/java/de/tobias/playpad/plugin/PadListener.java
@@ -13,6 +13,8 @@ import javafx.collections.ListChangeListener;
  */
 public interface PadListener {
 
+	void onNameChanged(Pad pad, String oldValue, String newValue);
+
 	/**
 	 * Call then ever the status of a pad will be changed
 	 *
diff --git a/PlayWallPlugins/PlayWallPluginEqualizer/src/main/java/de/tobias/playpad/equalizerplugin/impl/EqualizerPluginImpl.java b/PlayWallPlugins/PlayWallPluginEqualizer/src/main/java/de/tobias/playpad/equalizerplugin/impl/EqualizerPluginImpl.java
index f65d2d28af1b7df25ed6f40c6a92f36a323deb95..03cacb671ab3a9c091bc8acbfce194b9ea826e2b 100644
--- a/PlayWallPlugins/PlayWallPluginEqualizer/src/main/java/de/tobias/playpad/equalizerplugin/impl/EqualizerPluginImpl.java
+++ b/PlayWallPlugins/PlayWallPluginEqualizer/src/main/java/de/tobias/playpad/equalizerplugin/impl/EqualizerPluginImpl.java
@@ -74,6 +74,11 @@ public class EqualizerPluginImpl implements PlayPadPluginStub, PluginArtifact, M
 		});
 	}
 
+	@Override
+	public void onNameChanged(Pad pad, String oldValue, String newValue) {
+		// Nothing to implement
+	}
+
 	@Override
 	public void onStatusChange(Pad pad, PadStatus newValue) {
 		if (newValue == PadStatus.PLAY) {
diff --git a/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/java/de/tobias/playpad/plugin/playout/log/listener/PadPlayLogListener.java b/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/java/de/tobias/playpad/plugin/playout/log/listener/PadPlayLogListener.java
index 05ce0b71bd3f45bcb790fdf0f8fae52ccd1b6354..7548965da7c09447db3a47ca2a58de225bc7cd79 100644
--- a/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/java/de/tobias/playpad/plugin/playout/log/listener/PadPlayLogListener.java
+++ b/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/java/de/tobias/playpad/plugin/playout/log/listener/PadPlayLogListener.java
@@ -13,6 +13,11 @@ import javafx.collections.ListChangeListener;
 
 public class PadPlayLogListener implements PadListener {
 
+	@Override
+	public void onNameChanged(Pad pad, String oldValue, String newValue) {
+		// Nothing to implement
+	}
+
 	@Override
 	public void onStatusChange(Pad pad, PadStatus newValue) {
 		if (newValue == PadStatus.PLAY) {
diff --git a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/WebApiPlugin.scala b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/WebApiPlugin.scala
index 376d97dee8a7393a12023ede7b9d23e0e45fdfde..9953f386f8eae9d743ffe3200db402558432ec14 100644
--- a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/WebApiPlugin.scala
+++ b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/WebApiPlugin.scala
@@ -15,7 +15,7 @@ import de.tobias.playpad.plugin.api.WebApiPlugin.connectToRemoteInstances
 import de.tobias.playpad.plugin.api.client.WebApiRemoteConnectionStateListener
 import de.tobias.playpad.plugin.api.settings.{WebApiRemoteSettings, WebApiSettings, WebApiSettingsViewController}
 import de.tobias.playpad.plugin.api.websocket.WebSocketHandler
-import de.tobias.playpad.plugin.api.websocket.listener.{PadStatusListener, ProjectListener}
+import de.tobias.playpad.plugin.api.websocket.listener.{PadApiListener, ProjectListener}
 import de.tobias.playpad.plugin.{Module, PlayPadPluginStub}
 import javafx.application.Platform
 import javafx.collections.{FXCollections, ObservableMap}
@@ -36,7 +36,7 @@ class WebApiPlugin extends PlayPadPluginStub with PluginArtifact {
 		module = new Module(descriptor.getName, descriptor.getArtifactId)
 		Localization.addResourceBundle("plugin/webapi/lang/base", getClass.getClassLoader)
 
-		PlayPadPlugin.getInstance().addPadListener(new PadStatusListener)
+		PlayPadPlugin.getInstance().addPadListener(new PadApiListener)
 		PlayPadPlugin.getInstance().addGlobalListener(new ProjectListener)
 
 		Logger.debug("Enable Web API Plugin")
diff --git a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/listener/PadStatusListener.scala b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/listener/PadApiListener.scala
similarity index 58%
rename from PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/listener/PadStatusListener.scala
rename to PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/listener/PadApiListener.scala
index ffd31cb462573fa1630bcf9448d4f4eda0b7a387..efa8bfea00c6b5b123ea93200c9f9e41acac4c30 100644
--- a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/listener/PadStatusListener.scala
+++ b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/listener/PadApiListener.scala
@@ -5,7 +5,17 @@ import de.tobias.playpad.pad.{Pad, PadStatus}
 import de.tobias.playpad.plugin.PadListener
 import de.tobias.playpad.plugin.api.websocket.WebSocketHandler
 
-class PadStatusListener extends PadListener {
+class PadApiListener extends PadListener {
+
+	override def onNameChanged(pad: Pad, oldValue: String, newValue: String): Unit = {
+		val payload = new JsonObject
+
+		payload.addProperty("pad", pad.getUuid.toString)
+		payload.addProperty("oldValue", oldValue)
+		payload.addProperty("newValue", newValue)
+
+		WebSocketHandler.instance.sendUpdate("pad-name-changed", payload)
+	}
 
 	override def onStatusChange(pad: Pad, newValue: PadStatus): Unit = {
 		val payload = new JsonObject