To solve the problem of positioning accuracy affected by mutual interference among multiple reference points in the traditional visible light communication positioning system, an iterative algorithm of received signal strength (RSS) based on code division multiple access (CDMA) coding is proposed. Every light-emitting diode (LED) source broadcasts a unique CDMA modulation identification (ID) code, which is associated with geographic position. The mobile terminal receives a mixed light signal from each LED reference point. By using the orthogonality of the spreading codes, the corresponding ID position information and the intensity attenuation factor of each LED reference point source can be available. According to the ID information and signal attenuation intensity, the location area of each LED and the distance between the receiver end and each LED can be determined. The three-dimensional (3-D) position of the receiver can be obtained by using the iterative algorithm of RSS triangulation. The experimental results show that the proposed algorithm can achieve a positioning accuracy of 5.25 cm in a two-dimensional (2-D) positioning system. And in the 3-D positioning system, the maximum positioning error is 10.27 cm, the minimum positioning error is 0.45 cm, the average positioning error is 3.97 cm, and the proportion of the positioning error exceeding 5 cm is . With a very good positioning accuracy, this system is simple and does not require synchronization processing. What is more, it can be applied to both the 2-D and 3-D localization systems, which has a broad application prospect.