Setting up Weight Based Shipping

OpenCart allows you to set up weight based shipping options. Remember, this will only work correctly if you have entered in a product weight. The Product weight can be found by opening the product in the OpenCart Dashboard and going to the “Data” tab.

Setting up the weight based shipping method is easily accomplished through your OpenCart Dashboard.

How to set up weight based shipping in OpenCart

  1. Log into your OpenCart Dashboard
  2. Go to Extensions > Shipping
  3. Find the “Weight Based Shipping” method and either click “Install” if its not yet been installed or “Edit” if it has
  4. Click “Edit” if you have not already done so
  5. opencart_weight_shipping_1

  6. On the General Tab, you will need fill in the options as needed: 
     –Tax Class: Choose the Tax Class that this shipping method applies to 
    Status: Choose to enable the shipping method
    Sort Order: Set the numerical value of the sort order to be displayed
  7. The tabs listed under the General tab are all of your Geo Zones. Each Geo Zone will need to be configured to use the weight based shipping module. Let’s go through one Geo Zone and set it up. If you’re not familiar with Geo Zones please see our article.

    Rates: This is weight:cost, weight:cost, weight:cost, etc. (so if you want to ship 5lbs of merchandise for $10 you’d enter in 5:10.00)
    Status: Decide whether to enable this shipping method for this Geo Zone

  8. Once you are done setting up all your shipping rates for weights click “Save” in the upper right corner

Let’s look at an example:

  • Cart weight 10lbs or less costs $5
  • Cart weight 11-20lbs costs $15
  • Cart weight 21-40lbs costs $25
  • Cart weight more than 40lbs costs $35

You would use the following rates:

10:5.00, 20:15.00, 40:25.00, 999999:35.00

The last entry is extremely important since it sets an infinite weight ceiling. If you don’t have the 999999 rate, then any shipment over 40lbs would not be able to use weight based shipping and it would not show.

Since weight based shipping supports Geo Zones, each individual Geo Zone can have its own set of weights and costs as well as ranges.

If you need further assistance please feel free to ask a question in our support center.

Carrie Smaha
Carrie Smaha Senior Manager Marketing Operations

Carrie enjoys working on demand generation and product marketing projects that tap into multi-touch campaign design, technical SEO, content marketing, software design, and business operations.

More Articles by Carrie

28 thoughts on “Setting up Weight Based Shipping

  1. hi,

     I am using opencart version3 , 


    I am trying to install weight based , i have given the entry 1:100, 2:200, 3:300, 4:400,  999999:400 , 

    as per the above answers, my Problem is i have Product of 2 kg and the buyers willing to buy 10pcs so total 10 x 2kg = 20kg, the cost of shipping should be 20kg x Rs.100. i.e rs 2000 but i get Shipping cost as only 400, Can you help me.




    1. 1:100, 2:200, 3:300, 4:400, 999999:400

      Those values translate to:

      Cart weight 1kg or less costs 100
      Cart weight 1-2kg costs 200
      Cart weight 2-3kg costs 300
      Cart weight 3-4kg costs 400
      Cart weight more than 4kg costs 400

      Since your cart weight is 20kg, then the correct value you have set, 400, is used. I suggest you adjust your values depending on what you want to 20kg cost.

  2. I am building a site for the first time. Trying to use the weight shipping and read here how the configuration works. In my store each item weighs 1 pound. I want 1 pound to cost $6 shipping and each additional pound to cost and additional $3 with some exceptions at higher weights. Here are the rates I used for it. Unfortunately, in the cart, 3 pounds = $6 shipping, 4 pounds also = $6 shipping. Any help is appreciated.

    1:6, 2:9, 3:12, 4:15, 5:18, 6:21, 7:24, 8:27, 9:30, 10:33, 15:36, 20:40, 999999:50

    1. Hello Michael,

      Sorry for the issues with your weight-based shipping issue. Based on the information you provided, it doesn’t look like you’re following the exact format required for defining the shipping charges. Make sure to include the zeroes and decimals in the cost. If it continues to be an issue, then please provide more information about the version of OpenCart that you’re using as well as the exact settings that you’re using.

      If you have any further questions, please let us know.

      Kindest regards,
      Arnel C.

  3. Thanks Emma!!!

    I have been trying to fix this for ages and going round in circles not getting any answers. Really – thanks so much 😉



  4. How can I set weight base shipping to be available from 35kg and heavier? I don’t want to show this option on lower weights, only 35kg and heavier. 

    1. Hello Gjermund,

      Thank you for contacting us. You may be able to accomplish this by setting the flat shipping rate option for products under 35kg, then use the weight based shipping for products that are heavier than 35kg.

      Thank you,

    1. Hello,

      You can make multiple zones free shipping. I will need more information on what specifically you are trying to set up.

      Kindest Regards,
      Scott M

  5. Hi! 

    Iam getting 4.56 instead of 3.80 and 5.47 instead of 4.56.

    Why this is happend in our site.Please help us to resolve it.

    1. Hello kavitha,

      I am not quite understanding what you are asking. Please be more specific and give the exact steps and settings you are using.

      Kindest Regards,
      Scott M

  6. Hello,

    How to calculate exact weight with the price, for example my products are under 500grams so I dont want to charge my customer for 1kg, 

    Could you please help me to do that


    1. Hello Venkatesh,

      You can not do that by default to my knowledge however there are plugins/modules you can use to do something very similar. I found this plugin that allows you to set shipping fees based on the product/category.

      Best Regards,
      TJ Edens

  7. Hello, I would like to ask if there is an easy and flexible way to add stepped weight:price entries. For example there is an courier that charges as follows :

    Up to 5 Kg – Cost : €10 euro

    Up to 10 Kg – Cost : €18 euro

    and from then and on for every additional 1 Kg it costs €1 euro each.

    What is the proper formula to enter in the settings page of..

    “Weight Based Shipping -> Rates”


    1. Hello SolidSnake,

      The first two conditions can certainly be set within the base OpenCart, but to set it up to automatically add a suero for each kg above 10 is not possible by default. There may be an extension that allows that, but we do not know of one offhand.

      Kindest Regards,
      Scott M

  8. Can I just say thank you for trying to help me,

    I have fallen accross the solution myself so thought I would post so anyone else can see if it helps them.

    I needed to change the setting in my settings, i’d done the weights in Kgs but the stores default weight was in grams as soon as I changed this to kgs the shipping weights started to work fine.


    Thanks again


    it only shows the option to pick up, i’ve disabled everything else apart from that one and the weight one

    1. Hello Emma,

      I checked your domain and was able to replicate the issue, without being able to log in I would not be able to troubleshoot further. I would suggest getting some assistance from your webhost as they would have more access that we would at this time.

      Kindest Regards,
      TJ Edens

  10. Hi, I’ve set up weight based shipping like above with my own values, ive also enabled it but it still dosn’t show up as a option in the shopping cart part of my store? is there something i’m doing wrong?

    1. Hello Emma,

      Are you using any kind of caching modules as you may need to clear either that cache or your browsers cache in order to see the changes on your website. Can you please provide your domain so we may look into the issue further.

      Best Regards,
      TJ Edens

  11. Hi


    Thanks for your response.


    Actually we are trying to use weight based shipping for another method of shipping.


    it is working according to our requirement


    where we have modifiied the lable to according to us in the front end


    but in the backend ie, in mail order and other i want remove (kg) from the lable.


    bcz it doesnt match our modified requirement.


    Hope u undestood



    1. Hello,

      We do not advise on changing source code of a CMS. This is due to updates that will overwrite the source in the future. You would have to redo that every time you updated. Also, it sounds as if you have made customizations already so we are unable to advise based on those as we are not able to duplicate the environment.

      Kindest Regards,
      Scott M

  12. Weight Based Shipping do not dispaly as a shipping option after I have upgraded opencart to Version

    could you please asist.



    1. Hello Anton,

      In testing a fresh Opencart installation, the Weight based shipping appears as an option when going to Extensions >> Shipping. If you are not seeing it, you may want to try a test of a fresh installation in another section of your hosting account. It should show up.

      You may need to rollback your upgrade with the backup you made before performing the upgrade and try again. The weight based shipping is a standard part of the current core and should always be there.

      Kindest Regards,
      Scott M

Was this article helpful? Let us know!