Nowadays, determining the exact position of sensor nodes in WSNs is an important factor in many applications. As the need of the localization accuracy varies between the applications, many localization techniques are used in different applications. Hence, node localization becomes one of the fundamental challenges in WSNs. Localization is categorized in two groups: range free and range based. In the range free techniques, localization is related between nodes and topological information of sensor nodes. On the other hand, in range based techniques, it is required to calculate distance between nodes. The scope of this paper is on range free localization. We survey different range free localization techniques and discuss some localization-based applications where the location of these sensor nodes is vital and sensitive. On the second part of the paper, we describe five algorithms namely: Centroid, Amorphous, APIT, DV-Hop and DV-HopMax algorithms. We simulate these algorithms using MATLAB based on different setups. Moreover, we make a comparative study between these localization algorithms based on different performance metrics showing their pros and cons.