I need to create a contact form asking for buyers' delivery address. My customers may be from any country. The goal is to get the correct address format so international mail items will not be returned due to incorrect address format.

I've noticed that some websites dynamically change the form according to the selected country. For example, if you are from the US, you will be asked for your ZIP and see a dropdown list of the states. If you are from the UK, you will be asked for your Postal Code and have a text box for your County.

Being Israeli, I hate it when I need to come up with a creative text to fill in the always-mandatory "State or Region" text box...

Is there a component (free or otherwise) that stores all this information so I will not need to find the correct address formatting of all the countries in the world?

4 Answers 4


How about not forcing a particular format and providing one big plain ol' text box to capture the entire address? With this approach, you never get the format wrong (and we both know that's easy to do).

I for one see no benefit to the user (or the application for that matter) to having a separate textbox for Street name, city name, zip code etc (of course, this may not apply to your application, but you should consider it). Who better than the end users themselves to know their own address without having to be guided by separate textboxes?

  • 2
    When the power is in the hands of the user, there is more possibilities for mistakes. If there was an automated process that guided the user through selecting their state/region/city/etc, it could fill out the less-known information automatically for them. For example, I work in a different area than I live. I do not know the zip code to my current work place. Is it laziness? Sure it is. Am I the only lazy person on the planet? Nope, and neither are the users of this person's application.
    – user708
    Aug 20, 2010 at 17:06
  • 2
    @mariocatch Rather the business has a few incorrect deliveries due to user error out of thousands than EVERY user has to go through a horrible UX just to input their data, imho.
    – Rahul
    Aug 20, 2010 at 17:29
  • @Rahul I'm not sure you understood my statement, but my process was avoiding the tedious entry of a user's information that could be automatically discovered, or auto-filled out for them. In the opposing example, the user is required to fill out a lot more information, and in my opinion that is a worse UX.
    – user708
    Aug 20, 2010 at 19:50
  • @mariocatch True, but even most "autocomplete" systems are awkward. LukeW has a great presentation on this where he shows how someone tries to type in their zip code and then the ajax feature that fetches their address is slow, so they think they should start typing their address, but halfway through typing it fills it out for them anyway. There are more examples like that, not just from Luke but also from what I've seen in the field. My advice is to avoid them and use the simplest solution that requires the least information.
    – Rahul
    Aug 20, 2010 at 23:20
  • Sorry for the late response. The main reason for forcing users to enter their address by field is that it is required by shipping companies (FedEx, UPS, etc.) when using their web-services. Another reason I can think of is users that think you are a local provider and fail to write their country name.
    – idophir
    Aug 29, 2010 at 6:59

I'm not familiar with a standard international form component or library as-yet, but in addition to Ryan's suggestion, you might also consider one of these two manual approaches:

  1. Use a static, general international form with the most common options, without 'requiring' any but the most common fields. You can see an example of this used in the following article (under "Generic Formats"): http://www.uxmatters.com/mt/archives/2008/06/international-address-fields-in-web-forms.php

  2. Allow the user to enable what form fields are relevant to them at the time that they fill out their address. (i.e. have a checkbox next to each form field that activates them).


While I like the suggestion @Ryan Shripat gave, I would imagine that users might end up being confused as to where the address starts and ends. What I mean by that is, if their address is

123 Street, 18th Ave NE, Seattle

people will not know whether they need to stop at just the city level or should continue on to specifying the state (if applicable) and country as well.

My suggestion would be to create a two-lined address form like this:

Primary Address (House #, Street #, Locality and City), State (If applicable), Country

  • 1
    That would not work for Ireland. Personal Name (necessary; and the post office knows where everyone lives by name), Townsland Name, Postal Town, County are the fields wanted for a rural address. For an urban address you want the street and the house number (if there is one; if not, rely on the local knowledge of the post office knowing the personal name). Of course, there may also be house names, and in Dublin there are post codes .....
    – TRiG
    Nov 26, 2012 at 19:01

It might be worth researching address formats from around the world to see if you can discern some common patterns. I'm sure that a lot of countries have at least some unique formatting, but I'd be willing to bet that there's more in common than you think. You won't be able to prevent ALL formatting issues, but you could probably cut down on it. If you were able to find some common patterns you could base your validation algorithms around the outliers.

Maybe your base format is something like this:

123 Main Street
Postal Code

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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