In short. Use DefinedRegion.postalCodeRange with a PostalCodeRangeSpecification object containing postalCodeBegin and postalCodeEnd.
Definition: Schema.org's
DefinedRegionrepresents a geographic area defined by potentially arbitrary criteria. ItspostalCodeRangeproperty links that region to aPostalCodeRangeSpecification, whose beginning and ending postal codes describe an inclusive range.
Key facts
- Schema.org describes
DefinedRegionas a geographic area that can be defined by criteria other than political, administrative or natural geography, including sets of postal codes. Schema.org'sDefinedRegiondefinition gives delivery destinations and regional pricing as examples. postalCodeRangehasPostalCodeRangeSpecificationas its expected type and is used onDefinedRegion. The property definition states that it is a defined range of postal codes.- A
PostalCodeRangeSpecificationusually represents the valid codes betweenpostalCodeBeginandpostalCodeEnd, inclusively. Schema.org's type definition says both endpoint properties are included. postalCodeBeginandpostalCodeEndareTextproperties. The ending code needs to be after the beginning code, according to the same type definition.- Google Search Central's merchant listing documentation uses
DefinedRegionforshippingDestination, requires a two-letteraddressCountry, and documentspostalCodesupport for Australia, Canada and the US.
What does DefinedRegion describe?
Schema.org defines DefinedRegion as a geographic area defined by potentially arbitrary criteria rather than political, administrative or natural geography. The type can describe a delivery destination or a region used for regional pricing. Its location fields include addressCountry, addressRegion, postalCode, postalCodePrefix and postalCodeRange.
The range property is different from a single postalCode value. A single code is a Text value, while postalCodeRange takes a PostalCodeRangeSpecification. For postal systems that use a common textual prefix instead of a numeric interval, Schema.org describes postalCodePrefix as the alternative and gives the United Kingdom as an example.
How do postalCodeRange and its specification work?
Put the range in a nested object. Schema.org's DefinedRegion example uses PostalCodeRangeSpecification with postalCodeBegin set to 90001 and postalCodeEnd set to 96162.
{
"@context": "https://schema.org",
"@type": "DefinedRegion",
"addressCountry": "US",
"addressRegion": "CA",
"postalCodeRange": {
"@type": "PostalCodeRangeSpecification",
"postalCodeBegin": "90001",
"postalCodeEnd": "96162"
}
}
The range type documentation defines the interval as the set of valid codes between the two endpoints, inclusively. It lists both endpoints as Text, describes the beginning code as included, and requires the ending code to be after the beginning code. The example therefore uses quoted values inside the JSON-LD object.
What does Google document for shipping markup?
Google's merchant listing documentation, last updated 8 September 2026, places DefinedRegion under shippingDestination in OfferShippingDetails. It describes DefinedRegion as a way to create custom areas for shipping costs and transit times across multiple shipping services. The page requires addressCountry in two-letter ISO 3166-1 alpha-2 format.
For the delivery area, Google's table says to choose either addressRegion or postalCode. It lists postalCode as supported for Australia, Canada and the US, with 94043 as its example. The table is a Google Search feature specification, so it should be read separately from Schema.org's vocabulary definition of postalCodeRange; the page opened for this entry documents postalCode, rather than a Google eligibility rule for postalCodeRange.
Related terms
- Structured data
- JSON-LD
- PostalAddress structured data
- OfferShippingDetails structured data
- Product structured data
FAQ
Can postalCodeRange be a plain string?
Schema.org defines postalCodeRange with PostalCodeRangeSpecification as its expected type. Use an object with postalCodeBegin and postalCodeEnd properties.
Are postalCodeBegin and postalCodeEnd numbers?
Schema.org lists both properties as Text. Its JSON-LD example therefore represents 90001 and 96162 as quoted values.
Does this range by itself qualify a page for a Google Search feature?
The Google documentation opened here describes postalCode in its supported DefinedRegion table and does not state that postalCodeRange alone makes shipping markup eligible. Keep the Schema.org description separate from Google's feature requirements.
Sources
- Schema.org, "DefinedRegion", 16 September 2026
- Schema.org, "PostalCodeRangeSpecification", 16 September 2026
- Schema.org, "postalCodeRange", 16 September 2026
- Google Search Central, "How To Add Merchant Listing Structured Data", 8 September 2026
Check how a page reads to answer engines. Open the GEO score analyzer