diff --git a/docs/overview/changelog.md b/docs/overview/changelog.md
index d8370052c4..ef7281ec46 100644
--- a/docs/overview/changelog.md
+++ b/docs/overview/changelog.md
@@ -98,7 +98,7 @@ _Released 2023-08-25_
_Released 2023-07-05_
- Started logging a more accurate, detailed, and actionable error messages when
- [common reverse proxy mis-configurations][proxies] are detected.
+ [common reverse proxy misconfigurations][proxies] are detected.
- Improved [reverse proxy documentation][proxies] to clarify that trust of
`X-Fowarded-Proto` is also necessary.
diff --git a/docs/production/authentication-methods.md b/docs/production/authentication-methods.md
index 55a34e60c9..0aa8c61ee5 100644
--- a/docs/production/authentication-methods.md
+++ b/docs/production/authentication-methods.md
@@ -686,7 +686,7 @@ these instructions are for that provider; please [contact
us](https://zulip.com/help/contact-support) if you need help using
this with another IdP.
-#### IdP-initated Single Logout
+#### IdP-initiated Single Logout
1. In the KeyCloak configuration for Zulip, enable `Force Name ID Format`
and set `Name ID Format` to `email`. Zulip needs to receive
diff --git a/puppet/zulip/templates/nginx/trusted-proto.template.erb b/puppet/zulip/templates/nginx/trusted-proto.template.erb
index 4fbc122483..d26efe748c 100644
--- a/puppet/zulip/templates/nginx/trusted-proto.template.erb
+++ b/puppet/zulip/templates/nginx/trusted-proto.template.erb
@@ -19,7 +19,7 @@ geo $realip_remote_addr $is_x_forwarded_proto_trusted {
}
# Check if the IP address that we resolved the request as coming
-# (after looking at X-Fowarded-For, if any) from is actually the proxy
+# (after looking at X-Forwarded-For, if any) from is actually the proxy
# itself.
geo $remote_addr $is_from_proxy {
default 0;
diff --git a/web/images/app-screenshots/android.svg b/web/images/app-screenshots/android.svg
index 2c57411eab..68a86556a2 100644
--- a/web/images/app-screenshots/android.svg
+++ b/web/images/app-screenshots/android.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/web/images/app-screenshots/iphoneX.svg b/web/images/app-screenshots/iphoneX.svg
index 16a223c7b6..dd9aaf74bf 100644
--- a/web/images/app-screenshots/iphoneX.svg
+++ b/web/images/app-screenshots/iphoneX.svg
@@ -960,7 +960,7 @@ ZQSb5xTPAAAAAElFTkSuQmCC" transform="matrix(9.145077e-02 0 0 9.145077e-02 18.623
Bel Fisher
- good question. The first one on my list is full-service; the rest only do delvery. I can look for a few more full-service caterers if we go that route.
+ good question. The first one on my list is full-service; the rest only do delivery. I can look for a few more full-service caterers if we go that route.
diff --git a/web/src/markdown.js b/web/src/markdown.js
index a9148c23d3..9853f7d858 100644
--- a/web/src/markdown.js
+++ b/web/src/markdown.js
@@ -543,7 +543,7 @@ export function parse({raw_content, helper_config}) {
// Disable _emphasis_ (keeping *emphasis*)
// Text inside ** must start and end with a word character
- // to prevent mis-parsing things like "char **x = (char **)y"
+ // to prevent misparsing things like "char **x = (char **)y"
marked.InlineLexer.rules.zulip.em = /^\*(?!\s+)((?:\*\*|[\S\s])+?)(\S)\*(?!\*)/;
// Disable autolink as (a) it is not used in our backend and (b) it interferes with @mentions
diff --git a/zerver/data_import/slack.py b/zerver/data_import/slack.py
index 9722bb2782..450ab1b462 100644
--- a/zerver/data_import/slack.py
+++ b/zerver/data_import/slack.py
@@ -1362,7 +1362,7 @@ def do_convert_data(
# Slack's export doesn't set the UTF-8 flag on each
# filename entry, despite encoding them as such, so
# zipfile mojibake's the output. Explicitly re-interpret
- # it as UTF-8 mis-decoded as cp437, the default.
+ # it as UTF-8 misdecoded as cp437, the default.
for fileinfo in zipObj.infolist():
fileinfo.flag_bits |= 0x800
fileinfo.filename = fileinfo.filename.encode("cp437").decode("utf-8")
diff --git a/zerver/lib/import_realm.py b/zerver/lib/import_realm.py
index c642544395..85f11f4bb2 100644
--- a/zerver/lib/import_realm.py
+++ b/zerver/lib/import_realm.py
@@ -1464,7 +1464,7 @@ def get_incoming_message_ids(import_dir: Path, sort_by_date: bool) -> List[int]:
# save memory and speed up the sort. For
# Zulip-to-Zulip imports, the
# message_id will generally be a good tiebreaker.
- # If we occasionally mis-order the ids for two
+ # If we occasionally misorder the ids for two
# messages from the same second, it's not the
# end of the world, as it's likely those messages
# arrived to the original server in somewhat
diff --git a/zerver/tests/test_home.py b/zerver/tests/test_home.py
index b005f48402..9c2950cf20 100644
--- a/zerver/tests/test_home.py
+++ b/zerver/tests/test_home.py
@@ -737,7 +737,7 @@ class HomeTest(ZulipTestCase):
self.assertIn(bots[2].id, bot_ids)
self.assertIn(bots[2].id, active_ids)
- # Make sure nobody got mis-bucketed.
+ # Make sure nobody got misbucketed.
self.assertNotIn(hamlet.id, non_active_ids)
self.assertNotIn(defunct_user.id, active_ids)
diff --git a/zerver/views/sentry.py b/zerver/views/sentry.py
index bcafa216f4..c303bcf678 100644
--- a/zerver/views/sentry.py
+++ b/zerver/views/sentry.py
@@ -41,7 +41,7 @@ def sentry_tunnel(
# debugging more complicated.
updated_body = request.body
# If we fail to update the body for any reason, leave it as-is; it
- # is better to mis-report the IP than to drop the report entirely.
+ # is better to misreport the IP than to drop the report entirely.
with suppress(Exception):
# This parses the Sentry ingestion format, known as an
# Envelope. See https://develop.sentry.dev/sdk/envelopes/ for