diff --git a/README.md b/README.md
index 826492c..9ad2697 100644
--- a/README.md
+++ b/README.md
@@ -63,6 +63,9 @@
 2. An array consists of single or multiple gpio configs associated with the
    specific button interface.
 
+A gpio can be mapped using the "pin" or "num" keyword. The "pin" key uses
+alphanumerical references while the "num" key supports the integer pin number.
+
 ## example gpio def Json config
 
 ```json
diff --git a/src/main.cpp b/src/main.cpp
index cf38e1f..914d331 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -103,7 +103,16 @@
             for (const auto& config : groupGpio)
             {
                 GpioInfo gpioCfg;
-                gpioCfg.number = getGpioNum(config["pin"]);
+                if (gpioConfig.contains("pin"))
+                {
+                    // When "pin" key is used, parse as alphanumeric
+                    gpioCfg.number = getGpioNum(gpioConfig.at("pin"));
+                }
+                else
+                {
+                    // Without "pin", "num" is assumed and parsed as an integer
+                    gpioCfg.number = gpioConfig.at("num").get<uint32_t>();
+                }
                 gpioCfg.direction = config["direction"];
                 gpioCfg.name = config["name"];
                 gpioCfg.polarity = (config["polarity"] == "active_high")
@@ -115,7 +124,16 @@
         else
         {
             GpioInfo gpioCfg;
-            gpioCfg.number = getGpioNum(gpioConfig["pin"]);
+            if (gpioConfig.contains("pin"))
+            {
+                // When "pin" key is used, parse as alphanumeric
+                gpioCfg.number = getGpioNum(gpioConfig.at("pin"));
+            }
+            else
+            {
+                // Without "pin", "num" is assumed and parsed as an integer
+                gpioCfg.number = gpioConfig.at("num").get<uint32_t>();
+            }
             gpioCfg.direction = gpioConfig["direction"];
             buttonCfg.gpios.push_back(gpioCfg);
         }
