Table Rate Shipping is a powerful built-in (free) shipping method in Magento 2 that allows store owners to define custom shipping costs based on a combination of three main conditions:
What conditions can Table Rate use?
You can calculate shipping price based on:
- Weight vs. Destination → Most popular: e.g., 0–5 kg = $10, 5–10 kg = $18, 10–20 kg = $25, etc. (different rates per country/region)
- Price vs. Destination → Based on cart subtotal (e.g., orders $0–$50 = $15, $50–$100 = $10, over $100 = free)
- # of Items vs. Destination → Based on number of items in cart (rarely used)
What is it used for? (Real-world examples)
Table Rate is perfect when you want flexible, rule-based shipping such as:
- Charge more for heavier or bulkier orders (weight-based)
- Offer cheaper shipping for higher-value orders (price-based)
- Different shipping rates for different countries/regions/postcodes Example: USA = weight-based cheap rates, Europe = higher rates, Australia = even higher
- Free shipping above a certain weight or order value in specific countries
- Special rates for Alaska, Hawaii, remote areas, or specific ZIP codes
- Per-kg or tiered pricing (e.g., first 10kg = $20, every additional kg = $2)
When should you use Table Rate?
Use it when:
- Flat rate is too simple (one price for all)
- You ship physically (not digital products)
- Your shipping cost actually depends on weight, order value, or destination
- You don’t want to pay for third-party shipping extensions
Advantages
- 100% free (built into Magento 2)
- No extensions needed
- Very flexible (thousands of rules possible)
- Supports multi-store/website with different rates
How to enable it?
Go to:
Stores → Configuration → Sales → Shipping Methods → Table Rates → Set Enabled = Yes → Choose Condition (Weight/Price/#Items) → Import your CSV table.