Nowadays, geocoding is a crucial part of the different science process, So that in most of the geospatial and spatial-related applications; geocoding services play an important role as a data-provider. Modern geocoders are fundamentally different from their original versions, and all aspects of these software services (coverage area, response time, spatial and non-spatial data completeness) have improved dramatically. Despite the fact that these developments have truly extent the area of geocoding applications, there are several issues with these improvements which are important as user point of view. These issues contain the hypotheses in the interpolation process, precision of the reference data, the uncertainty in matching algorithms and spatial unit of the geocoding service. Literally, Geocoding means assigning a geographic code to a set of non-spatial (attribute) data. This definition comes from two root words: "geo" means earth and "coding" is defined in Latin as applying a rule for converting a piece of information to another part. "Input", "processing algorithm", "reference data" and "output" are the fundamental parts of an abstract geocoder. Due to the importance of geocoders in different applications, in this article we decide to evaluate several open-source and commercial geocoding services from different perspectives. Hence, different measures (response time, data completeness, ease of use and etc.) are used in this article in order to address this issue in a fair and precise manner.