diff --git a/bmc_state_manager.hpp b/bmc_state_manager.hpp
index 8781e3f..d0b37a2 100644
--- a/bmc_state_manager.hpp
+++ b/bmc_state_manager.hpp
@@ -141,7 +141,7 @@
     void updateLastRebootTime();
 
     /**
-     * @brief the lastRebootTime calcuated at startup.
+     * @brief the lastRebootTime calculated at startup.
      **/
     uint64_t rebootTime;
 };
diff --git a/chassis_state_manager_main.cpp b/chassis_state_manager_main.cpp
index aecf9a9..9b31976 100644
--- a/chassis_state_manager_main.cpp
+++ b/chassis_state_manager_main.cpp
@@ -49,7 +49,7 @@
     {
         // Chassis State Manager was only support single-chassis and there only
         // two file to store persist values(POH and state change time), to
-        // support multi-chassis state mamagement, each service access new file
+        // support multi-chassis state management, each service access new file
         // paths with prefix 'chassisN', if any legacy persist file is exist,
         // rename it to the new file format of chassis0.
 
diff --git a/host_check.cpp b/host_check.cpp
index c3e37c8..c4b3e7b 100644
--- a/host_check.cpp
+++ b/host_check.cpp
@@ -180,7 +180,7 @@
     // we have a condition where the interface may be on D-Bus but not stored
     // within mapper yet. There are five built in retries to check if it's
     // found the host is not up. This service is only called if chassis power
-    // is on when the BMC comes up, so this wont impact most normal cases
+    // is on when the BMC comes up, so this won't impact most normal cases
     // where the BMC is rebooted with chassis power off. In cases where
     // chassis power is on, the host is likely running so we want to be sure
     // we check all interfaces
diff --git a/host_state_manager.hpp b/host_state_manager.hpp
index 3c21d80..043aef6 100644
--- a/host_state_manager.hpp
+++ b/host_state_manager.hpp
@@ -307,7 +307,7 @@
      */
     fs::path serialize();
 
-    /** @brief Deserialze a persisted requested host state.
+    /** @brief Deserialize a persisted requested host state.
      *
      *  @return bool - true if the deserialization was successful, false
      *                 otherwise.
diff --git a/scheduled_host_transition.cpp b/scheduled_host_transition.cpp
index 28541f5..6f9edec 100644
--- a/scheduled_host_transition.cpp
+++ b/scheduled_host_transition.cpp
@@ -48,7 +48,7 @@
 
 uint64_t ScheduledHostTransition::scheduledTime(uint64_t value)
 {
-    info("A scheduled host transtion request has been made for {TIME}", "TIME",
+    info("A scheduled host transition request has been made for {TIME}", "TIME",
          value);
     if (value == 0)
     {
@@ -129,7 +129,7 @@
 void ScheduledHostTransition::initialize()
 {
     // Subscribe time change event
-    // Choose the MAX time that is possible to avoid mis fires.
+    // Choose the MAX time that is possible to avoid misfires.
     constexpr itimerspec maxTime = {
         {0, 0},                                     // it_interval
         {system_clock::duration::max().count(), 0}, // it_value
diff --git a/utils.hpp b/utils.hpp
index 49f62bf..0d2431f 100644
--- a/utils.hpp
+++ b/utils.hpp
@@ -83,7 +83,7 @@
 void createBmcDump(sdbusplus::bus_t& bus);
 
 /** @brief Attempt to locate the obmc-chassis-lost-power@ file
- *    to indicate that an AC loss occured.
+ *    to indicate that an AC loss occurred.
  *
  * @param[in] chassisId  - the chassis instance
  */
