diff --git a/Marlin/serial.cpp b/Marlin/serial.cpp
index 9b5ae139e4cc7535f1a937622753df709c54677d..797c6107ac0b6a4ebfd97a418255b24b44b8d68e 100644
--- a/Marlin/serial.cpp
+++ b/Marlin/serial.cpp
@@ -32,3 +32,5 @@ void serial_echopair_P(const char* s_P, long v)          { serialprintPGM(s_P);
 void serial_echopair_P(const char* s_P, float v)         { serialprintPGM(s_P); SERIAL_ECHO(v); }
 void serial_echopair_P(const char* s_P, double v)        { serialprintPGM(s_P); SERIAL_ECHO(v); }
 void serial_echopair_P(const char* s_P, unsigned long v) { serialprintPGM(s_P); SERIAL_ECHO(v); }
+
+void serial_spaces(uint8_t count) { while (count--) MYSERIAL.write(' '); }
diff --git a/Marlin/serial.h b/Marlin/serial.h
index b6e7add430d34a5c9882baba78028b40015ab87d..62e06c9892656899d3d37617f445ca32967de317 100644
--- a/Marlin/serial.h
+++ b/Marlin/serial.h
@@ -84,6 +84,11 @@ FORCE_INLINE void serial_echopair_P(const char* s_P, uint16_t v) { serial_echopa
 FORCE_INLINE void serial_echopair_P(const char* s_P, bool v) { serial_echopair_P(s_P, (int)v); }
 FORCE_INLINE void serial_echopair_P(const char* s_P, void *v) { serial_echopair_P(s_P, (unsigned long)v); }
 
+void serial_spaces(uint8_t count);
+#define SERIAL_ECHO_SP(C)     serial_spaces(C)
+#define SERIAL_ERROR_SP(C)    serial_spaces(C)
+#define SERIAL_PROTOCOL_SP(C) serial_spaces(C)
+
 //
 // Functions for serial printing from PROGMEM. (Saves loads of SRAM.)
 //