diff --git a/SSD1306.cpp b/SSD1306.cpp
index c71978e767d5a38f9e9800f26456228bdee03c41..29f845987e3ed50e37ea250b27edb319496d346e 100644
--- a/SSD1306.cpp
+++ b/SSD1306.cpp
@@ -434,6 +434,14 @@ uint16_t SSD1306::getStringWidth(const char* text, uint16_t length) {
   return max(maxWidth, stringWidth);
 }
 
+uint16_t SSD1306::getStringWidth(String strUser) {
+  char* text = utf8ascii(strUser);
+  uint16_t length = strlen(text);
+  uint16_t width = getStringWidth(text, length);
+  free(text);
+  return width;
+}
+
 void SSD1306::setTextAlignment(SSD1306_TEXT_ALIGNMENT textAlignment) {
   this->textAlignment = textAlignment;
 }
diff --git a/SSD1306.h b/SSD1306.h
index 84cb5a9918654fda16e88045b207a085235da734..65f0828d3e0cf50a782608cb927eb764d6a0093d 100644
--- a/SSD1306.h
+++ b/SSD1306.h
@@ -203,6 +203,9 @@ class SSD1306 {
     // font settings
     uint16_t getStringWidth(const char* text, uint16_t length);
 
+    // Convencience method for the const char version
+    uint16_t getStringWidth(String text);
+
     // Specifies relative to which anchor point
     // the text is rendered. Available constants:
     // TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER, TEXT_ALIGN_RIGHT, TEXT_ALIGN_CENTER_BOTH