A Chinese address written in Chinese runs from the broad area toward the recipient: province or municipality, city and district, street and building details, then the person. The Universal Postal Union describes the opposite progression for an address written in the Roman alphabet, with the recipient first and the larger destination last. Mainland postcodes have six digits. The example below demonstrates a romanized layout with invented delivery details; it is not an address to send mail to. Hong Kong follows a different postal arrangement and has a separate generator configuration without a postcode.
For a form test, keep address lines as text rather than trying to recover administrative boundaries by splitting on spaces. A Chinese-script value may have none of the separators an English street parser expects. Store postcode strings without numeric conversion, and retain the original name alongside any optional romanization. Test a plain street address, a building with a room number, and a longer district line separately. If your checkout requires a state dropdown, make its options specific to China rather than reusing the US states from the American generator.
The generator on this page uses the zh_CN name and location pools. Unlike our geographically pinned countries, China currently has no curated city-and-postcode table in the engine. Its city, province and postcode are selected independently, so they need not describe one real location. The profile card also uses a shared display layout rather than producing a Chinese postal label. This makes the output useful for Unicode rendering, field lengths, copy and JSON round trips; it does not make it suitable as an expected-success case for a geocoder or a delivery-address validator.
Name handling deserves its own test. The engine exports first and last name separately, while the shared full-name display places the given name before the surname. A product that needs a Chinese family-name-first display should compose those fields explicitly, preserve the original characters, and check its own localization requirements. Do not infer which field is the surname by taking the first word of the display string. Our methodology distinguishes data drawn from locale pools from fields that are geographically checked, so you can select fixtures for the behavior you are actually exercising.