diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp
index a99644f11..e5a9ba322 100644
--- a/src/common/string_util.cpp
+++ b/src/common/string_util.cpp
@@ -17,6 +17,22 @@
     #include <errno.h>
 #endif
 
+/// Make a string lowercase
+void LowerStr(char* str) {
+    for (int i = 0; str[i]; i++) {
+        str[i] = tolower(str[ i ]);
+    }
+}
+
+/// Make a string uppercase
+void UpperStr(char* str) {
+    for (int i=0; i < strlen(str); i++) {
+        if(str[i] >= 'a' && str[i] <= 'z') {
+            str[i] &= 0xDF;
+        }
+    }
+}
+
 // faster than sscanf
 bool AsciiToHex(const char* _szValue, u32& result)
 {
diff --git a/src/common/string_util.h b/src/common/string_util.h
index 6b7e84797..b3c99a807 100644
--- a/src/common/string_util.h
+++ b/src/common/string_util.h
@@ -14,6 +14,12 @@
 
 #include "common/common.h"
 
+/// Make a string lowercase
+void LowerStr(char* str);
+
+/// Make a string uppercase
+void UpperStr(char* str);
+
 std::string StringFromFormat(const char* format, ...);
 // Cheap!
 bool CharArrayFromFormatV(char* out, int outsize, const char* format, va_list args);