diff --git a/contrib/opentracing/README-pool b/contrib/opentracing/README-pool
index 09a6c15..8164b04 100644
--- a/contrib/opentracing/README-pool
+++ b/contrib/opentracing/README-pool
@@ -16,7 +16,7 @@
 switch individual pools on / off.  If a particular pool is not used, memory is
 used in a 'normal' way instead, using malloc()/free() functions.
 
-This is made only from the aspect of debuging the program, i.e. comparing the
+This is made only from the aspect of debugging the program, i.e. comparing the
 speed of operation using different methods of working with memory.
 
 In general, it would be better to use memory pools, due to less fragmentation
diff --git a/include/haproxy/fix.h b/include/haproxy/fix.h
index 1d242e7..4b59282 100644
--- a/include/haproxy/fix.h
+++ b/include/haproxy/fix.h
@@ -32,7 +32,7 @@
 struct ist fix_tag_value(const struct ist msg, unsigned int tagid);
 
 /*
- * Return the FIX version string (one of FIX_X_Y macros) correspoding to
+ * Return the FIX version string (one of FIX_X_Y macros) corresponding to
  * <str> or IST_NULL if not found.
  */
 static inline struct ist fix_version(const struct ist str)
diff --git a/include/haproxy/http_ana-t.h b/include/haproxy/http_ana-t.h
index 4dce43d..f41a593 100644
--- a/include/haproxy/http_ana-t.h
+++ b/include/haproxy/http_ana-t.h
@@ -64,7 +64,7 @@
 
 #define TX_CON_WANT_TUN 0x00008000	/* Will be a tunnel (CONNECT or 101-Switching-Protocol) */
 
-/* unsued 0x00010000 */
+/* unused 0x00010000 */
 
 #define TX_USE_PX_CONN	0x00020000	/* Use "Proxy-Connection" instead of "Connection" */
 
diff --git a/include/haproxy/htx-t.h b/include/haproxy/htx-t.h
index 1b99026..fb01575 100644
--- a/include/haproxy/htx-t.h
+++ b/include/haproxy/htx-t.h
@@ -143,7 +143,7 @@
 #define HTX_FL_NONE              0x00000000
 #define HTX_FL_PARSING_ERROR     0x00000001 /* Set when a parsing error occurred */
 #define HTX_FL_PROCESSING_ERROR  0x00000002 /* Set when a processing error occurred */
-/* 0x00000004 unsused */
+/* 0x00000004 unused */
 #define HTX_FL_PROXY_RESP        0x00000008 /* Set when the response was generated by HAProxy */
 #define HTX_FL_EOI               0x00000010 /* Set when end-of-input is reached from the HTX point of view
 					     * (at worst, on the EOM block is missing)
diff --git a/include/haproxy/pattern.h b/include/haproxy/pattern.h
index 726dac8..cfaadca 100644
--- a/include/haproxy/pattern.h
+++ b/include/haproxy/pattern.h
@@ -78,7 +78,7 @@
 /*
  *
  * The following function deletes all patterns related to reference pattern
- * element <elt> in pattern refernce <ref>.
+ * element <elt> in pattern reference <ref>.
  *
  */
 void pat_delete_gen(struct pat_ref *ref, struct pat_ref_elt *elt);
diff --git a/reg-tests/log/log_uri.vtc b/reg-tests/log/log_uri.vtc
index 934a3ef..00f0553 100644
--- a/reg-tests/log/log_uri.vtc
+++ b/reg-tests/log/log_uri.vtc
@@ -1,4 +1,4 @@
-varnishtest "Verify logging of relative/aboslute URI path"
+varnishtest "Verify logging of relative/absolute URI path"
 feature ignore_unknown_macro
 
 server s1 {
diff --git a/reg-tests/ssl/ssl_simple_crt-list.vtc b/reg-tests/ssl/ssl_simple_crt-list.vtc
index 76605e3..d3353a1 100644
--- a/reg-tests/ssl/ssl_simple_crt-list.vtc
+++ b/reg-tests/ssl/ssl_simple_crt-list.vtc
@@ -1,6 +1,6 @@
 #REGTEST_TYPE=bug
 varnishtest "Test for the bug #940"
-# Test that the SNI are correcly inserted with the same file multiple times.
+# Test that the SNI are correctly inserted with the same file multiple times.
 
 #REQUIRE_VERSION=2.2
 #REQUIRE_OPTIONS=OPENSSL
diff --git a/src/cache.c b/src/cache.c
index a833c04..705ed44 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -77,7 +77,7 @@
 
 struct vary_hashing_information {
 	struct ist hdr_name;                 /* Header name */
-	enum vary_header_bit value;          /* Bit repesenting the header in a vary signature */
+	enum vary_header_bit value;          /* Bit representing the header in a vary signature */
 	unsigned int hash_length;            /* Size of the sub hash for this header's value */
 	http_header_normalizer norm_fn;      /* Normalization function */
 };
@@ -839,7 +839,7 @@
 
 /*
  * Checks the vary header's value. The headers on which vary should be applied
- * must be explicitely supported in the vary_information array (see cache.c). If
+ * must be explicitly supported in the vary_information array (see cache.c). If
  * any other header is mentioned, we won't store the response.
  * Returns 1 if Vary-based storage can work, 0 otherwise.
  */
@@ -923,7 +923,7 @@
 				break;
 
 			default: /* Any unsafe method */
-				/* Discard any corresponding entry in case of sucessful
+				/* Discard any corresponding entry in case of successful
 				 * unsafe request (such as PUT, POST or DELETE). */
 				shctx_lock(shctx);
 
@@ -1650,7 +1650,7 @@
 	http_check_request_for_cacheability(s, &s->req);
 
 	/* The request's hash has to be calculated for all requests, even POSTs
-	 * or PUTs for instance because RFC7234 specifies that a sucessful
+	 * or PUTs for instance because RFC7234 specifies that a successful
 	 * "unsafe" method on a stored resource must invalidate it
 	 * (see RFC7234#4.4). */
 	if (!sha1_hosturi(s))
diff --git a/src/fix.c b/src/fix.c
index 82af1c0..3ad3f2e 100644
--- a/src/fix.c
+++ b/src/fix.c
@@ -124,7 +124,7 @@
 			ret = FIX_NEED_MORE_DATA;
 			goto end;
 		}
-		/* empty tag or empty value are forbbiden */
+		/* empty tag or empty value are forbidden */
 		if (istptr(parser) == istptr(value) ||!istlen(value))
 			goto end;
 
diff --git a/src/log.c b/src/log.c
index 59d68a9..632e8bd 100644
--- a/src/log.c
+++ b/src/log.c
@@ -1483,7 +1483,7 @@
 			}
 			else if (metadata[LOG_META_TAG].len) {
 				/* Tag is present but no hostname, we should
-				 * consider we try to emmit a local log
+				 * consider we try to emit a local log
 				 * in legacy format (analog to RFC3164 but
 				 * with stripped hostname).
 				 */
diff --git a/src/mqtt.c b/src/mqtt.c
index c906fd4..7679cba 100644
--- a/src/mqtt.c
+++ b/src/mqtt.c
@@ -326,7 +326,7 @@
 }
 
 /* Extracts the value of a <fieldname_id> of type <type> from a given MQTT
- * message <msg>.  IST_NULL is returned if an error occured while parsing or if
+ * message <msg>.  IST_NULL is returned if an error occurred while parsing or if
  * the field could not be found. If more data are required, the message with a
  * length set to 0 is returned. If the field is found, the response is returned
  * as a struct ist.
@@ -858,7 +858,7 @@
 
 	/* parsing payload
 	 *
-	 * Content of payload is realted to flags parsed above and the field order is pre-defined:
+	 * Content of payload is related to flags parsed above and the field order is pre-defined:
 	 *   Client Identifier, Will Topic, Will Message, User Name, Password
 	 */
 	/* read client identifier */
diff --git a/src/mux_fcgi.c b/src/mux_fcgi.c
index 2c2611b..9998710 100644
--- a/src/mux_fcgi.c
+++ b/src/mux_fcgi.c
@@ -1147,7 +1147,7 @@
 	if (fcgi_conn_read0_pending(fconn)) {
 		if (fstrm->state == FCGI_SS_OPEN) {
 			fstrm->state = FCGI_SS_HREM;
-			TRACE_STATE("swtiching to HREM", FCGI_EV_STRM_WAKE|FCGI_EV_FSTRM_END, fconn->conn, fstrm);
+			TRACE_STATE("switching to HREM", FCGI_EV_STRM_WAKE|FCGI_EV_FSTRM_END, fconn->conn, fstrm);
 		}
 		else if (fstrm->state == FCGI_SS_HLOC)
 			fcgi_strm_close(fstrm);
diff --git a/src/mux_h1.c b/src/mux_h1.c
index 6558158..81b0e0e 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -55,13 +55,13 @@
 /* 0x00002000 - 0x00008000 unused */
 
 #define H1C_F_WAIT_OPPOSITE  0x00010000 /* Don't read more data for now, waiting sync with opposite side */
-#define H1C_F_WANT_SPLICE    0x00020000 /* Don't read into a bufffer because we want to use or we are using splicing */
+#define H1C_F_WANT_SPLICE    0x00020000 /* Don't read into a buffer because we want to use or we are using splicing */
 #define H1C_F_ERR_PENDING    0x00040000 /* Send an error and close the connection ASAP (implies H1C_F_ST_ERROR) */
 #define H1C_F_WAIT_NEXT_REQ  0x00080000 /*  waiting for the next request to start, use keep-alive timeout */
 #define H1C_F_UPG_H2C        0x00100000 /* set if an upgrade to h2 should be done */
 #define H1C_F_CO_MSG_MORE    0x00200000 /* set if CO_SFL_MSG_MORE must be set when calling xprt->snd_buf() */
 #define H1C_F_CO_STREAMER    0x00400000 /* set if CO_SFL_STREAMER must be set when calling xprt->snd_buf() */
-/* 0x00800000 - 0x40000000 unsued*/
+/* 0x00800000 - 0x40000000 unused */
 
 #define H1C_F_IS_BACK        0x80000000 /* Set on outgoing connection */
 
@@ -69,7 +69,7 @@
  * H1 Stream flags (32 bits)
  */
 #define H1S_F_NONE           0x00000000
-/* 0x00000001..0x00000004 unsued */
+/* 0x00000001..0x00000004 unused */
 #define H1S_F_REOS           0x00000008 /* End of input stream seen even if not delivered yet */
 #define H1S_F_WANT_KAL       0x00000010
 #define H1S_F_WANT_TUN       0x00000020
diff --git a/src/sample.c b/src/sample.c
index abf820b..d1941ce 100644
--- a/src/sample.c
+++ b/src/sample.c
@@ -3273,7 +3273,7 @@
  * Checks that a buffer contains a valid FIX message
  *
  * Return 1 if the check could be run, 0 if not.
- * The result of the analyse itsef is stored in <smp> as a boolean
+ * The result of the analyse itself is stored in <smp> as a boolean
  */
 static int sample_conv_fix_is_valid(const struct arg *arg_p, struct sample *smp, void *private)
 {
@@ -3334,7 +3334,7 @@
  * this function checks the "mqtt_field_value" converter configuration.
  * It expects a known packet type name or ID and a field name, in this order
  *
- * Args[0] will be turned into a MQTT_CPT_* value for direct maching when parsing
+ * Args[0] will be turned into a MQTT_CPT_* value for direct matching when parsing
  * a packet.
  */
 static int sample_conv_mqtt_field_value_check(struct arg *args, struct sample_conv *conv,
diff --git a/src/server.c b/src/server.c
index 3a3ccc6..15d88de 100644
--- a/src/server.c
+++ b/src/server.c
@@ -2952,7 +2952,7 @@
 				srv->svc_port = port;
 
 #ifdef USE_OPENSSL
-			/* configure ssl if connection has been initated at startup */
+			/* configure ssl if connection has been initiated at startup */
 			if (srv->ssl_ctx.ctx != NULL)
 				ssl_sock_set_srv(srv, use_ssl);
 #endif
diff --git a/src/stats.c b/src/stats.c
index 3f31444..f597c10 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -3947,7 +3947,7 @@
  * It returns 0 as long as it does not complete, non-zero upon completion.
  * No state is used.
  *
- * Integer values bouned to the range [-(2**53)+1, (2**53)-1] as
+ * Integer values bounded to the range [-(2**53)+1, (2**53)-1] as
  * per the recommendation for interoperable integers in section 6 of RFC 7159.
  */
 static void stats_dump_json_schema(struct buffer *out)
