diff --git a/cumulus/pallets/collator-selection/src/lib.rs b/cumulus/pallets/collator-selection/src/lib.rs
index 82cce385b4d4625e704e0356a761f946629b5547..17bbe2591d48f767305adfe4c87237c926b83187 100644
--- a/cumulus/pallets/collator-selection/src/lib.rs
+++ b/cumulus/pallets/collator-selection/src/lib.rs
@@ -984,7 +984,7 @@ pub mod pallet {
 	}
 }
 
-/// [`TypedGet`] implementaion to get the AccountId of the StakingPot.
+/// [`TypedGet`] implementation to get the AccountId of the StakingPot.
 pub struct StakingPotAccountId<R>(PhantomData<R>);
 impl<R> TypedGet for StakingPotAccountId<R>
 where
diff --git a/cumulus/parachains/runtimes/bridge-hubs/README.md b/cumulus/parachains/runtimes/bridge-hubs/README.md
index c858532295ddce7ad1fd9a57a19d752201b78abd..a9f1f98d142d70bff0cb15b0972c0c9baf022c0e 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/README.md
+++ b/cumulus/parachains/runtimes/bridge-hubs/README.md
@@ -38,7 +38,7 @@ mkdir -p ~/local_bridge_testing/logs
 ---
 # 1. Install zombienet
 Go to: https://github.com/paritytech/zombienet/releases
-Copy the apropriate binary (zombienet-linux) from the latest release to ~/local_bridge_testing/bin
+Copy the appropriate binary (zombienet-linux) from the latest release to ~/local_bridge_testing/bin
 
 
 ---
diff --git a/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs b/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs
index 1c55f1354ac53256b04c0945f6a0adf4659767cb..5695c54f054c5b05afa54e4d6e0de8563dc41f4c 100644
--- a/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs
+++ b/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs
@@ -138,7 +138,7 @@ pub fn native_version() -> NativeVersion {
 	NativeVersion { runtime_version: VERSION, can_author_with: Default::default() }
 }
 
-/// We assume that ~10% of the block weight is consumed by `on_initalize` handlers.
+/// We assume that ~10% of the block weight is consumed by `on_initialize` handlers.
 /// This is used to limit the maximal weight of a single extrinsic.
 const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10);
 /// We allow `Normal` extrinsics to fill up the block up to 75%, the rest can be used
diff --git a/docs/sdk/src/reference_docs/frame_tokens.rs b/docs/sdk/src/reference_docs/frame_tokens.rs
index 1aaba78bb9b42ffd603c0ab97b63b863c466b5e2..57b493fafa59c053f2496d5e4809f7deaa0da316 100644
--- a/docs/sdk/src/reference_docs/frame_tokens.rs
+++ b/docs/sdk/src/reference_docs/frame_tokens.rs
@@ -23,7 +23,7 @@
 //! On completion of reading this doc, you should have a good understanding of:
 //! - The distinction between token traits and trait implementations in FRAME, and why this
 //!   distinction is helpful
-//! - Token-related traits avaliable in FRAME
+//! - Token-related traits available in FRAME
 //! - Token-related trait implementations in FRAME
 //! - How to choose the right trait or trait implementation for your use case
 //! - Where to go next
@@ -38,7 +38,7 @@
 //! [tightly coupling](crate::reference_docs::frame_pallet_coupling#tight-coupling-pallets) your
 //! custom pallet to [`pallet_balances`].
 //!
-//! However, to keep pallets flexible and modular, it is often prefered to
+//! However, to keep pallets flexible and modular, it is often preferred to
 //! [loosely couple](crate::reference_docs::frame_pallet_coupling#loosely--coupling-pallets).
 //!
 //! To achieve loose coupling,
diff --git a/polkadot/node/core/approval-voting/src/approval_checking.rs b/polkadot/node/core/approval-voting/src/approval_checking.rs
index 0aa6102fbd6d243b793e889fefb80297a7bb1d89..693a28800114c5196076fcabc2a194bf36f7a218 100644
--- a/polkadot/node/core/approval-voting/src/approval_checking.rs
+++ b/polkadot/node/core/approval-voting/src/approval_checking.rs
@@ -1148,7 +1148,7 @@ mod tests {
 			}
 			.into();
 
-			// Populate the requested tranches. The assignemnts aren't inspected in
+			// Populate the requested tranches. The assignments aren't inspected in
 			// this test.
 			for &t in &test_tranche {
 				approval_entry.import_assignment(t, ValidatorIndex(0), 0)
diff --git a/substrate/frame/support/src/traits/tokens/fungible/mod.rs b/substrate/frame/support/src/traits/tokens/fungible/mod.rs
index 4a0cda2dbc7b7a8ae20dedae071cbf726a31a0fc..01c3b9dfe46a562ec5c0692fd51ecc0e53f83872 100644
--- a/substrate/frame/support/src/traits/tokens/fungible/mod.rs
+++ b/substrate/frame/support/src/traits/tokens/fungible/mod.rs
@@ -20,7 +20,7 @@
 //! Also see the [`frame_tokens`] reference docs for more information about the place of
 //! `fungible` traits in Substrate.
 //!
-//! # Avaliable Traits
+//! # Available Traits
 //! - [`Inspect`]: Regular balance inspector functions.
 //! - [`Unbalanced`]: Low-level balance mutating functions. Does not guarantee proper book-keeping
 //!   and so should not be called into directly from application code. Other traits depend on this
diff --git a/substrate/frame/treasury/src/lib.rs b/substrate/frame/treasury/src/lib.rs
index 2723c4289d928aaaec58f64e8b82bf45c1bda5b2..1ccd8456643233c71eb3095aa7c05980b9e52e25 100644
--- a/substrate/frame/treasury/src/lib.rs
+++ b/substrate/frame/treasury/src/lib.rs
@@ -1123,7 +1123,7 @@ impl<T: Config<I>, I: 'static> OnUnbalanced<NegativeImbalanceOf<T, I>> for Palle
 	}
 }
 
-/// TypedGet implementaion to get the AccountId of the Treasury.
+/// TypedGet implementation to get the AccountId of the Treasury.
 pub struct TreasuryAccountId<R>(PhantomData<R>);
 impl<R> sp_runtime::traits::TypedGet for TreasuryAccountId<R>
 where