Anatomy of US Postal Addresses: USPS Standardization Rules
Published: July 24, 2026 | Author: Elena Rostova (Logistics Systems Architect) | Category: Postal Standards
Learn the official USPS rules for address standardization, CASS compliance, street suffix abbreviations, and ZIP+4 structure.
USPS Publication 28 specifies the order of the lines, the abbreviations, and the convention of uppercase with no punctuation. The order is the part that trips up developers: the secondary unit goes on the same line as the street address when it fits, not on the line above.
Line order, with a worked example
Publication 28 builds an address from the most specific recipient down to the delivery point, then the city, state and ZIP:
1. attention line ATTN JANE DOE
2. recipient ACME LOGISTICS INC
3. delivery address line 1244 N MAPLE AVE STE 400
4. city, state, ZIP LOS ANGELES CA 90012-3456
Take this as typed by a customer:
Acme Logistics, Inc.
Attn: Jane Doe
Suite 400
1244 North Maple Avenue
Los Angeles, California 90012
Standardised:
ATTN JANE DOE
ACME LOGISTICS INC
1244 N MAPLE AVE STE 400
LOS ANGELES CA 90012-3456
Four changes, each worth naming:
- The attention line moved above the company. It is the most specific element, so it goes first.
- The suite moved onto the street line. This is the rule people get wrong. The secondary unit designator belongs on the delivery address line, appended after the street. It only goes on its own line directly above when the delivery address line is too long to hold it — and that line has a practical limit of 64 characters for automated processing.
- The directional became
N, the suffixAVE, the stateCA. All from the standard abbreviation lists. - Uppercase, punctuation gone. Including the period in
Inc.and the comma after the city.
Street suffixes
Publication 28 Appendix C1 lists every recognised suffix with its primary abbreviation and the variations that map to it. The common ones:
| suffix | use | suffix | use | |
|---|---|---|---|---|
| ALLEY | ALY | LANE | LN | |
| AVENUE | AVE | PARKWAY | PKWY | |
| BOULEVARD | BLVD | PLACE | PL | |
| CENTER | CTR | PLAZA | PLZ | |
| CIRCLE | CIR | POINT | PT | |
| COURT | CT | ROAD | RD | |
| CRESCENT | CRES | SQUARE | SQ | |
| DRIVE | DR | STREET | ST | |
| EXPRESSWAY | EXPY | TERRACE | TER | |
| HEIGHTS | HTS | TRAIL | TRL | |
| HIGHWAY | HWY | TURNPIKE | TPKE | |
| JUNCTION | JCT | WAY | WAY |
The list also maps the variants: AV, AVEN, AVENU, AVN and AVNUE all standardise to AVE. A parser that only recognises the primary form will fail on real input, so match against the full variation table, not the output column.
Secondary unit designators
Appendix C2 covers these. APT, STE, UNIT, RM, FL, BLDG, DEPT, SPC, TRLR, LOT.
The # trap. Publication 28 is specific: when the unit type is unknown, use # followed by a space before the number — # 400, not #400. And # is only a fallback. If the customer wrote "Apt 4B", standardise to APT 4B and do not reduce it to # 4B; the designator carries information the hash does not.
Three practical failures around the hash:
#concatenated with the number (#400) is a frequent cause of a failed match, because the parser reads it as one token.- A
#in the middle of a street name —1244 # 3 MAPLE AVE— is almost always a misplaced unit that belongs at the end. - Forms that strip
#entirely as "special character sanitisation" delete the only unit information the customer gave.
Directionals
A directional is N S E W NE NW SE SW, always abbreviated, and its position matters because it changes which street you mean:
1244 N MAPLE AVE — pre-directional: North Maple Avenue
1244 MAPLE AVE N — post-directional: Maple Avenue North
1244 N MAPLE AVE SW — both, and both are kept
In a grid city these are different addresses, sometimes miles apart. Never drop a directional to make a match succeed, and never move one from pre to post position.
The ambiguous case: a street genuinely named for a direction, as in 100 NORTH ST. Here NORTH is the street name, not a directional, and abbreviating it to 100 N ST changes the address. Publication 28's rule is that a directional word is spelled out when it is part of the street name. You cannot resolve this from the string alone — it needs the address database — which is a good illustration of why standardisation is a lookup, not a transformation.
Uppercase, no punctuation, and why
Publication 28 asks for all capitals, no punctuation, and a single space between elements.
The reason is mechanical. USPS equipment reads addresses with optical character recognition at high speed. A uniform character set with no punctuation gives the recognisers far fewer shapes to distinguish and no ambiguous marks — a period and a speck of dirt look similar at that resolution, and a comma can be read as part of a digit. Removing punctuation also removes a whole class of parse ambiguity: ST. could be STREET or SAINT, and ST in the suffix position is unambiguous.
Two carve-outs worth knowing: the hyphen in a ZIP+4 is kept, and a hyphen inside a hyphenated street name or a hyphenated unit number is kept. Everything else goes.
Mail is not rejected for mixed case — the convention optimises machine reading, it does not gate acceptance. But if you are generating labels or storing a canonical form, following it costs nothing and removes variation you would otherwise have to normalise later.
A PO Box and a street address in one record
This is the case that breaks schemas. A recipient can have both — a street address for couriers who will not deliver to a box, and a PO Box for mail.
Publication 28's rule is that the delivery address line holds exactly one deliverable address. If both are present, the Postal Service delivers to the one on the delivery address line and treats the other as informational. So the box goes on the delivery line and the street address on the line above it:
ACME LOGISTICS INC
1244 N MAPLE AVE STE 400
PO BOX 9821
LOS ANGELES CA 90012-9821
That delivers to the box. Reverse the two lines and it delivers to the street.
Note the ZIP: a PO Box usually has a different ZIP+4 from the street address at the same location, because the box section is its own delivery unit. Carrying one ZIP for both is a common data bug.
Two design consequences:
- Store
delivery_line_1anddelivery_line_2as separate fields and let the caller decide which is the deliverable one, rather than oneaddress_2field whose meaning depends on what happens to be in it. - If your system ships physical goods, store the street address separately and flag it, because a PO Box cannot accept a courier delivery and a checkout that accepts one for a furniture order has created a support ticket.
Two rules that are not in most implementations
The 64-character delivery line. Automated USPS processing reads a delivery address line up to 64 characters. Past that, the line is not reliably parsed. This is the *only* reason to move a secondary unit to its own line above the street:
Too long for one line (71 characters):
1244 NORTHWEST MAPLE GROVE EXTENSION BOULEVARD APARTMENT 1408
Split, unit above the street:
APT 1408
1244 NW MAPLE GROVE EXT BLVD
Abbreviate first — that usually fixes it — and split only if it still does not fit.
Puerto Rico urbanisation. Addresses in Puerto Rico may carry an urbanisation name, which identifies a development and is required to disambiguate: the same street name recurs across urbanisations in one municipality. It is abbreviated URB and goes on its own line above the delivery address:
SR JUAN PEREZ
URB LAS GLADIOLAS
150 CALLE A APT 3
SAN JUAN PR 00926-3232
A form with no line for this, or one that rejects PR as a state, cannot take a correct Puerto Rico address — and Puerto Rico is domestic mail at domestic rates.
What to implement
- Normalise to uppercase, strip punctuation except ZIP+4 and in-name hyphens, collapse whitespace.
- Map suffixes and directionals through the full Appendix C variation tables, not the primary forms alone.
- Keep the unit on the delivery address line; only break it out when the line exceeds 64 characters.
- Never silently drop a directional, a unit designator or a
#. - Treat "is this address real" as a separate question from "is this address well formed". Formatting is a transformation you can do locally; verification needs USPS data.
The USPS street suffix abbreviations reference has the full Appendix C1 suffix table with the variations, plus the secondary unit designators.