diff --git a/src/qml/main.qml b/src/qml/main.qml
index d22c84e222b13f41d4a7218284ebbc42c1dd6b73..1bdc2761ed8f71fd8ef86560a74b8d9a73d2094c 100644
--- a/src/qml/main.qml
+++ b/src/qml/main.qml
@@ -136,4 +136,46 @@ Window {
             errorDialog.open();
         }
     }
+
+    function convertByteToHumanReadable(bytes) {
+        bytes = parseFloat(bytes);
+        var kb = 1024;
+        var mb = 1024 * kb;
+        var gb = 1024 * mb;
+        var tb = 1024 * gb;
+        var pb = 1024 * tb;
+        var eb = 1024 * pb;
+        var zb = 1024 * eb;
+        var yb = 1024 * zb;
+
+        var text = '';
+        if (bytes < kb) {
+            text = bytes.toFixed(0) + ' B';
+        }
+        else if (bytes < mb) {
+            text = (bytes / kb).toFixed(2) + ' KB';
+        }
+        else if (bytes < gb) {
+            text = (bytes / mb).toFixed(2) + ' MB';
+        }
+        else if (bytes < tb) {
+            text = (bytes / gb).toFixed(2) + ' GB';
+        }
+        else if (bytes < pb) {
+            text = (bytes / tb).toFixed(2) + ' TB';
+        }
+        else if (bytes < eb) {
+            text = (bytes / pb).toFixed(2) + ' PB';
+        }
+        else if (bytes < zb) {
+            text = (bytes / eb).toFixed(2) + ' EB';
+        }
+        else if (bytes < yb) {
+            text = (bytes / zb).toFixed(2) + ' ZB';
+        }
+        else if (bytes >= yb) {
+            text = (bytes / yb).toFixed(2) + ' YB';
+        }
+        return text;
+    }
 }