This question already has an answer here:

I have 1.4 million addresses that I need to batch geocode. I can't find a free service to do so. Does anyone know of something out there that I can use? Oh, the service needs to be were I can upload a file in a .txt file formate, not a copy and paste. Copy and paste services crash the 661 mb size file.

marked as duplicate by Chris W, user30184, John Powell, Brad Nesom, Mapperz Jun 3 '15 at 13:34

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


You could try Nominatim from OpenStreetMap:

Nominatim (from the Latin, 'by name') is a tool to search OSM data by name and address and to generate synthetic addresses of OSM points (reverse geocoding). It can be found at http://nominatim.openstreetmap.org

You may need to write the wrapper functionality to allow uploading of a text file.


You could try MMQGIS plugin in QGIS. It uses Google API for geo-coding and reverse geo-coding.


Go to MMQGIS tab> Transfer > Geocode CSV from Google.

It takes CSV file as input but output geocoded file and not-found-addresses file in case of no address found on google map. Make sure your CSV is in the right format for this plugin.


SmartyStreets has a LiveAddress for Lists service that is designed to do exactly what you're looking for: You upload a list (.csv, .txt, or .xls) and a few minutes later you download the output files, which give 40+ data points, including geocode data, for each address.

Our pricing is very competitive, with no minimum purchase price, and if you're a startup or a nonprofit, then you can probably get our service for free.

Not the answer you're looking for? Browse other questions tagged or ask your own question.