diff --git a/CONTRIBUTING b/CONTRIBUTING
index 201e122..638a646 100644
--- a/CONTRIBUTING
+++ b/CONTRIBUTING
@@ -234,7 +234,7 @@
    indented code, which only proves that the person has no consideration for
    quality and/or has done it in a hurry (probably worse). Please note that most
    bugs were found in low-quality code. Reviewers know this and tend to be much
-   more reluctant to accept poorly formated code because by experience they
+   more reluctant to accept poorly formatted code because by experience they
    won't trust their author's ability to write correct code. It is also worth
    noting that poor quality code is painful to read and may result in nobody
    willing to waste their time even reviewing your work.
@@ -990,7 +990,7 @@
 Among the best ways to quickly lose everyone's respect, there is this small
 selection, which should help you improve the way you work with others, if
 you notice you're already practising some of them:
-  - repeatedly send improperly formated commit messages, with no type or
+  - repeatedly send improperly formatted commit messages, with no type or
     severity, or with no commit message body. These ones require manual
     edition, maintainers will quickly learn to recognize your name.
 
diff --git a/INSTALL b/INSTALL
index 84548df..f65bc51 100644
--- a/INSTALL
+++ b/INSTALL
@@ -130,7 +130,7 @@
 HAProxy in its basic form does not depend on anything beyond a working libc.
 However a number of options are enabled by default, or are highly recommended,
 and these options will typically involve some external components or libraries,
-depending on the targetted platform.
+depending on the targeted platform.
 
 Optional dependencies may be split into several categories :
 
@@ -288,7 +288,7 @@
 
 4.7) Lua
 --------
-Lua is an embedded programming langage supported by HAProxy to provide more
+Lua is an embedded programming language supported by HAProxy to provide more
 advanced scripting capabilities. Only versions 5.3 and above are supported.
 In order to enable Lua support, please specify "USE_LUA=1" on the command line.
 Some systems provide this library under various names to avoid conflicts with
diff --git a/Makefile b/Makefile
index 53d7d4d..6e4f61c 100644
--- a/Makefile
+++ b/Makefile
@@ -41,7 +41,7 @@
 #   USE_LUA              : enable Lua support.
 #   USE_FUTEX            : enable use of futex on kernel 2.6. Automatic.
 #   USE_ACCEPT4          : enable use of accept4() on linux. Automatic.
-#   USE_MY_ACCEPT4       : use own implemention of accept4() if glibc < 2.10.
+#   USE_MY_ACCEPT4       : use own implementation of accept4() if glibc < 2.10.
 #   USE_PRCTL            : enable use of prctl(). Automatic.
 #   USE_ZLIB             : enable zlib library support.
 #   USE_SLZ              : enable slz library instead of zlib (pick at most one).
@@ -139,7 +139,7 @@
 DOCDIR = $(PREFIX)/doc/haproxy
 
 #### TARGET system
-# Use TARGET=<target_name> to optimize for a specifc target OS among the
+# Use TARGET=<target_name> to optimize for a specific target OS among the
 # following list (use the default "generic" if uncertain) :
 #    linux-glibc, linux-glibc-legacy, solaris, freebsd, openbsd, netbsd,
 #    cygwin, haiku, aix51, aix52, osx, generic, custom
@@ -244,7 +244,7 @@
 # It's automatically appended depending on the targets.
 EXTRA =
 
-#### CPU dependant optimizations
+#### CPU dependent optimizations
 # Some CFLAGS are set by default depending on the target CPU. Those flags only
 # feed CPU_CFLAGS, which in turn feed CFLAGS, so it is not mandatory to use
 # them. You should not have to change these options. Better use CPU_CFLAGS or
@@ -256,7 +256,7 @@
 CPU_CFLAGS.ultrasparc = -O6 -mcpu=v9 -mtune=ultrasparc
 CPU_CFLAGS            = $(CPU_CFLAGS.$(CPU))
 
-#### ARCH dependant flags, may be overridden by CPU flags
+#### ARCH dependent flags, may be overridden by CPU flags
 ARCH_FLAGS.32     = -m32
 ARCH_FLAGS.64     = -m64
 ARCH_FLAGS.i386   = -m32 -march=i386
diff --git a/doc/SPOE.txt b/doc/SPOE.txt
index 19f00ad..3661602 100644
--- a/doc/SPOE.txt
+++ b/doc/SPOE.txt
@@ -115,7 +115,7 @@
 scope in the SPOE configuration with the same name. You can have several SPOE
 scope in the same file. In each scope, you must define one and only one
 "spoe-agent" section to configure the SPOA linked to your SPOE and several
-"spoe-message" and "spoe-group" sections to describe, respecively, messages and
+"spoe-message" and "spoe-group" sections to describe, respectively, messages and
 group of messages sent to servers mananged by your SPOA.
 
 A SPOE scope starts with this kind of line :
diff --git a/doc/architecture.txt b/doc/architecture.txt
index 85d5219..8174b5d 100644
--- a/doc/architecture.txt
+++ b/doc/architecture.txt
@@ -257,7 +257,7 @@
  - if a request does not contain a cookie, it will be forwarded to a valid
    server
  - in return, if a JESSIONID cookie is seen, the server name will be prefixed
-   into it, followed by a delimitor ('~')
+   into it, followed by a delimiter ('~')
  - when the client comes again with the cookie "JSESSIONID=A~xxx", LB1 will
    know that it must be forwarded to server A. The server name will then be
    extracted from cookie before it is sent to the server.
@@ -1265,7 +1265,7 @@
 ===================
 
 Sometimes it may reveal useful to access servers from a pool of IP addresses
-instead of only one or two. Some equipments (NAT firewalls, load-balancers)
+instead of only one or two. Some equipment (NAT firewalls, load-balancers)
 are sensible to source address, and often need many sources to distribute the
 load evenly amongst their internal hash buckets.
 
diff --git a/doc/coding-style.txt b/doc/coding-style.txt
index 9f1bd79..24550f1 100644
--- a/doc/coding-style.txt
+++ b/doc/coding-style.txt
@@ -111,7 +111,7 @@
   | [-Tabs-][-Tabs-]ctx->del = len;
   | [-Tabs-]}
 
-It is worth noting that some editors tend to confuse indentations and aligment.
+It is worth noting that some editors tend to confuse indentations and alignment.
 Emacs is notoriously known for this brokenness, and is responsible for almost
 all of the alignment mess. The reason is that Emacs only counts spaces, tries
 to fill as many as possible with tabs and completes with spaces. Once you know
@@ -1218,7 +1218,7 @@
 
 Right use of comments :
 
-  | /* This function returns the positoin of the highest bit set in the lowest
+  | /* This function returns the position of the highest bit set in the lowest
   |  * byte of <x>, between 0 and 7. It only works if <x> is non-null. It uses
   |  * a 32-bit value as a lookup table to return one of 4 values for the
   |  * highest 16 possible 4-bit values.
diff --git a/doc/management.txt b/doc/management.txt
index 2ba460d..922c133 100644
--- a/doc/management.txt
+++ b/doc/management.txt
@@ -1507,7 +1507,7 @@
   level "admin".
 
 disable dynamic-cookie backend <backend>
-  Disable the generation of dynamic cookies fot the backend <backend>
+  Disable the generation of dynamic cookies for the backend <backend>
 
 disable frontend <frontend>
   Mark the frontend as temporarily stopped. This corresponds to the mode which
diff --git a/doc/regression-testing.txt b/doc/regression-testing.txt
index 320c51c..1b6c21d 100644
--- a/doc/regression-testing.txt
+++ b/doc/regression-testing.txt
@@ -131,7 +131,7 @@
     #   BUG/MINOR: spoe: Initialize variables used during conf parsing before any check
 
     #   Some initializations must be done at the beginning of parse_spoe_flt to avoid
-    #   segmentaion fault when first errors are caught, when the "filter spoe" line is
+    #   segmentation fault when first errors are caught, when the "filter spoe" line is
     #   parsed.
 
     haproxy h1 -conf-BAD {} {
