A fault location method for transmission line based on S-transform and PMU is proposed in this paper. The two-terminal voltage data are pretreated by S-transform in order to separate fault waveform from the normal one. And voltage amplitude phase data are calculated at the same time. Moreover, two sets of data are subtracted and the difference is used as the initial data source after phase-to-mode conversion and is input into the fault location characteristic function. Finally, the optimal solution of the function is obtained by PSO though the ability of global searching to determine the fault location. In conclusion, the simulation results show that the proposed method can accurately locate faults and provide more abundant and visualized fault information.