diff --git a/IO/Exodus/vtkExodusIIReaderPrivate.h b/IO/Exodus/vtkExodusIIReaderPrivate.h
index 2250352f0670e28f4f4a022f4b1a9361ffc6651c..eef1d798d52cfe41870a47ddc6766fc557a41e10 100644
--- a/IO/Exodus/vtkExodusIIReaderPrivate.h
+++ b/IO/Exodus/vtkExodusIIReaderPrivate.h
@@ -542,7 +542,7 @@ protected:
   /** Fill the output grid's point coordinates array.
     * Returns 1 on success, 0 on failure.
     * Failure occurs when the Exodus library is unable to read the point
-    * coordindates array. This can be caused when there is not enough memory
+    * coordinates array. This can be caused when there is not enough memory
     * or there is a file I/O problem.
     */
   int AssembleOutputPoints( vtkIdType timeStep,
diff --git a/IO/Export/vtkGLTFExporter.cxx b/IO/Export/vtkGLTFExporter.cxx
index d718f107ba6575bea3ad372af006c9f648f3c2dc..c35b4a603b0869aacd5401dccdef5513ef07dbc7 100644
--- a/IO/Export/vtkGLTFExporter.cxx
+++ b/IO/Export/vtkGLTFExporter.cxx
@@ -624,7 +624,7 @@ void vtkGLTFExporter::WriteToStream(ostream &output)
 
   std::vector<unsigned int> topNodes;
 
-  // supprt sharing texture maps
+  // support sharing texture maps
   std::map<vtkUnsignedCharArray *, unsigned int> textureMap;
 
   for (auto ren : vtk::Range(this->RenderWindow->GetRenderers()))
diff --git a/IO/Export/vtkJSONSceneExporter.cxx b/IO/Export/vtkJSONSceneExporter.cxx
index d5344bc678e717b7dd34d62cd5d9fe2fd60eb96a..ca68668fdfdd74807471c705115defaa8b6b2dce 100644
--- a/IO/Export/vtkJSONSceneExporter.cxx
+++ b/IO/Export/vtkJSONSceneExporter.cxx
@@ -65,7 +65,7 @@ void vtkJSONSceneExporter::WriteDataObject(ostream& os, vtkDataObject* dataObjec
     return;
   }
 
-  // Hanlde Dataset
+  // Handle Dataset
   if (dataObject->IsA("vtkDataSet"))
   {
     std::string renderingSetup = this->ExtractRenderingSetup(actor);
diff --git a/IO/FFMPEG/vtkFFMPEGVideoSource.cxx b/IO/FFMPEG/vtkFFMPEGVideoSource.cxx
index 47a6d3c66ee660558e3f6f1169567f36d7df76e1..aff9c0e073ce051230c6062c1f57946ec351b51e 100644
--- a/IO/FFMPEG/vtkFFMPEGVideoSource.cxx
+++ b/IO/FFMPEG/vtkFFMPEGVideoSource.cxx
@@ -423,7 +423,7 @@ void *vtkFFMPEGVideoSource::Feed(vtkMultiThreader::ThreadInfo *data)
     count++;
   }
 
-  // flush remaning data
+  // flush remaining data
   this->FeedMutex->Lock();
   avcodec_send_packet(this->Internal->VideoDecodeContext, nullptr);
   this->FeedCondition->Signal();
diff --git a/IO/GDAL/vtkGDALRasterReader.cxx b/IO/GDAL/vtkGDALRasterReader.cxx
index 0e57d6c6b24502ea3282ccc51e5d7dff8dc572c4..9a3a5f1cb46bee2e4768edec6f4d5af2133dacab 100644
--- a/IO/GDAL/vtkGDALRasterReader.cxx
+++ b/IO/GDAL/vtkGDALRasterReader.cxx
@@ -690,7 +690,7 @@ bool vtkGDALRasterReader::vtkGDALRasterReaderInternal::GetGeoCornerPoint(
   else
   {
     // 1st pass: we should really have a call to the reader that returns
-    // the homography, but for now, look for mathcing corner and pass back
+    // the homography, but for now, look for matching corner and pass back
     // the matching corner point ("0" pixel on input means "0.5" as far as
     // GDAL goes
     bool leftCorner = (x == 0);
diff --git a/IO/Geometry/vtkCGMWriter.cxx b/IO/Geometry/vtkCGMWriter.cxx
index 2d7909e6b9d852339e7cedd8e1096a2bedfee14d..b22c3799d4a5864dd796ec83c522645de59113f5 100644
--- a/IO/Geometry/vtkCGMWriter.cxx
+++ b/IO/Geometry/vtkCGMWriter.cxx
@@ -3125,7 +3125,7 @@ static int cgmLine(cgmImagePtr im, int x1, int y1, int x2, int y2)
 /* Graphic Primitive: Polyline; Elem Class 4; Elem ID 1
  * Actually generate the line, if you are writing a program to use this
  * library, use this function, not cgmImageLine or cgmImageDashedLine,
- * those are just in for compatiblilty with gd
+ * those are just in for compatibility with gd
  *
  * This function will draw a line using the current line type, width, and color
  */
@@ -3254,7 +3254,7 @@ static int cgmRectangle(cgmImagePtr im, int x1, int y1, int x2, int y2)
 /* Graphic Primitive: rectangle; Elem Class 4; Elem ID 11
  * Actually generate the rectangle, if you are writing a program to use this
  * library, use this function, not cgmImageRectangle,
- * those are just in for compatiblilty with gd
+ * those are just in for compatibility with gd
  *
  * This function will draw a Rectangle using the current
  * edge type, width, color, and visibility, and the current
@@ -3401,7 +3401,7 @@ static int cgmCircle(cgmImagePtr im, int cx, int cy, int r)
 
 static int cgmArc3Pt(cgmImagePtr im, int sx,int sy, int ix,int iy, int ex,int ey)
 {
-/* Graphic Primitive: Cicular Arc 3 Point; Elem Class 4; Elem ID 13
+/* Graphic Primitive: Circular Arc 3 Point; Elem Class 4; Elem ID 13
  *
  * This function will draw a Circular Arc using the current
  * Line type, width, and color,
@@ -3488,7 +3488,7 @@ static int cgmArc3Pt(cgmImagePtr im, int sx,int sy, int ix,int iy, int ex,int ey
 
 static int cgmArc3PtClose(cgmImagePtr im, int sx,int sy, int ix,int iy, int ex,int ey, int cl)
 {
-/* Graphic Primitive: Cicular Arc 3 Point Close; Elem Class 4; Elem ID 14
+/* Graphic Primitive: Circular Arc 3 Point Close; Elem Class 4; Elem ID 14
  *
  * This function will draw a Circle using the current
  * edge type, width, color, and visibility, and the current
diff --git a/IO/Geometry/vtkGLTFDocumentLoader.h b/IO/Geometry/vtkGLTFDocumentLoader.h
index fd46a7c0d51271f85fe58d17cd9ce6236d5af1ff..bb18bddb8d3a3b66d7d2b84ad47681d84c285d5f 100644
--- a/IO/Geometry/vtkGLTFDocumentLoader.h
+++ b/IO/Geometry/vtkGLTFDocumentLoader.h
@@ -391,7 +391,7 @@ public:
   };
 
   /**
-   * This struct descibes a glTF animation object.
+   * This struct describes a glTF animation object.
    * Animations contain multiple channel and sampler objects.
    * Channels define the target node and value to be animated.
    * Samplers define keyframes and how to interpolate in between them.
@@ -443,7 +443,7 @@ public:
   };
 
   /**
-   * This struct descibes a glTF camera object.
+   * This struct describes a glTF camera object.
    * glTF can define both perpective or orthographic cameras.
    * Some of the struct's members will be unused depending on the camera type.
    */
diff --git a/IO/Geometry/vtkGLTFDocumentLoaderInternals.h b/IO/Geometry/vtkGLTFDocumentLoaderInternals.h
index 93b3e86738febf772b24b5215f89bf3ce7e6ca2e..bdfafa74ed89d24f10ebfcdee872c50b89da97e1 100644
--- a/IO/Geometry/vtkGLTFDocumentLoaderInternals.h
+++ b/IO/Geometry/vtkGLTFDocumentLoaderInternals.h
@@ -121,7 +121,7 @@ private:
   bool LoadPrimitive(const Json::Value& root, vtkGLTFDocumentLoader::Primitive& primitive);
 
   /**
-   * Populate a Mesh struture with data from a Json variable describing the object.
+   * Populate a Mesh structure with data from a Json variable describing the object.
    */
   bool LoadMesh(const Json::Value& root, vtkGLTFDocumentLoader::Mesh& mesh);
 
diff --git a/IO/Geometry/vtkGLTFReader.cxx b/IO/Geometry/vtkGLTFReader.cxx
index 3bb80540768b1b3a907e5696c45ad0c7b8cdf466..b4aa0d5d2674aa3dc7a5db03d528457772759f1c 100644
--- a/IO/Geometry/vtkGLTFReader.cxx
+++ b/IO/Geometry/vtkGLTFReader.cxx
@@ -422,7 +422,7 @@ bool BuildMultiBlockDatasetFromMesh(vtkGLTFDocumentLoader::Model& m, unsigned in
     {
       meshPolyData = vtkSmartPointer<vtkPolyData>::New();
       meshPolyData->ShallowCopy(primitive.Geometry);
-      // Add material infomation to fieldData
+      // Add material information to fieldData
       AddMaterialToFieldData(primitive.Material, meshPolyData->GetFieldData(), m);
 
       vtkNew<vtkTransformPolyDataFilter> filter;
@@ -472,7 +472,7 @@ bool BuildMultiBlockDatasetFromMesh(vtkGLTFDocumentLoader::Model& m, unsigned in
       {
         meshPolyData = vtkSmartPointer<vtkPolyData>::New();
         meshPolyData->ShallowCopy(primitive.Geometry);
-        // Add material infomation to fieldData
+        // Add material information to fieldData
         AddMaterialToFieldData(primitive.Material, meshPolyData->GetFieldData(), m);
         meshDataSet->SetBlock(meshDataSet->GetNumberOfBlocks(), meshPolyData);
       }
diff --git a/IO/Geometry/vtkParticleReader.cxx b/IO/Geometry/vtkParticleReader.cxx
index 1f0a0bdc25767e823796ef78e2a9ec620b979e46..3ba7155be1f91b87ff2697673fc80260b63ff532 100644
--- a/IO/Geometry/vtkParticleReader.cxx
+++ b/IO/Geometry/vtkParticleReader.cxx
@@ -107,7 +107,7 @@ namespace {
 
  // The number of times we output a progress message.
  int const quantum = 20;
- // The ratio of high ASCII characters to low ASCII characeters.
+ // The ratio of high ASCII characters to low ASCII characters.
  double hiToLowASCII = 0.1;
 
 }
diff --git a/IO/Image/vtkImageWriter.cxx b/IO/Image/vtkImageWriter.cxx
index 85a720269e4f2e3f29ec77359ad86a7d817e3754..11d354d3c8aaa2242f49685d561a6878f3c976e9 100644
--- a/IO/Image/vtkImageWriter.cxx
+++ b/IO/Image/vtkImageWriter.cxx
@@ -474,7 +474,7 @@ unsigned long vtkImageWriterGetSize(T*)
 
 //----------------------------------------------------------------------------
 // Writes a region in a file.  Subclasses can override this method
-// to produce a header. This method only hanldes 3d data (plus components).
+// to produce a header. This method only handles 3d data (plus components).
 void vtkImageWriter::WriteFile(ostream *file, vtkImageData *data,
                                int extent[6], int wExtent[6])
 {
diff --git a/IO/LSDyna/vtkLSDynaReader.cxx b/IO/LSDyna/vtkLSDynaReader.cxx
index 153a246c88b897260bf92d7dd0abebe878949098..cff9041200ac1167873a77d1a9b10e83ca06a094 100644
--- a/IO/LSDyna/vtkLSDynaReader.cxx
+++ b/IO/LSDyna/vtkLSDynaReader.cxx
@@ -3436,7 +3436,7 @@ int vtkLSDynaReader::RequestData(
 
   if ( p->Dict["NMSPH"] )
   {
-    // Do something with smooth partical hydrodynamics element data
+    // Do something with smooth particle hydrodynamics element data
   }
   this->UpdateProgress( 0.15 );
 
diff --git a/IO/MINC/vtkMINCImageReader.h b/IO/MINC/vtkMINCImageReader.h
index c73da98e3a6dd7e6a56df7f9a1d2fe21eb6a3602..d537c60a17080633eebe0ccb22106bb865913805 100644
--- a/IO/MINC/vtkMINCImageReader.h
+++ b/IO/MINC/vtkMINCImageReader.h
@@ -96,7 +96,7 @@ public:
   void SetFileName(const char *name) override;
 
   /**
-   * Get the entension for this file format.
+   * Get the extension for this file format.
    */
   const char* GetFileExtensions() override {
     return ".mnc"; }
diff --git a/IO/MINC/vtkMINCImageWriter.h b/IO/MINC/vtkMINCImageWriter.h
index aca73ba48ea76f62ec0a8149b4640d72b3b889ea..b5c119a9b7c0ed24893de665411734f24ed51704 100644
--- a/IO/MINC/vtkMINCImageWriter.h
+++ b/IO/MINC/vtkMINCImageWriter.h
@@ -88,7 +88,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) override;
 
   /**
-   * Get the entension for this file format.
+   * Get the extension for this file format.
    */
   virtual const char* GetFileExtensions() {
     return ".mnc"; }
diff --git a/IO/MINC/vtkMNIObjectReader.h b/IO/MINC/vtkMNIObjectReader.h
index f28c3be214d8913b831c584a32b569e90e0432f6..a224ccbdd8e5df86174770a4d03fc1a837ba4c1d 100644
--- a/IO/MINC/vtkMNIObjectReader.h
+++ b/IO/MINC/vtkMNIObjectReader.h
@@ -92,7 +92,7 @@ public:
   //@}
 
   /**
-   * Get the entension for this file format.
+   * Get the extension for this file format.
    */
   virtual const char* GetFileExtensions() {
     return ".obj"; }
diff --git a/IO/MINC/vtkMNIObjectWriter.h b/IO/MINC/vtkMNIObjectWriter.h
index afdade49d68129c7df98dbf0ef471fd5dc85aece..d86849eaef90da61301f9b1d25074b525a97d947 100644
--- a/IO/MINC/vtkMNIObjectWriter.h
+++ b/IO/MINC/vtkMNIObjectWriter.h
@@ -85,7 +85,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) override;
 
   /**
-   * Get the entension for this file format.
+   * Get the extension for this file format.
    */
   virtual const char* GetFileExtensions() {
     return ".obj"; }
diff --git a/IO/MINC/vtkMNITagPointReader.h b/IO/MINC/vtkMNITagPointReader.h
index f6fce36bd04b7e23772e4849386a631019be62b0..a4891f8b117285f850b5f121016db6368b87ef77 100644
--- a/IO/MINC/vtkMNITagPointReader.h
+++ b/IO/MINC/vtkMNITagPointReader.h
@@ -92,7 +92,7 @@ public:
   //@}
 
   /**
-   * Get the entension for this file format.
+   * Get the extension for this file format.
    */
   virtual const char* GetFileExtensions() {
     return ".tag"; }
diff --git a/IO/MINC/vtkMNITagPointWriter.h b/IO/MINC/vtkMNITagPointWriter.h
index d23f92e2902cfda01d7f67c86cd3bcacee71be37..a6d35ce00ca10434564b35252c28e9895b87794f 100644
--- a/IO/MINC/vtkMNITagPointWriter.h
+++ b/IO/MINC/vtkMNITagPointWriter.h
@@ -84,7 +84,7 @@ public:
   void PrintSelf(ostream& os, vtkIndent indent) override;
 
   /**
-   * Get the entension for this file format.
+   * Get the extension for this file format.
    */
   virtual const char* GetFileExtensions() {
     return ".tag"; }
diff --git a/IO/MINC/vtkMNITransformReader.h b/IO/MINC/vtkMNITransformReader.h
index 5c249f22c6ce0d7bb7f0be7bd7fe921c4b3bab99..5e5fb324ded35a9461ba889a8d84ab4077f5a657 100644
--- a/IO/MINC/vtkMNITransformReader.h
+++ b/IO/MINC/vtkMNITransformReader.h
@@ -88,7 +88,7 @@ public:
   //@}
 
   /**
-   * Get the entension for this file format.
+   * Get the extension for this file format.
    */
   virtual const char* GetFileExtensions() {
     return ".xfm"; }
diff --git a/IO/MINC/vtkMNITransformWriter.h b/IO/MINC/vtkMNITransformWriter.h
index b4309371b0a6544b003e2bb799474141d613e157..821f6fc68caf2a3600537da07f91fa3f9b0060fc 100644
--- a/IO/MINC/vtkMNITransformWriter.h
+++ b/IO/MINC/vtkMNITransformWriter.h
@@ -90,7 +90,7 @@ public:
   //@}
 
   /**
-   * Get the entension for this file format.
+   * Get the extension for this file format.
    */
   virtual const char* GetFileExtensions() {
     return ".xfm"; }
diff --git a/IO/NetCDF/vtkNetCDFPOPReader.cxx b/IO/NetCDF/vtkNetCDFPOPReader.cxx
index 9e1127ccadc6998e39867aa02388968e30af43bd..4e3b207637a5acb270abf66396f087d7abbdfd5d 100644
--- a/IO/NetCDF/vtkNetCDFPOPReader.cxx
+++ b/IO/NetCDF/vtkNetCDFPOPReader.cxx
@@ -193,7 +193,7 @@ int vtkNetCDFPOPReader::RequestData(vtkInformation* request,
     vtkInformationVector* outputVector  )
 {
   this->UpdateProgress(0);
-  // the default implimentation is to do what the old pipeline did find what
+  // the default implementation is to do what the old pipeline did find what
   // output is requesting the data, and pass that into ExecuteData
   // which output port did the request come from
   int outputPort = request->Get(vtkDemandDrivenPipeline::FROM_OUTPUT_PORT());
diff --git a/IO/PLY/vtkPLYReader.cxx b/IO/PLY/vtkPLYReader.cxx
index 1042e190b2677b5caa149d40203f3a5c2bdb23d8..45d9d51bfa2e47fa9da9895168cbe6d07e25e7a3 100644
--- a/IO/PLY/vtkPLYReader.cxx
+++ b/IO/PLY/vtkPLYReader.cxx
@@ -46,7 +46,7 @@ namespace {
    * Create an extra point in 'data' with the same coordinates and data as
    * the point at cellPointIndex inside cell. This is to avoid texture artifacts
    * when you have one point with two different texture values (so the latter
-   * value overide the first. This results in a texture discontinuity which results
+   * value override the first. This results in a texture discontinuity which results
    * in artifacts).
    */
   vtkIdType duplicateCellPoint(
diff --git a/IO/Parallel/vtkMultiBlockPLOT3DReaderInternals.cxx b/IO/Parallel/vtkMultiBlockPLOT3DReaderInternals.cxx
index 9c66bab9e4175cfa331e538daf58db2ddd641dd2..26b4bd73e6bcea172fd550aa8878e2cd64bbb2d9 100644
--- a/IO/Parallel/vtkMultiBlockPLOT3DReaderInternals.cxx
+++ b/IO/Parallel/vtkMultiBlockPLOT3DReaderInternals.cxx
@@ -259,7 +259,7 @@ int vtkMultiBlockPLOT3DReaderInternals::CheckBlankingAndPrecision(FILE* fp)
 }
 
 // Unfortunately, a Plot3D file written in C is trickier
-// to check becaues it has no byte count markers. We need
+// to check because it has no byte count markers. We need
 // to do a bit more brute force checks based on reading
 // data and estimating file size.
 int vtkMultiBlockPLOT3DReaderInternals::CheckCFile(FILE* fp, size_t fileSize)
diff --git a/IO/SQL/vtkSQLDatabaseSchema.h b/IO/SQL/vtkSQLDatabaseSchema.h
index a7e661d68fa61c241b79986173238110d90b9687..c3ecccb3cc407f4adc5d974ad8a43c65eb6a5257 100644
--- a/IO/SQL/vtkSQLDatabaseSchema.h
+++ b/IO/SQL/vtkSQLDatabaseSchema.h
@@ -253,7 +253,7 @@ class VTKIOSQL_EXPORT vtkSQLDatabaseSchema : public vtkObject
   int GetTableHandleFromName( const char* tblName );
 
   /**
-   * Given a table hanlde, get its name.
+   * Given a table handle, get its name.
    */
   const char* GetTableNameFromHandle( int tblHandle );
 
diff --git a/IO/Xdmf2/vtkXdmfWriter.cxx b/IO/Xdmf2/vtkXdmfWriter.cxx
index f9a639ad3d59da6952c88eb65f754c3e9fe3f8c3..33cdf4a2f16f7be33cfe899b335c788f2b978fb8 100644
--- a/IO/Xdmf2/vtkXdmfWriter.cxx
+++ b/IO/Xdmf2/vtkXdmfWriter.cxx
@@ -702,7 +702,7 @@ int vtkXdmfWriter::CreateTopology(vtkDataSet *ds, xdmf2::XdmfGrid *grid, vtkIdTy
     vtkXdmfWriterInternal::MapOfCellTypes cellTypes;
     vtkXdmfWriterInternal::DetermineCellTypes(vtkPointSet::SafeDownCast(ds), cellTypes);
 
-    //TODO: When is it beneficial to take advantage of a homogenous topology?
+    //TODO: When is it beneficial to take advantage of a homogeneous topology?
     //If no compelling reason not to used MIXED, then this should go away.
     //This special case code requires an in memory copy just to get rid of
     //each cell's preceding number of points int.
@@ -805,7 +805,7 @@ int vtkXdmfWriter::CreateTopology(vtkDataSet *ds, xdmf2::XdmfGrid *grid, vtkIdTy
         }//pd has 4 arrays, so it is rarely homogeoneous
       }
       cellPoints->Delete();
-    } //homogenous
+    } //homogeneous
     else
     {
       //cerr << "Nonhomogeneous topology" << endl;