diff --git a/bookwyrm/outgoing.py b/bookwyrm/outgoing.py
index b438f5d1..bc170748 100644
--- a/bookwyrm/outgoing.py
+++ b/bookwyrm/outgoing.py
@@ -296,7 +296,8 @@ def find_mentions(content):
def format_links(content):
''' detect and format links '''
return re.sub(
- r'([^(href=")]|^)(https?:\/\/(%s([\w\.\-_\/])*))' % regex.domain,
+ r'([^(href=")]|^)(https?:\/\/(%s([\w\.\-_\/+&\?=:;,])*))' % \
+ regex.domain,
r'\g<1>\g<3>',
content)
diff --git a/bookwyrm/tests/test_outgoing.py b/bookwyrm/tests/test_outgoing.py
index 498b43d9..ba0d7d7d 100644
--- a/bookwyrm/tests/test_outgoing.py
+++ b/bookwyrm/tests/test_outgoing.py
@@ -503,3 +503,9 @@ class Outgoing(TestCase):
'' \
'archive.org/details/dli.granth.72113/page/n25/mode/2up' \
% url)
+ url = 'https://openlibrary.org/search' \
+ '?q=arkady+strugatsky&mode=everything'
+ self.assertEqual(
+ outgoing.format_links(url),
+ 'openlibrary.org/search' \
+ '?q=arkady+strugatsky&mode=everything' % url)