diff --git a/gso/utils/helpers.py b/gso/utils/helpers.py
index 2476cd8e9853d7016d502480aeecbd6edb263309..e9025a950fc13aa2255b59cc8a299af3b7a92093 100644
--- a/gso/utils/helpers.py
+++ b/gso/utils/helpers.py
@@ -270,3 +270,24 @@ def validate_interface_name_list(interface_name_list: list, vendor: str) -> list
             )
             raise ValueError(error_msg)
     return interface_name_list
+
+
+def validate_tt_number(tt_number: str) -> str:
+    """Validate a string to match a specific pattern.
+
+    This method checks if the input string starts with 'TT#' and is followed by exactly 16 digits.
+
+    :param str tt_number: The TT number as string to validate
+
+    :return str: The tt number string, if tt number match was successful, otherwise it will throw a ValueError
+    exception.
+    """
+    pattern = r"^TT#\d{16}$"
+    if not bool(re.match(pattern, tt_number)):
+        err_msg = (
+            f"The given TT number: {tt_number} is not valid. "
+            f" A valid TT number starts with 'TT#' followed by 16 digits."
+        )
+        raise ValueError(err_msg)
+
+    return tt_number