diff --git a/src/utils/parse-traffic.ts b/src/utils/parse-traffic.ts
index 2e7eacfa77371371e6dbb0ad4dc9f13853b19090..6bb1a8c375e7aa49be122e3a1ba11b64309c3438 100644
--- a/src/utils/parse-traffic.ts
+++ b/src/utils/parse-traffic.ts
@@ -2,8 +2,8 @@ const UNITS = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
 
 const parseTraffic = (num: number) => {
   if (num < 1000) return [`${Math.round(num)}`, "B"];
-  const exp = Math.min(Math.floor(Math.log10(num) / 3), UNITS.length - 1);
-  const ret = (num / Math.pow(1000, exp)).toPrecision(3);
+  const exp = Math.min(Math.floor(Math.log2(num) / 10), UNITS.length - 1);
+  const ret = (num / Math.pow(1024, exp)).toPrecision(3);
   const unit = UNITS[exp];
 
   return [ret, unit];