---
title: How to Charge Shipping by Weight in WooCommerce
description: "Charge WooCommerce shipping by cart weight: set product weights, add Weight-Based Shipping to a zone, and enter weight tiers with a cost each."
url: "https://wpfactory.com/docs/woocommerce-charge-shipping-by-weight/"
updated: "2026-10-05"
category: How to
---

# How to Charge Shipping by Weight in WooCommerce

To charge shipping by weight in WooCommerce, install [Weight-Based Shipping for WooCommerce](https://wpfactory.com/item/weight-based-shipping-for-woocommerce/), go to **WPFactory > Weight-Based Shipping** (also reachable at **WooCommerce > Settings > Shipping**), open a shipping zone and add the **Weight-Based Shipping** method. Then enter weight tiers, each with a shipping cost, and save.

## Charge shipping by cart weight

Weight-Based Shipping adds up the weight of every product in the package (product weight multiplied by quantity), finds the weight tier that total falls into, and quotes that tier's cost at checkout. Every feature used in this guide is included in the plugin; there is no Pro-only step.

![Weight-Based Shipping settings modal inside a shipping zone, with a custom tier table filled in](https://wpfactory.com/wp-content/uploads/woocommerce-charge-shipping-by-weight-1.png)

### Before you start

- WooCommerce, active.
- [Weight-Based Shipping for WooCommerce](https://wpfactory.com/item/weight-based-shipping-for-woocommerce/), installed and active. See [install Weight-Based Shipping and add it to a zone](https://wpfactory.com/docs/install-weight-based-shipping/).
- At least one shipping zone that covers the addresses you ship to.

## Step 1: Check your store's weight unit

Weight-Based Shipping reads every weight in your store's unit and never converts it. Check it at **WooCommerce > Settings > Products > General > Weight unit** (kg, g, lbs or oz) before you type any tier values. The tier table headings show the unit you are using.

## Step 2: Give your products a weight

1. Edit each shippable product and open the **Shipping** tab in the Product data box.
2. Fill in **Weight** and update the product.
3. For variable products, you can set the weight on each variation. A variation with no weight uses its parent product's weight.

A product with no weight adds nothing to the total, and no warning is shown, so fill in every product that ships.

## Step 3: Add the method to a zone

1. Go to **WPFactory > Weight-Based Shipping** (also reachable at **WooCommerce > Settings > Shipping**).
2. Open the zone you want, or add a new one and set its regions.
3. Click **Add shipping method**, choose **Weight-Based Shipping** and confirm.
4. Click to edit the new method to open its settings.

## Step 4: Enter your weight tiers

1. Set **Method Title** to what customers should see, for example *Standard Shipping*. The default is *Weight-Based Shipping*.
2. In **Weight Tiers**, replace the three default rows with your own. For each row, enter **Min Weight**, **Max Weight** and **Shipping Cost**.
3. Click **Add Tier** for more rows and **Remove** to delete one.
4. Leave the last row's **Max Weight** blank so it covers every heavier cart.
5. Save the method.

Each tier covers weights from its minimum (included) up to its maximum (not included). Make each row's maximum equal to the next row's minimum, for example 0 to 2, 2 to 5, 5 to 10, and 10 with no maximum.

| Min Weight | Max Weight | Shipping Cost |
| --- | --- | --- |
| 0 | 2 | 5.00 |
| 2 | 5 | 8.00 |
| 5 | 10 | 13.00 |
| 10 | *(blank)* | 25.00 |

With this table, a 4 kg cart pays 8.00, a cart of exactly 5 kg pays 13.00, and a 40 kg cart pays 25.00.

**Note:** the three default tiers (0 to 5 at 10, 5 to 10 at 15, 10 and up at 25) are real values. If you add the method and never change them, customers are charged those amounts.

## Step 5: Test at checkout

1. Add a product with a known weight to the cart.
2. Enter a shipping address inside the zone.
3. Confirm the method shows your title and the cost of the matching tier.
4. Raise the quantity past a tier boundary and confirm the cost changes.

## Options used in this guide

| Label | Option ID | Default | Free/Pro |
| --- | --- | --- | --- |
| Method Title | `title` | Weight-Based Shipping | Included |
| Weight Tiers | `tiers` | 0 to 5 at 10, 5 to 10 at 15, 10 and up at 25 | Included |
| Handle Zero Weight | `handle_zero_weight` | Use first tier cost | Included |
| Tax Status | `tax_status` | Taxable | Included |

## Use cases

- Mirror your courier's weight brackets, plus your margin, so checkout matches what you are billed.
- Stop losing money on heavy orders that a single flat rate undercharges.
- Sell products by weight (bulk food, garden supplies, hardware) where cart weight varies widely.

## Troubleshooting

- **The rate is lower than expected.** Some products have no weight. Check the **Weight** field on each product and variation in the cart.
- **A cart gets the price of a much heavier tier.** There is a gap in your table. A weight that matches no row falls back to the last tier's cost. Close the gap so each maximum equals the next minimum.
- **The method does not appear.** Check the address is in the zone and the method is enabled. For the full checklist, see the [FAQ and troubleshooting](https://wpfactory.com/docs/weight-based-shipping-faq/) article.

Tip: to add a packaging charge, a free shipping threshold or a weight ceiling, Weight-Based Shipping handles them in the same settings screen. See [handling fees, free shipping thresholds and weight limits](https://wpfactory.com/docs/weight-based-shipping-fees-and-limits/).

### Get Weight-Based Shipping

Every setting covered here is included in [Weight-Based Shipping for WooCommerce](https://wpfactory.com/item/weight-based-shipping-for-woocommerce/), with no locked Pro options. [Get Weight-Based Shipping](https://wpfactory.com/item/weight-based-shipping-for-woocommerce/).

Need a hand? Our team answers every ticket on the [Weight-Based Shipping support forum](https://wpfactory.com/support/).

Related articles

- [How to Offer Economy and Express Weight-Based Shipping Options](https://wpfactory.com/docs/weight-based-shipping-economy-express/)
- [How to Offer Free Shipping Over an Order Amount with Weight-Based Rates](https://wpfactory.com/docs/weight-based-shipping-free-over-amount/)
- [How to Hide Shipping Above a Maximum Weight in WooCommerce](https://wpfactory.com/docs/weight-based-shipping-max-weight-limit/)
- [How to Set Different Weight-Based Shipping Rates per Zone or Country](https://wpfactory.com/docs/weight-based-shipping-rates-per-zone/)
- [How Weight-Based Shipping Calculates the Shipping Cost](https://wpfactory.com/docs/weight-based-shipping-cost-calculation/)
