Clean mailing addresses in a CSV, before you print.
Map the columns, normalize countries, postal codes, states and provinces, flag boxes and duplicates, and export a clean list for a mail merge, label print, or CRM import.
Map the columns, normalize countries, postal codes, states and provinces, flag boxes and duplicates, and export a clean list for a mail merge, label print, or CRM import.
A mailing list goes wrong in predictable ways. Someone exported a CRM with the ZIP Code column formatted as a number, so every New England ZIP lost its leading zero. A web form let people type their country, so the file holds United States, USA, U.S., and America in the same column. A trade-show scan merged two copies of the same people. These are format problems, and a spreadsheet can expose them.
Be precise about the goal before you edit anything. A well-formed address has every required part, a recognized country, and a postal code in the shape that country publishes. A deliverable address actually exists and receives mail. Only the second requires licensed postal data, such as the USPS address-matching systems that mailers use for discounts. This guide covers the first, which is the part you can do yourself before a mail merge, a label print run, or a CRM import. The CSV address validator applies every check below in your browser, without uploading the list.
Address exports rarely agree on headers. One system says Address 1, another says Street, a third says Mailing Address. Before checking values, decide which column plays which role: recipient name, organisation, address line 1 (number and street, or a PO Box), address line 2 (apartment, suite, floor), city or locality, state or province or region, postal code, and country. Everything else, such as email or phone, is ignored for address purposes but should still travel with the row.
Map each role to exactly one column. Two columns both claiming to be the postal code usually means a ZIP and a ZIP+4 extension were split, or a billing and a shipping address share the sheet. Resolve that before cleaning: either combine the parts into one column or work on one address set at a time.
The international standard for country codes is ISO 3166, maintained by ISO. Part 1 defines a two-letter alpha-2 code, a three-letter alpha-3 code, and a numeric code for each country; the full list is searchable on the ISO Online Browsing Platform. Alpha-2 codes such as US, CA, GB, and DE are what most CRMs, shipping tools, and label templates expect in a country field.
Convert every spelling to the alpha-2 code: United States, USA, and US all become US; Deutschland and DEU become DE. Watch the exceptions. The United Kingdom's alpha-2 code is GB, not UK, although many people type UK. Some names point at more than one code: Korea could be KR or KP, Congo could be CG or CD, and Georgia is both a country and a US state. Flag those for a person to decide rather than guessing.
Rows with a blank country need a rule. If the whole list is domestic, set a default country and apply it only to blank cells. If the list is mixed, a blank country is a blocker, because every later check, from postal format to required parts, depends on knowing the country.
Every mailable street address needs a delivery line and a locality. The Universal Postal Union's addressing resources describe postcodes as a fundamental element of an address and note that around 130 countries use them, so a postal code is also required wherever the destination country has one. The UPU publishes a Postal Addressing Systems sheet per country that shows the expected address lines and postcode position.
For US addresses, the state is required as well. USPS Publication 28, the Postal Addressing Standards, formats the last line with the city name, the two-character state abbreviation, and the ZIP+4 Code, separated by at least one space. For Canada, Canada Post's addressing guidance puts the municipality, province abbreviation, and postal code on the same line, so the province is required too.
Postal codes have published shapes. Check the shape for the row's country, then rewrite the code in its canonical form: uppercase letters and the official space or hyphen. The UPU sheet for the United States describes ZIP+4 as nine digits with a hyphen between the fifth and sixth; a plain five-digit ZIP Code is also valid. Canada Post's postal code page defines a six-character alphanumeric code in the form ANA NAN, where A is a letter and N a digit, with a space between the halves.
The UPU sheet for the United Kingdom lists six postcode formats, AN NAA, ANN NAA, AAN NAA, AANN NAA, ANA NAA, and AANA NAA, plus the single exception GIR 0AA, written in capitals with one space between the two parts. Ireland's Eircode, per the UPU sheet for Ireland, is seven alphanumeric characters with a space after the first three. The Netherlands sheet specifies four digits, a space, and two capital letters.
Several countries use plain digits: four in Australia and New Zealand; five in Germany, France, Spain, and Italy; six in India. Japan uses seven digits with a hyphen between the third and fourth. Each of these sheets is published by the UPU.
The most common failure is not a typo but a spreadsheet. Opening a CSV in a spreadsheet can turn 02134 into 2134 and a ZIP+4 into a large number. When a digits-only code is exactly one digit short, suspect a dropped leading zero and fix the export rather than padding blindly. Note what a format check cannot do: confirming that a postal code belongs to the stated city or state needs postal data, so treat a well-formed code as well formed, not as matched.
Appendix B of Publication 28 lists the two-letter abbreviations for every state, the District of Columbia, the US possessions such as PR, GU, VI, AS, and MP, the freely associated states FM, MH, and PW, and the military codes AA, AE, and AP. Convert full names such as California or District of Columbia to their codes and reject anything that is neither a listed code nor a listed name.
Canada Post's symbols and abbreviations page lists the thirteen province and territory symbols: AB, BC, MB, NB, NL, NT, NS, NU, ON, PE, QC, SK, and YT. Normalize Quebec, with or without its accent, to QC, and Newfoundland and Labrador to NL.
Publication 28 standardizes US street suffixes in Appendix C1, for example AVENUE to AVE, BOULEVARD to BLVD, STREET to ST, and CROSSING to XING, and secondary unit designators in Appendix C2, for example APARTMENT to APT, SUITE to STE, and FLOOR to FL. Appendix C2 also marks which designators need a number after them; BASEMENT, FRONT, LOBBY, LOWER, OFFICE, PENTHOUSE, REAR, SIDE, and UPPER do not.
Abbreviating is optional. It shortens lines and makes duplicate detection more reliable, because 12 Oak Street and 12 Oak ST become the same. Apply it only to US rows, only to the suffix at the end of the street name or before a unit, and only from the published tables.
Case is a similar choice. Publication 28's format section says uppercase letters are preferred on all lines of the address block but lowercase is acceptable when readable. Leave case alone unless your printer or carrier asks for capitals.
A Post Office Box address is standardized as PO BOX followed by the number, without periods. A box address is valid for letters but may not suit every carrier or service, so flag rows whose address lines contain PO Box, Post Office Box, or Postal Box for a person to review against the shipping method.
Private mailboxes at commercial mail receiving agencies are different. Publication 28's private mailbox section requires either the PMB identifier or the # sign and says the words PO BOX cannot be used on the delivery line. Flag PMB lines too: they are legitimate, but a mailer usually wants to know about them.
Line length limits come from the label and the destination, not from CSV. Publication 28's compression guidelines note that the characters allowed per line may be limited by the database used to record the list. Some postal administrations publish a figure: the UPU sheet for Canada says lines should contain no more than 40 characters including spaces, and the Australia sheet gives the same 40-character maximum.
Flag long lines for those destinations and shorten them by hand or with official abbreviations. Do not truncate automatically; cutting a street name mid-word can create a different, valid-looking address.
Compare rows only after normalization, so that USA and United States, or m5v3l9 and M5V 3L9, do not hide a repeat. Rows that are identical across every address part and the recipient are exact duplicates: keep the first and hold the rest out of the clean list.
Rows that share address line 1 and postal code but differ in name or line 2 are near duplicates. They may be two people in one household or the same person typed twice, so flag them for a person instead of deleting.
Produce two files. The clean list keeps every original column in source order and appends normalized address columns, so a mail merge or CRM import can use the cleaned values while the originals remain visible. The flagged list names each held or reviewed row by number, with the rule and a reason that does not repeat the private value.
Then test. Print a handful of labels from the clean list, check that long names fit, and confirm that international rows show the country as the last line. If the mailing qualifies for postal discounts or must meet a carrier's address-quality requirement, run the clean list through a certified address-matching service. A format check is the inexpensive first pass that makes that step cheaper, not a substitute for it.
No. It checks that each row is well formed: required parts are present, the country resolves to an ISO 3166-1 code, and the postal code matches the country's published pattern. It does not run CASS, SERP, AMAS, geocoding, or any postal database lookup, so a well-formed address can still be undeliverable.
No. Parsing, mapping, checks, masked findings, and downloads all run in the current browser tab. No name, street, postal code, or finding is sent to a postal service, geocoder, or csvtodashboard.
United States ZIP and ZIP+4, Canada, United Kingdom, Australia, Germany, France, Netherlands, India, Japan, Ireland (Eircode), New Zealand, Spain, and Italy. Other countries keep their postal code unchanged and unchecked.
No. Matching a state, city, or province to a postal code needs a postal database. The tool only checks the format of each part separately.
Common English names, ISO 3166-1 alpha-3 codes, and alpha-2 codes become the alpha-2 code, such as United States, USA, and US becoming US. Names that can mean more than one country, such as Korea or Georgia, are flagged for review instead of guessed.
Rows that are identical after normalization are held out of the clean list and listed in the flagged list. Rows that share address line 1 and postal code but differ elsewhere are flagged for review and kept.