diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex
index b30e04e3d..515909af1 100644
--- a/lib/pleroma/formatter.ex
+++ b/lib/pleroma/formatter.ex
@@ -144,7 +144,7 @@ defmodule Pleroma.Formatter do
     @emoji
   end
 
-  @link_regex ~r/https?:\/\/[\w\.\/?=\-#\+%&@~\(\)]+[\w\/]/u
+  @link_regex ~r/https?:\/\/[\w\.\/?=\-#\+%&@~\(\):]+[\w\/]/u
 
   def html_escape(text) do
     Regex.split(@link_regex, text, include_captures: true)
diff --git a/test/formatter_test.exs b/test/formatter_test.exs
index ff882f8f1..4c65b26f2 100644
--- a/test/formatter_test.exs
+++ b/test/formatter_test.exs
@@ -34,6 +34,13 @@ defmodule Pleroma.FormatterTest do
 
       assert Formatter.add_links({[], text}) |> Formatter.finalize() == expected
 
+      text = "https://mastodon.social:4000/@lambadalambda"
+
+      expected =
+        "<a href='https://mastodon.social:4000/@lambadalambda'>https://mastodon.social:4000/@lambadalambda</a>"
+
+      assert Formatter.add_links({[], text}) |> Formatter.finalize() == expected
+
       text = "@lambadalambda"
       expected = "@lambadalambda"