You can disable autocomplete on WooCommerce checkout fields by setting a field’s autocomplete argument to false inside the woocommerce_checkout_fields filter — stopping browsers from suggesting previously saved values for that specific input.
Why Disable Autocomplete on Specific Fields
- You want to force a fresh entry rather than a browser-suggested value, especially for fields with custom validation or formatting requirements
- Autofilled phone numbers or addresses sometimes don’t match the exact pattern your checkout logic expects
- Privacy-conscious setups (like shared/kiosk devices) may want to avoid surfacing previously saved personal data
Step 1: Disable Autocomplete on a Field
/** Disable browser autocomplete on the billing phone field at checkout */
add_filter( 'woocommerce_checkout_fields', 'disable_autocomplete_billing_phone' );
function disable_autocomplete_billing_phone( $fields ) {
$fields['billing']['billing_phone']['autocomplete'] = false;
return $fields;
}Disabling It on Multiple Fields
add_filter( 'woocommerce_checkout_fields', 'disable_autocomplete_multiple_fields' );
function disable_autocomplete_multiple_fields( $fields ) {
$fields['billing']['billing_phone']['autocomplete'] = false;
$fields['billing']['billing_email']['autocomplete'] = false;
$fields['shipping']['shipping_address_1']['autocomplete'] = false;
return $fields;
}This works with any registered billing, shipping, account, or order field ID, including custom fields added by other plugins or snippets.
Troubleshooting
The Field Still Autofills
Some browsers ignore autocomplete="off" for certain field types (particularly password and some address fields) as a deliberate security/UX decision on the browser’s part — this is a known browser-level limitation, not something a website can always override.
You Need This for Every Field Store-Wide
Loop through all default field groups (billing, shipping, account, order) programmatically instead of listing each field individually, if you want a blanket store-wide change.
Frequently Asked Questions
Does this affect saved payment methods too?
No, payment fields are typically handled by the payment gateway’s own iframe or script, outside WooCommerce’s checkout fields array.
Will this hurt the checkout experience?
It can add minor friction since customers re-type data manually — use it selectively on fields where custom validation genuinely requires it, not across the entire form by default.
Does this work on the new block-based checkout?
This filter targets the classic checkout fields array; the block-based checkout renders fields differently and may need a separate, block-specific approach.
Conclusion
Disabling autocomplete on WooCommerce checkout fields is a one-line filter per field. It’s most useful when a specific field needs strict manual entry to satisfy custom validation, rather than as a blanket change across the whole form.
See also How to Disable the Postcode Field on the WooCommerce Checkout Page.
Prefer no code? All-in-One Utilities Woo Add-on handles this kind of change from a settings screen. Its Checkout fields guide also shows how.