How Safari AutoFill Populates Addresses Using Your My Card
This article explains the mechanics behind Safari's Contact AutoFill feature and how it utilizes the designated "My Card" in Apple's Contacts app to automatically populate shipping and billing address fields on the web. It covers the system-level integration between Safari and the Contacts app, how the browser identifies and maps specific webpage form fields, the process of selecting between multiple stored addresses, and how to configure your settings for accurate form completion.
The Integration Between Safari and Contacts
Safari does not maintain its own independent database for your personal contact information. Instead, it relies on a system-level integration with Apple’s native Contacts app on macOS, iOS, and iPadOS.
To know which contact information belongs to you—rather than a friend or business associate—Safari looks exclusively at the contact card designated as "My Card." When Contact AutoFill is enabled in Safari's settings, the browser is granted permission to read the data fields stored within this specific card, including your name, email address, phone number, and physical addresses.
How Safari Identifies Web Form Fields
When you load a checkout page on an e-commerce website, Safari’s underlying engine, WebKit, scans the webpage's HTML code to detect form inputs. To successfully populate shipping and billing addresses, Safari matches the website's code to the data labels on your My Card through two primary methods:
- HTML Autocomplete Attributes: Modern websites use
standardized HTML
autocompletetags defined by the World Wide Web Consortium (W3C). Websites explicitly tag fields with attributes likeshipping street-address,billing postal-code, oraddress-level2(for cities). Safari reads these exact tags and maps them directly to the Street, ZIP/Postal Code, and City fields on your My Card. - Heuristic Analysis: If a website does not use
standard autocomplete tags, Safari uses heuristics to guess what the
field requires. It analyzes the visible text labels next to the text
boxes, as well as hidden HTML attributes like
name,id, andplaceholder. If Safari detects words like "Shipping," "Billing," "Zip," or "State," it pairs those inputs with the corresponding data segments in your Contacts app.
Populating Shipping vs. Billing Addresses
Websites often separate shipping and billing addresses into two distinct sections or pages. Safari handles this by grouping contiguous address fields together.
When you click or tap into the first field of a shipping address section (such as "Street Address"), Safari recognizes the surrounding fields as a single address block. It then prompts you with an AutoFill suggestion. Once you confirm the prompt, Safari simultaneously injects the street, city, state, postal code, and country data from your My Card into all the connected fields in that specific block.
If you uncheck a website's "Billing address is the same as shipping" box, a new set of empty fields appears. Clicking into this new billing section triggers Safari to repeat the mapping process for the new block of fields.
Managing Multiple Addresses on Your My Card
Many users have different addresses for shipping and billing, such as a home address for credit card billing and a work address for package delivery. Safari accommodates this by reading the labels attached to the addresses on your My Card.
In the Contacts app, you can store multiple addresses under a single My Card and assign them labels like "home," "work," or a custom label like "shipping." When you trigger AutoFill on a webpage, Safari displays a dropdown menu (on Mac) or options above the keyboard (on iPhone and iPad) listing all the addresses found on your My Card. You can then select the "work" address for the shipping section, and subsequently select the "home" address when filling out the billing section.
Configuring Contact AutoFill
For this process to work correctly, three conditions must be met on your device:
- Set Your My Card: Open the Contacts app, select your personal contact card, and assign it as your My Card. On a Mac, click Card in the menu bar and select Make This My Card. On an iPhone or iPad, go to Settings > Contacts > My Info and select your card.
- Format Addresses Correctly: Ensure your street, city, state, and postal code are entered into their dedicated sub-fields within the Contacts app, rather than typed all together on a single line.
- Enable Safari AutoFill: On a Mac, open Safari, go to Settings (or Preferences) > AutoFill, and check the box for Using information from my contacts. On an iPhone or iPad, go to Settings > Safari > AutoFill and toggle on Use Contact Info.
For privacy and security, Safari does not automatically hand over your My Card data to a website upon loading the page. The data remains stored locally on your device and is only injected into the shipping and billing text fields after you explicitly click or tap the AutoFill confirmation prompt.