diff --git a/example/cbor-to-json/cbor-to-json.cc b/example/cbor-to-json/cbor-to-json.cc
index f29444b..7baa177 100644
--- a/example/cbor-to-json/cbor-to-json.cc
+++ b/example/cbor-to-json/cbor-to-json.cc
@@ -767,7 +767,7 @@
   }
   fputs(status_msg.c_str(), stderr);
   fputc('\n', stderr);
-  // Return an exit code of 1 for regular (forseen) errors, e.g. badly
+  // Return an exit code of 1 for regular (foreseen) errors, e.g. badly
   // formatted or unsupported input.
   //
   // Return an exit code of 2 for internal (exceptional) errors, e.g. defensive
diff --git a/example/convert-to-nia/convert-to-nia.c b/example/convert-to-nia/convert-to-nia.c
index aa1342d..fe349af 100644
--- a/example/convert-to-nia/convert-to-nia.c
+++ b/example/convert-to-nia/convert-to-nia.c
@@ -605,7 +605,7 @@
   }
   ignore_return_value(write(STDERR_FD, status_msg, n));
   ignore_return_value(write(STDERR_FD, "\n", 1));
-  // Return an exit code of 1 for regular (forseen) errors, e.g. badly
+  // Return an exit code of 1 for regular (foreseen) errors, e.g. badly
   // formatted or unsupported input.
   //
   // Return an exit code of 2 for internal (exceptional) errors, e.g. defensive
diff --git a/example/json-to-cbor/json-to-cbor.cc b/example/json-to-cbor/json-to-cbor.cc
index 391190a..03cd11b 100644
--- a/example/json-to-cbor/json-to-cbor.cc
+++ b/example/json-to-cbor/json-to-cbor.cc
@@ -362,7 +362,7 @@
   }
   fputs(status_msg.c_str(), stderr);
   fputc('\n', stderr);
-  // Return an exit code of 1 for regular (forseen) errors, e.g. badly
+  // Return an exit code of 1 for regular (foreseen) errors, e.g. badly
   // formatted or unsupported input.
   //
   // Return an exit code of 2 for internal (exceptional) errors, e.g. defensive
diff --git a/example/jsonfindptrs/jsonfindptrs.cc b/example/jsonfindptrs/jsonfindptrs.cc
index 28edc23..a7bd75e 100644
--- a/example/jsonfindptrs/jsonfindptrs.cc
+++ b/example/jsonfindptrs/jsonfindptrs.cc
@@ -571,7 +571,7 @@
     return 0;
   }
   std::cerr << status_msg << '\n';
-  // Return an exit code of 1 for regular (forseen) errors, e.g. badly
+  // Return an exit code of 1 for regular (foreseen) errors, e.g. badly
   // formatted or unsupported input.
   //
   // Return an exit code of 2 for internal (exceptional) errors, e.g. defensive
diff --git a/example/jsonptr/jsonptr.cc b/example/jsonptr/jsonptr.cc
index 6e3251f..64e55ba 100644
--- a/example/jsonptr/jsonptr.cc
+++ b/example/jsonptr/jsonptr.cc
@@ -1446,7 +1446,7 @@
   const int stderr_fd = 2;
   ignore_return_value(write(stderr_fd, status_msg, n));
   ignore_return_value(write(stderr_fd, "\n", 1));
-  // Return an exit code of 1 for regular (forseen) errors, e.g. badly
+  // Return an exit code of 1 for regular (foreseen) errors, e.g. badly
   // formatted or unsupported input.
   //
   // Return an exit code of 2 for internal (exceptional) errors, e.g. defensive
diff --git a/example/zcat/zcat.c b/example/zcat/zcat.c
index 7ff327d..746b08f 100644
--- a/example/zcat/zcat.c
+++ b/example/zcat/zcat.c
@@ -224,7 +224,7 @@
   const int stderr_fd = 2;
   ignore_return_value(write(stderr_fd, status_msg, n));
   ignore_return_value(write(stderr_fd, "\n", 1));
-  // Return an exit code of 1 for regular (forseen) errors, e.g. badly
+  // Return an exit code of 1 for regular (foreseen) errors, e.g. badly
   // formatted or unsupported input.
   //
   // Return an exit code of 2 for internal (exceptional) errors, e.g. defensive
diff --git a/script/print-json-token-debug-format.c b/script/print-json-token-debug-format.c
index 14af817..ea3d330 100644
--- a/script/print-json-token-debug-format.c
+++ b/script/print-json-token-debug-format.c
@@ -416,7 +416,7 @@
     n = strnlen(status_msg, 2047);
   }
   fprintf(stderr, "%s\n", status_msg);
-  // Return an exit code of 1 for regular (forseen) errors, e.g. badly
+  // Return an exit code of 1 for regular (foreseen) errors, e.g. badly
   // formatted or unsupported input.
   //
   // Return an exit code of 2 for internal (exceptional) errors, e.g. defensive
diff --git a/script/process-json-numbers.c b/script/process-json-numbers.c
index e44a6dc..26f699c 100644
--- a/script/process-json-numbers.c
+++ b/script/process-json-numbers.c
@@ -304,7 +304,7 @@
     n = strnlen(status_msg, 2047);
   }
   fprintf(stderr, "%s\n", status_msg);
-  // Return an exit code of 1 for regular (forseen) errors, e.g. badly
+  // Return an exit code of 1 for regular (foreseen) errors, e.g. badly
   // formatted or unsupported input.
   //
   // Return an exit code of 2 for internal (exceptional) errors, e.g. defensive
