Most current community detection methods for complex networks focus on partition. Community number estimation does not have the due attention it deserves, and the community number is only a by-product of community partition. In fact, knowing the community number in advance can speed up the partition process, especially for large scale and dynamic complex networks. This paper proposes a community number estimation method based on topology potential. In the topology potential field, the potential distribution of nodes shows a natural peak-valley structure, and each community corresponds to a local high potential area. The number of local maximum potential nodes is the estimated community number. Experiments on real world networks and artificial networks show that the proposed method gives very good performance in community number estimation. The more noticeable the peak-valley structure of the corresponding topology potential field is, the closer the estimated community number will be to the ground truth. Furthermore, compared with state-of-the-arts methods, our proposed method is not sensitive to the tuned parameter, and shows good efficiency.