
Removing checkout fields in WooCommerce is one of the fastest ways to simplify your store's checkout and reduce cart abandonment.
Every unnecessary field you ask customers to fill out adds friction to the buying process and gives them another reason to leave.
The problem is that WooCommerce has a fixed set of default billing and shipping fields, and the built-in options for hiding or disabling them are limited.
The WooCommerce customizer only allows you to hide fields such as company name, address line 2, and phone number. If you want to remove additional fields like order notes, state, or postcode, you need a different approach.
In this guide, we will show you how to remove checkout fields in WooCommerce using a WordPress plugin without any code.
We will also cover a custom PHP method for developers who prefer to unset checkout fields programmatically and share best practices for deciding which fields to keep and which ones to eliminate.
Table of Contents
- 1 Which WooCommerce Checkout Fields Can You Remove?
- 2 How to Remove WooCommerce Checkout Fields Without Code
- 2.1 Option A: Use the WooCommerce Theme Customizer (Limited)
- 2.2 Option B: Use WooCommerce Checkout Customizer Plugin (Full Control)
- 2.3 Step 1: Create a store checkout page
- 2.4 Step 2: Open the checkout field editor
- 2.5 Step 3: Remove the unnecessary fields from the checkout page
- 2.6 Step 4: Customize the remaining checkout fields
- 2.7 Step 5: Activate and test your store checkout
- 3 How to Remove WooCommerce Checkout Fields With Custom Code
- 4 7 Best Practices to Simplify Your WooCommerce Checkout Form
- 5 Frequently Asked Questions About Removing Checkout Fields in WooCommerce
- 6 Stop Losing Sales to Unnecessary WooCommerce Checkout Fields!
Which WooCommerce Checkout Fields Can You Remove?
Before jumping into the methods, let's understand exactly which fields WooCommerce allows you to remove and which ones you should keep.
Here is a breakdown of every default checkout field, its field key, and our recommendation for when to remove it:
Billing Fields:
| Field | Field Key | Should You Remove? |
|---|---|---|
| First Name | billing_first_name | No. It's required for order processing |
| Last Name | billing_last_name | No, required for order processing |
| Company Name | billing_company | Yes, safe to remove for online B2C stores |
| Country | billing_country | Only for domestic-only stores |
| Street Address | billing_address_1 | Only for digital product stores |
| Address Line 2 | billing_address_2 | Yes, safe to remove |
| City | billing_city | Only for digital product stores |
| State / County | billing_state | Only for digital product stores |
| Postcode / ZIP | billing_postcode | Only for digital product stores (required by some payment gateways) |
| Phone | billing_phone | Yes, safe to remove unless the field is required for shipping notifications |
| billing_email | No, required for order confirmation |
Shipping Fields:
| Field | Field Key | Should You Remove? |
|---|---|---|
| Shipping Company | shipping_company | Yes, safe to remove |
| Shipping Address 2 | shipping_address_2 | Yes, safe to remove |
Additional Fields:
| Field | Field Key | Should You Remove? |
|---|---|---|
| Order Notes | order_comments | Yes, safe to remove |
If you sell only digital or virtual products, asking for a shipping address or company name doesn’t make sense.
Keep in mind that some payment gateways require specific fields, such as a postcode or country, for fraud verification.
We recommend that you always test your checkout with your payment gateway after making changes to ensure transactions still process correctly.
How to Remove WooCommerce Checkout Fields Without Code
There are two no-code approaches to removing checkout fields from your WooCommerce store.
The first uses the built-in WooCommerce Customizer, which is limited but requires no plugin. The second uses a plugin for full checkout field management.
Option A: Use the WooCommerce Theme Customizer (Limited)
WooCommerce includes a built-in option to hide three specific checkout fields without any code or plugins. Navigate to Appearance > Customize > WooCommerce > Checkout in your WordPress dashboard.

You will see dropdown options for Company name, Address line 2, and Phone. Set each one to 'Hidden' and click Publish.

This method is quick, but it only works for those three fields.
You cannot use it to disable or remove other fields, such as order notes, state, city, or postcode. If you need to remove any fields beyond those three, use a plugin or custom code.
Option B: Use WooCommerce Checkout Customizer Plugin (Full Control)
To remove checkout fields in WooCommerce without writing any code, we will use FunnelKit Funnel Builder.
FunnelKit replaces the default WooCommerce checkout with a fully customizable checkout page where you can add, remove, rearrange, and edit any field using a visual drag-and-drop editor.
It offers a free version that includes checkout page templates and field editing.
The Pro plan starts at $99.50/year and includes advanced features such as multi-step checkout layouts, Google address autocomplete, express checkout buttons, and more.
Follow the step-by-step instructions below to remove checkout fields using FunnelKit Funnel Builder.
Step 1: Create a store checkout page
First, create a store checkout page.
To do so, navigate to FunnelKit > Store Checkout and click on the 'Create Store Checkout' button.

In the next step, choose your page builder and the template for your checkout page.
We’re selecting the “LiveWire” template and editing it with Elementor.

Check the template layout, such as the number of steps you want on your checkout page and the design of the other pages.
After checking, click on the 'Import This Template' button.

Provide the store checkout template name, then click the 'Done' button.

Step 2: Open the checkout field editor
Click on the checkout page to start customizing it.

Scroll down the Checkout Form Fields.
Choose which fields you want to add or remove from your WooCommerce checkout form.

Step 3: Remove the unnecessary fields from the checkout page
From here, you can remove any fields you want. Clicking the cross icon removes a field from the checkout form.
Suppose you sell digital products such as courses and subscriptions, and you want to remove the shipping address field from your checkout form.
To do so, just click on the cross icon.

You can see that the shipping address field is removed from our checkout form.

To go one step further, you can remove additional checkout fields if you don’t want them included in the billing address.
To do that, click the billing address, then toggle any fields on or off using the eye icon.
Hit 'Update' once you’re done.

Step 4: Customize the remaining checkout fields
Now, click on the Edit Template button to customize the checkout page.

On the Elementor panel, you’ll get editing options for each section.
It means you can only adjust the field size from complete to half or one-half.

Make sure to save the changes to update your checkout page.
Step 5: Activate and test your store checkout
Activate your store checkout by clicking on the 'Enable Store Checkout' button.

To test, go to any product page, add the item to your cart, proceed to checkout, and place a test order.
Verify that the removed fields no longer appear and that the checkout flow works smoothly from start to finish.

Test on both the desktop and mobile devices. On mobile, confirm that the checkout form fits well on smaller screens and that customers can complete the entire form without excessive scrolling.
So this is how you can streamline your checkout process and layout with FunnelKit Funnel Builder with the checkout fields you need.
How to Remove WooCommerce Checkout Fields With Custom Code
If you prefer to remove checkout fields programmatically, you can use the WooCommerce woocommerce_checkout_fields filter hook.
This is the standard WooCommerce method documented in the official WooCommerce developer documentation. It works by unsetting specific fields from the checkout form array before WooCommerce renders the page.
Add the following code to your child theme’s functions.php file or use a code snippets plugin like WPCode.
Always use a child theme or a code snippets plugin when adding custom PHP. Editing the parent theme’s functions.php directly means your changes will be overwritten when the theme updates.
Back up your site before making changes. You can also find additional WooCommerce checkout field snippets shared by the community on GitHub.
Step 1: Navigate to the theme editor
Go to your WordPress dashboard, then navigate to Appearance ⇨ Theme Editor.
In the list of theme files, find and open functions.php.

Step 2: Add the following code
To remove specific fields, add the following code snippet to functions.php:
This code removes the "Company," "Phone," and "Postcode" from both the billing and shipping sections and the order notes field.
You can customize this snippet by adding or removing unset() lines for any field you want to hide.
Here are the most commonly removed WooCommerce checkout fields:
| Field | Key |
|---|---|
| Company Name | billing_company |
| Address Line 2 | billing_address_2 |
| Phone Number | billing_phone |
| State / County | billing_state |
| Postcode / ZIP | billing_postcode |
| Order Notes | order_comments |
To remove only the order notes field, you can also use this one-line filter:
After adding the code, save your functions.php file. Then, visit your checkout page to confirm that the fields have been removed.
Limitations of the code method
Custom PHP snippets work well with the classic WooCommerce checkout (shortcode-based).
However, if your store uses the newer WooCommerce Checkout Block, PHP filters such as woocommerce_checkout_fields may not work as expected.
The block-based checkout has its own system for managing checkout field configuration.
If your code snippet does not seem to take effect, check whether your checkout page uses the shortcode [woocommerce_checkout] or the Checkout Block.
Many users have reported that switching to the shortcode-based checkout resolved this exact issue.
7 Best Practices to Simplify Your WooCommerce Checkout Form
When it comes to conversions, there’s no doubt that checkout is the most critical part of the customer journey.
If you overload your customers with too many steps or unnecessary fields, it can hurt the overall experience, damage your brand’s reputation, and lead to fewer completed checkouts.
But at the same time, you still need vital information to deliver orders smoothly and run post-purchase marketing campaigns.
The question is how to proceed with caution. The key is to strike the right balance by only showing the necessary checkout fields. Keep it simple and focused!
Let’s see how to do that.
1. Only ask for information you will actually use
Before removing or keeping any field, ask yourself whether you need that data to process the order, fulfill shipping, or communicate with the customer.
If a checkout field does not serve a clear purpose, remove it. For example, most B2C stores do not need a company name field.
2. Use optional fields clearly
According to Baymard Institute, only 14% of ecommerce websites explicitly mark both required and optional fields.
When optional fields are unlabeled, customers often assume they are required, which ultimately slows the checkout process.
If a field is truly optional, either label it clearly or remove it altogether to reduce perceived effort.
3. Place the email field at the top of the form
Collecting the email address enables cart recovery workflows. So your number 1 priority should be to place the email field at the top of your checkout form.
If a customer abandons the checkout after entering their email, you can send a follow-up email to bring them back and directly recover lost sales.
4. Test your checkout after every change
Once you remove any unnecessary fields, you should thoroughly test the checkout process to ensure it works and doesn't show any errors.
When mobile checkout has consistently higher abandonment rates than desktop checkout, it's crucial to ensure everything works smoothly on mobile as well.
After removing fields, verify that the form layout looks clean on smaller screens, fields are easy to tap, and the overall flow requires minimal scrolling.
5. Use address autocomplete to reduce the number of visible fields
Instead of removing address fields entirely, consider enabling Google address autocomplete on your checkout page.
This allows shoppers to type a few characters and select their full address from a dropdown, which automatically fills in the city, state, postcode, and country.
Auto-fill address certainly reduces effort with accurate shipping data capture.
6. Use custom fields only if they genuinely add value
Add custom fields only when they enhance the checkout experience or are essential for order fulfillment.
For example, special delivery instructions could be helpful, but unnecessary questions can slow down the process.
Stick to the checkout fields that serve a clear purpose and avoid adding extra steps.
7. Regularly review and update the checkout fields based on user feedback
Customer feedback is invaluable for fine-tuning your checkout process.
For example, if customers frequently abandon the checkout after reaching optional fields like "Company Name" or "Address Line 2", consider removing or hiding these fields to keep things simple.
Reviewing user interactions helps you identify which fields may be unnecessary, allowing you to adjust and streamline the form to create a smoother experience.
Test the entire checkout flow with both valid and invalid input to catch any issues.
Frequently Asked Questions About Removing Checkout Fields in WooCommerce
You should remove unnecessary checkout fields from your WooCommerce store to simplify the checkout process, which leads to higher conversion rates and a better shopping experience. Here's how:
- Boost conversions: A clutter-free checkout reduces distractions and makes it easier for customers to complete their purchase.
- Speed up checkout: Fewer fields mean a faster checkout process, which helps reduce drop-offs.
- Tailor fields to product type: If you're selling digital products, fields like shipping address or company name are often unnecessary.
- Lower cart abandonment: A complex checkout is one of the top reasons users abandon carts. A simplified form helps prevent this.
- Improve the customer experience: A clean, intuitive checkout flow keeps customers happy and encourages repeat purchases.
This is one of the most common frustrations reported by WooCommerce users on Reddit and forums. The most likely cause is that your checkout page uses the WooCommerce Checkout Block instead of the classic shortcode. PHP filters such as woocommerce_checkout_fields only work with the shortcode-based checkout ([woocommerce_checkout]).
Try creating a new page, adding the [woocommerce_checkout] shortcode, and setting it as your checkout page under WooCommerce settings.
Another common cause is a theme or plugin conflict that overrides your filter. Temporarily switch to a default theme, such as Storefront, and disable other plugins to isolate the issue.
Never remove fields that are required for payment processing or order fulfillment.
Email is essential for sending order confirmations. First name and last name are needed for the billing address. If you ship physical products, you need at a minimum the street address, city, country, and postcode.
Removing these will cause payment gateway errors or failed deliveries.
You can use display: none; in your CSS to visually hide your checkout fields, but we do not recommend this approach.
Hidden fields still load in the HTML, so they can still trigger validation errors if required. Additionally, they also remain visible in the page source code.
Using PHP or a plugin to remove fields from the WooCommerce checkout is a cleaner, more reliable solution.
Yes, you can add custom fields to the WooCommerce checkout programmatically using the same woocommerce_checkout_fields filter.
Add new fields to the $fields array with properties like type, label, placeholder, required, and priority.
Plugins like FunnelKit and Flexible Checkout Fields make this easier with visual editors that support 13 or more custom field types, including text, dropdown, radio, checkbox, date picker, and multi-select.
If you need to undo your changes, simply remove the code snippet from your functions.php file or deactivate it in your code snippets plugin.
WooCommerce will then automatically restore the default checkout fields on the next page load. This is one of the benefits of using filter hooks rather than editing WooCommerce core files directly.
Yes, if you are using a plugin like FunnelKit that integrates with Elementor, Divi, Bricks, and Gutenberg. Its built-in checkout field editor works independently of the page builder, so you can design your checkout with Elementor and still manage fields through FunnelKit’s drag-and-drop interface.
If you are using PHP code snippets, they work with any page builder.
Stop Losing Sales to Unnecessary WooCommerce Checkout Fields!
We covered three ways to remove checkout fields in WooCommerce: the built-in Customizer for hiding limited fields, FunnelKit Funnel Builder for full visual checkout field management without code, and custom PHP snippets using the woocommerce_checkout_fields filter for developers.
We also shared best practices for optimizing your WooCommerce checkout process.
For most store owners, we recommend FunnelKit because it offers a visual field editor and a full suite of checkout-optimization features.
You get access to high-converting templates, express checkout, Google address autocomplete, and A/B testing, all without touching code.
So why wait? Start streamlining your WooCommerce checkout today for a smoother, more profitable customer journey.

Editorial Team
February 16, 2026Using a checkout coupon can be a smarter way to boost sales than offering direct product discounts. Coupons give you full control over your discount strategy, letting you run targeted...

Editorial Team
February 4, 2026Adding a checkbox to the WooCommerce checkout is one of the easiest ways to collect information from customers, without asking them to do much extra. Think about it. The customer...

Editorial Team
February 3, 2026Ever wondered why some physical product stores easily turn visitors into customers while others struggle? Your product’s solid, and your marketing’s sharp, but conversions stay low. Why? Because typical website...






