User localization is one of the key technologies for mobile robots to successfully interact with humans. Among various localization methods, time of arrival (TOA) based localization is the popular one since the target coordinates can be directly calculated from the accurate range measurements. In complex indoor environments, however, range-based localization is quite challenging since the range measurements suffer not only from signal noise but also from multipath effect. A set of range measurements taken in a complex indoor environment verifies that almost all measurements are non-line-of-sight (NLOS) ranges which have striking difference to the line-of-sight (LOS) distances. These erroneous range measurements make severe degradation in localization accuracy if used without any compensation. In this paper we propose a particle filter based localization algorithm which exploits indoor geometry from given map to compensate the NLOS bias. Here the framework of particle filtering was employed to tackle the issues on conditional probability in calculation of multipath range. The algorithm is verified with an experiment performed in a real indoor environment.