diff --git a/application/source/dom/dimension.mjs b/application/source/dom/dimension.mjs
index d145a44bd422ae30762aab041183e4775db6ed4e..e8fdb5e5ea158dc700cb6d22d939a1afa96c6303 100644
--- a/application/source/dom/dimension.mjs
+++ b/application/source/dom/dimension.mjs
@@ -70,11 +70,19 @@ function getDeviceDPI() {
  * @copyright schukai GmbH
  * @throws {Error} Unsupported unit
  * @memberOf Monster.DOM
+ * @throws {Error} Invalid value format
  */
 
 function convertToPixels(value, parentElement = document.documentElement, fontSizeElement = document.documentElement) {
     const regex = /^([\d.]+)(.*)$/;
-    const [, num, unit] = value.match(regex);
+    const matchResult = value.match(regex);
+
+    if (!matchResult) {
+        throw new Error(`Invalid value format: ${value}`);
+    }
+
+    const [, num, unit] = matchResult;
+    
     const number = parseFloat(num);
     const dpi = getDeviceDPI();
 
diff --git a/development/test/cases/dom/dimension.mjs b/development/test/cases/dom/dimension.mjs
index 02241332b71bf6d70bdd4762c10542344a9b6617..6cf31dd23f74787c74e066390be27907b1845383 100644
--- a/development/test/cases/dom/dimension.mjs
+++ b/development/test/cases/dom/dimension.mjs
@@ -61,6 +61,16 @@ describe('dimension', () => {
             expect(result).to.equal(100);
         });
 
+        it("should throw an error when the input value has an invalid format", () => {
+            const invalidValue = "invalid_value";
+
+            const errorFn = () => {
+                convertToPixels(invalidValue);
+            };
+
+            expect(errorFn).to.throw(Error, `Invalid value format: ${invalidValue}`);
+        });        
+
         it('should correctly convert em values', () => {
             const testElement = document.createElement('div');
             testElement.style.fontSize = '16px';