diff --git a/examples/complete/README.md b/examples/complete/README.md
index 5f7e4f4ba9d0d93085d15c9019a9d695b169446e..4c4a9ea989160126421f560b42d6ea45a8d86f74 100644
--- a/examples/complete/README.md
+++ b/examples/complete/README.md
@@ -1,7 +1,7 @@
 # A complete device dashboard
 
 This example is a demonstration of how Mongoose Library could be integrated
-into an embedded device and provide a complete device dashbord with the
+into an embedded device and provide a complete device dashboard with the
 following features:
 
 - Multiple logins with different permissions (admin and user)
@@ -14,7 +14,7 @@ following features:
 - Live video stream
 
 
-In essense, this example is a combination of several other examples
+In essence, this example is a combination of several other examples
 pulled together (multiple-logins, dashboard, live-log, video-stream).
 
 # Screenshots
diff --git a/examples/http-restful-server/main.c b/examples/http-restful-server/main.c
index 48e17dfda93180ec14ccec0c99cd3c5acee1dd95..1a51a10720bbf433a0668d05633e4b881a844998 100644
--- a/examples/http-restful-server/main.c
+++ b/examples/http-restful-server/main.c
@@ -25,7 +25,7 @@ static void fn(struct mg_connection *c, int ev, void *ev_data, void *fn_data) {
     struct mg_tls_opts opts = {
         //.ca = "ca.pem",         // Uncomment to enable two-way SSL
         .cert = "server.pem",     // Certificate PEM file
-        .certkey = "server.pem",  // This pem conains both cert and key
+        .certkey = "server.pem",  // This pem contains both cert and key
     };
     mg_tls_init(c, &opts);
   } else if (ev == MG_EV_HTTP_MSG) {
diff --git a/mongoose.c b/mongoose.c
index eba80780120dfed55b262f8288558dbdc942e206..74a2540887940e7d4ad39ce7b4feb845dd37444f 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -1468,7 +1468,7 @@ static int uri_to_path(struct mg_connection *c, struct mg_http_message *hm,
   } else if (!(fs->stat(root_dir, NULL, NULL) & MG_FS_DIR)) {
     mg_http_reply(c, 400, "", "Invalid web root [%s]\n", root_dir);
   } else {
-    // NOTE(lsm): Xilinx snprintf does not 0-terminate the detination for
+    // NOTE(lsm): Xilinx snprintf does not 0-terminate the destination for
     // the %.*s specifier, if the length is zero. Make sure hm->uri.len > 0
     size_t n1 = strlen(root_dir), n2;
     // Temporarily append URI to the root_dir: that is the unresolved path
diff --git a/src/http.c b/src/http.c
index b755818027351f963aaad0f94f83f28534a414ed..3d89c66564b49934a2b01d977cfe146927b9a429 100644
--- a/src/http.c
+++ b/src/http.c
@@ -697,7 +697,7 @@ static int uri_to_path(struct mg_connection *c, struct mg_http_message *hm,
   } else if (!(fs->stat(root_dir, NULL, NULL) & MG_FS_DIR)) {
     mg_http_reply(c, 400, "", "Invalid web root [%s]\n", root_dir);
   } else {
-    // NOTE(lsm): Xilinx snprintf does not 0-terminate the detination for
+    // NOTE(lsm): Xilinx snprintf does not 0-terminate the destination for
     // the %.*s specifier, if the length is zero. Make sure hm->uri.len > 0
     size_t n1 = strlen(root_dir), n2;
     // Temporarily append URI to the root_dir: that is the unresolved path