diff --git a/lib/zip_source_file.h b/lib/zip_source_file.h
index 43a4645..d48329b 100644
--- a/lib/zip_source_file.h
+++ b/lib/zip_source_file.h
@@ -34,7 +34,7 @@
 struct zip_source_file_stat {
     zip_uint64_t size; /* must be valid for regular files */
     time_t mtime;      /* must always be valid, is initialized to current time */
-    bool exists;       /* must always be vaild */
+    bool exists;       /* must always be valid */
     bool regular_file; /* must always be valid */
 };
 
diff --git a/lib/zipint.h b/lib/zipint.h
index dc4ec2f..a715e82 100644
--- a/lib/zipint.h
+++ b/lib/zipint.h
@@ -122,7 +122,7 @@
 typedef enum zip_compression_status zip_compression_status_t;
 
 struct zip_compression_algorithm {
-    /* Return maxiumum compressed size for uncompressed data of given size. */
+    /* Return maximum compressed size for uncompressed data of given size. */
     zip_uint64_t (*maximum_compressed_size)(zip_uint64_t uncompressed_size);
 
     /* called once to create new context */
diff --git a/man/zip_source_function.mdoc b/man/zip_source_function.mdoc
index 8272ea1..f5bd910 100644
--- a/man/zip_source_function.mdoc
+++ b/man/zip_source_function.mdoc
@@ -170,7 +170,7 @@
 .It ASCII mode
 If a file is a plaintext file in ASCII.
 Can be used by extraction tools to automatically convert line endings
-(part of the interal file attributes).
+(part of the internal file attributes).
 Member
 .Ar ascii ,
 flag
diff --git a/regress/buffer-fragment-read.test b/regress/buffer-fragment-read.test
index 1337560..06b3345 100644
--- a/regress/buffer-fragment-read.test
+++ b/regress/buffer-fragment-read.test
@@ -2,4 +2,4 @@
 return 0
 args -mF 1024 test.zip  cat 1
 file test.zip cm-default.zip cm-default.zip
-stdout uncompressable
+stdout uncompressible
diff --git a/regress/cancel_45.test b/regress/cancel_45.test
index ad273d3..dc125f3 100644
--- a/regress/cancel_45.test
+++ b/regress/cancel_45.test
@@ -1,7 +1,7 @@
 # test default compression stores if smaller; test cancel after 45%
 return 1
-args -n test.zip  cancel 45  add compressable aaaaaaaaaaaaaa  add uncompressable uncompressable  add_nul large-compressable 8200  add_file large-uncompressable large-uncompressable 0 -1
-file large-uncompressable large-uncompressable large-uncompressable
+args -n test.zip  cancel 45  add compressible aaaaaaaaaaaaaa  add uncompressible uncompressible  add_nul large-compressible 8200  add_file large-uncompressible large-uncompressible 0 -1
+file large-uncompressible large-uncompressible large-uncompressible
 stdout 0.0% done
 stdout 25.0% done
 stdout 50.0% done
diff --git a/regress/cancel_90.test b/regress/cancel_90.test
index f4cf028..072380d 100644
--- a/regress/cancel_90.test
+++ b/regress/cancel_90.test
@@ -1,7 +1,7 @@
 # test default compression stores if smaller; test cancel after 90%
 return 1
-args -n test.zip  cancel 90  add compressable aaaaaaaaaaaaaa  add uncompressable uncompressable  add_nul large-compressable 8200  add_file large-uncompressable large-uncompressable 0 -1
-file large-uncompressable large-uncompressable large-uncompressable
+args -n test.zip  cancel 90  add compressible aaaaaaaaaaaaaa  add uncompressible uncompressible  add_nul large-compressible 8200  add_file large-uncompressible large-uncompressible 0 -1
+file large-uncompressible large-uncompressible large-uncompressible
 stdout 0.0% done
 stdout 25.0% done
 stdout 50.0% done
diff --git a/regress/cm-default.test b/regress/cm-default.test
index 03e7200..7be6344 100644
--- a/regress/cm-default.test
+++ b/regress/cm-default.test
@@ -1,5 +1,5 @@
 # test default compression stores if smaller
 return 0
-args -n test.zip  add compressable aaaaaaaaaaaaaa  add uncompressable uncompressable  add_nul large-compressable 8200  add_file large-uncompressable large-uncompressable 0 -1
+args -n test.zip  add compressible aaaaaaaaaaaaaa  add uncompressible uncompressible  add_nul large-compressible 8200  add_file large-uncompressible large-uncompressible 0 -1
 file-new test.zip cm-default.zip
-file large-uncompressable large-uncompressable large-uncompressable
+file large-uncompressible large-uncompressible large-uncompressible
diff --git a/regress/cm-default.zip b/regress/cm-default.zip
index 3eba2a3..341edd9 100644
--- a/regress/cm-default.zip
+++ b/regress/cm-default.zip
Binary files differ
diff --git a/regress/large-uncompressable b/regress/large-uncompressible
similarity index 100%
rename from regress/large-uncompressable
rename to regress/large-uncompressible
Binary files differ
diff --git a/regress/liboverride-test.c b/regress/liboverride-test.c
index 822ea5c..64db634 100644
--- a/regress/liboverride-test.c
+++ b/regress/liboverride-test.c
@@ -86,7 +86,7 @@
     if (zip_open("nosuchfile", 0, &error_code) != NULL) {
         /* We expect failure. */
         if (verbose) {
-            printf("open succeded\n");
+            printf("open succeeded\n");
         }
         exit(1);
     }
diff --git a/regress/progress.test b/regress/progress.test
index 8604db2..a7313fa 100644
--- a/regress/progress.test
+++ b/regress/progress.test
@@ -1,8 +1,8 @@
 # test default compression stores if smaller; print progress
 return 0
-args -n test.zip  print_progress  add compressable aaaaaaaaaaaaaa  add uncompressable uncompressable  add_nul large-compressable 8200  add_file large-uncompressable large-uncompressable 0 -1
+args -n test.zip  print_progress  add compressible aaaaaaaaaaaaaa  add uncompressible uncompressible  add_nul large-compressible 8200  add_file large-uncompressible large-uncompressible 0 -1
 file-new test.zip cm-default.zip
-file large-uncompressable large-uncompressable large-uncompressable
+file large-uncompressible large-uncompressible large-uncompressible
 stdout 0.0% done
 stdout 25.0% done
 stdout 50.0% done
diff --git a/src/zipcmp.c b/src/zipcmp.c
index 49046d8..22905dd 100644
--- a/src/zipcmp.c
+++ b/src/zipcmp.c
@@ -153,7 +153,7 @@
     { 0x4453, "Windows NT security descriptor" },
     { 0x4704, "VM/CMS" },
     { 0x470f, "MVS" },
-    { 0x4854, "Theos, old inofficial port" },
+    { 0x4854, "Theos, old unofficial port" },
     { 0x4b46, "FWKCS MD5" },
     { 0x4c41, "OS/2 access control list (text ACL)" },
     { 0x4d49, "Info-ZIP OpenVMS (obsolete)" },
