diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index 86bf7f9..3887937 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -1189,7 +1189,7 @@
 the main interpreter has unique process-global responsibilities like signal
 handling.  It is also responsible for execution during runtime initialization and
 is usually the active interpreter during runtime finalization.  The
-:c:func:`PyInterpreterState_Main` funtion returns a pointer to its state.
+:c:func:`PyInterpreterState_Main` function returns a pointer to its state.
 
 You can switch between sub-interpreters using the :c:func:`PyThreadState_Swap`
 function. You can create and destroy them using the following functions:
diff --git a/Doc/c-api/init_config.rst b/Doc/c-api/init_config.rst
index 6b16b5b..79a8815 100644
--- a/Doc/c-api/init_config.rst
+++ b/Doc/c-api/init_config.rst
@@ -757,7 +757,7 @@
         PyConfig config;
         PyConfig_InitPythonConfig(&config);
 
-        /* Set the program name before reading the configuraton
+        /* Set the program name before reading the configuration
            (decode byte string from the locale encoding).
 
            Implicitly preinitialize Python. */
diff --git a/Doc/c-api/structures.rst b/Doc/c-api/structures.rst
index 1bd769f..0c66138 100644
--- a/Doc/c-api/structures.rst
+++ b/Doc/c-api/structures.rst
@@ -350,7 +350,7 @@
    .. _pymemberdef-offsets:
 
    Heap allocated types (created using :c:func:`PyType_FromSpec` or similar),
-   ``PyMemberDef`` may contain defintitions for the special members
+   ``PyMemberDef`` may contain definitions for the special members
    ``__dictoffset__`` and ``__weaklistoffset__``, corresponding to
    :c:member:`~PyTypeObject.tp_dictoffset` and
    :c:member:`~PyTypeObject.tp_weaklistoffset` in type objects.
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 9d45765..70b11d6 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -1019,7 +1019,7 @@
 remember before diving further:
 
 * Performance characteristics vary across Python implementations.  This FAQ
-  focusses on :term:`CPython`.
+  focuses on :term:`CPython`.
 * Behaviour can vary across operating systems, especially when talking about
   I/O or multi-threading.
 * You should always find the hot spots in your program *before* attempting to
diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst
index baf563f..190d928 100644
--- a/Doc/library/ast.rst
+++ b/Doc/library/ast.rst
@@ -168,7 +168,7 @@
    back with :func:`ast.parse`.
 
    .. warning::
-      The produced code string will not necesarily be equal to the original
+      The produced code string will not necessarily be equal to the original
       code that generated the :class:`ast.AST` object.
 
    .. versionadded:: 3.9
diff --git a/Doc/library/test.rst b/Doc/library/test.rst
index 73b3fe5..54ad620d 100644
--- a/Doc/library/test.rst
+++ b/Doc/library/test.rst
@@ -1577,7 +1577,7 @@
 The :mod:`test.support.bytecode_helper` module provides support for testing
 and inspecting bytecode generation.
 
-The module defines the follwing class:
+The module defines the following class:
 
 .. class:: BytecodeTestCase(unittest.TestCase)
 
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index 304cf63..cbf55d9 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -6,7 +6,7 @@
 bpo-38943: Fix autocomplete windows not always appearing on some
 systems.  Patch by Johnny Najera.
 
-bpo-38944: Excape key now closes IDLE completion windows.  Patch by
+bpo-38944: Escape key now closes IDLE completion windows.  Patch by
 Johnny Najera.
 
 bpo-38862: 'Strip Trailing Whitespace' on the Format menu removes extra
diff --git a/Lib/tkinter/tix.py b/Lib/tkinter/tix.py
index d9c097a..ac54550 100644
--- a/Lib/tkinter/tix.py
+++ b/Lib/tkinter/tix.py
@@ -1890,7 +1890,7 @@
         containing the current size setting of the given column.  When
         option-value pairs are given, the corresponding options of the
         size setting of the given column are changed. Options may be one
-        of the follwing:
+        of the following:
               pad0 pixels
                      Specifies the paddings to the left of a column.
               pad1 pixels
@@ -1915,7 +1915,7 @@
         When no option-value pair is given, this command returns a list con-
         taining the current size setting of the given row . When option-value
         pairs are given, the corresponding options of the size setting of the
-        given row are changed. Options may be one of the follwing:
+        given row are changed. Options may be one of the following:
               pad0 pixels
                      Specifies the paddings to the top of a row.
               pad1 pixels
diff --git a/Misc/NEWS.d/3.9.0a2.rst b/Misc/NEWS.d/3.9.0a2.rst
index 1919ccb..60d0ea5 100644
--- a/Misc/NEWS.d/3.9.0a2.rst
+++ b/Misc/NEWS.d/3.9.0a2.rst
@@ -69,7 +69,7 @@
 .. nonce: 8OyT5P
 .. section: Core and Builtins
 
-In Python 3.9.0a1, sys.argv[0] was made an asolute path if a filename was
+In Python 3.9.0a1, sys.argv[0] was made an absolute path if a filename was
 specified on the command line. Revert this change, since most users expect
 sys.argv to be unmodified.
 
@@ -516,7 +516,7 @@
 .. section: Library
 
 AsyncMock fix for return values that are awaitable types.  This also covers
-side_effect iterable values that happend to be awaitable, and wraps
+side_effect iterable values that happened to be awaitable, and wraps
 callables that return an awaitable type. Before these awaitables were being
 awaited instead of being returned as is.
 
@@ -893,7 +893,7 @@
 .. nonce: _3xjKG
 .. section: IDLE
 
-Excape key now closes IDLE completion windows.  Patch by Johnny Najera.
+Escape key now closes IDLE completion windows.  Patch by Johnny Najera.
 
 ..
 
