The received signal strength indicator (RSSI) is a metric of the power measured by a sensor in a receiver. Many indoor positioning technologies use RSSI to locate objects in indoor environments. Their positioning accuracy is significantly affected by reflection and absorption from walls, and by non-stationary objects such as doors and people. Therefore, it is necessary to increase transceivers in the environment to reduce positioning errors. This paper proposes an indoor positioning technology that uses the machine learning algorithm of channel state information (CSI) combined with fingerprinting. The experimental results showed that the proposed method outperformed traditional RSSI-based localization systems in terms of average positioning accuracy up to 6.13% and 54.79% for random forest (RF) and back propagation neural networks (BPNN), respectively.