Unnecessary checkout fields are one of the most common reasons customers abandon WooCommerce stores before completing a purchase. Fields like “Company Name,” “Address Line 2,” and “Order Notes” add friction without adding value for most businesses.
One of my clients saw a 20% increase in completed checkouts after we removed just three unnecessary fields. This article covers both ways to do it — using a plugin (no code needed) and using a custom code snippet.
Why Remove Unnecessary Checkout Fields?
- Fewer fields = faster checkout = more completed orders
- Reduces cognitive load and decision fatigue for buyers
- Improves mobile checkout experience significantly
- Pages load faster with less form rendering
Step 0: Backup Your Site First
Before making any changes to checkout, back up your site using UpdraftPlus or your hosting’s built-in backup tool. This protects you if anything goes wrong during the edit.
Method 1: Remove WooCommerce Checkout Fields With a Plugin (No Code)
The easiest method uses the Checkout Field Editor for WooCommerce plugin (by ThemeHigh — free version available).
- Go to Plugins → Add New and search for Checkout Field Editor for WooCommerce
- Install and activate it
- Go to WooCommerce → Checkout Form
- You’ll see all existing checkout fields listed
- Click the eye icon next to any field to disable it (it won’t be deleted, just hidden from checkout)
- Click Save Changes
Fields you can safely remove for most stores: Company Name, Address Line 2, Order Notes, and Phone (if not needed for delivery).
Method 2: Remove WooCommerce Checkout Fields With Code
If you prefer not to use a plugin, add this snippet to your theme’s functions.php file (or use a plugin like WPCode to add it safely):
add_filter('woocommerce_checkout_fields', 'remove_unwanted_checkout_fields');
function remove_unwanted_checkout_fields($fields) {
// Remove Company Name
unset($fields['billing']['billing_company']);
// Remove Address Line 2
unset($fields['billing']['billing_address_2']);
// Remove Order Notes
unset($fields['order']['order_comments']);
return $fields;
}
Add or remove lines depending on which fields you want to hide. The field keys follow the pattern: billing_[fieldname] for billing fields and shipping_[fieldname] for shipping fields.
Common WooCommerce Checkout Field Keys Reference
| Field Label | Field Key to Remove |
|---|---|
| Company Name | billing_company |
| Address Line 2 | billing_address_2 |
| Order Notes | order_comments |
| Phone Number | billing_phone |
| Country | billing_country |
| State/County | billing_state |
Plugin vs Code: Which Method Should You Use?
| Plugin Method | Code Method | |
|---|---|---|
| Technical skill needed | None | Basic PHP |
| Reversible easily | ✅ Yes | 🟡 Manual |
| Works with theme updates | ✅ Yes | 🟡 If using child theme |
| Extra plugin weight | 🟡 Small | ✅ None |
| Best for | Beginners, clients | Developers |
Frequently Asked Questions
Will removing checkout fields break WooCommerce?
No — as long as you don’t remove required fields like First Name, Last Name, Email, and Billing Address. Always test your checkout after making changes.
Can I make fields optional instead of removing them?
Yes — using the Checkout Field Editor plugin, you can mark any field as optional rather than hiding it entirely. This is a good middle-ground for fields like Phone Number.
Does removing checkout fields affect order data?
Only the data that was collected from those fields. Hidden fields simply won’t collect data going forward — existing orders are unaffected.