diff --git a/core/java/src/net/i2p/util/CommandLine.java b/core/java/src/net/i2p/util/CommandLine.java
index bfd1ca231a246b66a45d66c7f90bc2ef574008e9..176cc802ca8e79aaa225ce70ca27441e75c7af9b 100644
--- a/core/java/src/net/i2p/util/CommandLine.java
+++ b/core/java/src/net/i2p/util/CommandLine.java
@@ -30,6 +30,7 @@ public class CommandLine {
         "net.i2p.data.Base64",
         "net.i2p.data.PrivateKeyFile",
         "net.i2p.util.Addresses",
+        "net.i2p.util.ConvertToHash",
         "net.i2p.util.EepGet",
         "net.i2p.util.EepHead",
         "net.i2p.util.FileUtil",
diff --git a/core/java/src/net/i2p/util/ConvertToHash.java b/core/java/src/net/i2p/util/ConvertToHash.java
index f1d9d9db6f9d758c71799184d10a171117632fdb..3d35a5bc2acafb6e68bc2f943ca5730eb0a537c8 100644
--- a/core/java/src/net/i2p/util/ConvertToHash.java
+++ b/core/java/src/net/i2p/util/ConvertToHash.java
@@ -82,4 +82,18 @@ public class ConvertToHash {
 
         return null;
     }
+
+    /**
+     * @since 0.9.28
+     */
+    public static void main(String args[]) {
+        if (args.length == 0) {
+            System.err.println("Usage: converttohash [hostname|b32|destination]...");
+            return;
+        }
+        for (int i = 0; i < args.length; i++) {
+            Hash h = getHash(args[i]);
+            System.out.println(h != null ? h.toBase64() : "conversion failed");
+        }
+    }
 }