{
  "source": "https://contsize.com",
  "license": "Free to reuse with attribution to contsize.com",
  "method": "https://contsize.com/container-load-calculator/",
  "updated": "2026-10-11",
  "containers": {
    "20ft": {
      "insideMm": {
        "l": 5898,
        "w": 2352,
        "h": 2393
      },
      "door": {
        "w": 2340,
        "h": 2280
      },
      "payloadKg": 28250
    },
    "40ft": {
      "insideMm": {
        "l": 12032,
        "w": 2352,
        "h": 2393
      },
      "door": {
        "w": 2340,
        "h": 2280
      },
      "payloadKg": 26740
    },
    "40hc": {
      "insideMm": {
        "l": 12032,
        "w": 2352,
        "h": 2698
      },
      "door": {
        "w": 2340,
        "h": 2585
      },
      "payloadKg": 28600
    },
    "45hc": {
      "insideMm": {
        "l": 13556,
        "w": 2352,
        "h": 2698
      },
      "door": {
        "w": 2340,
        "h": 2585
      },
      "payloadKg": 27700
    }
  },
  "cartons": {
    "method": "One carton size per container, as many as fit, planned by the contsize.com load planner (src/lib/load/solver.ts): free rotation, stacked to the roof, 70 % of each base supported, 1 kg each so the payload never decides. \"fit\" is the planner's count; \"volumeBound\" is inside volume ÷ carton volume, rounded down, which no rigid load reaches; \"maxKgEach\" is payload ÷ fit, the average carton mass above which the payload decides instead.",
    "sizes": [
      {
        "id": "30x20x20cm",
        "unit": "cm",
        "nominal": [
          30,
          20,
          20
        ],
        "mm": [
          300,
          200,
          200
        ]
      },
      {
        "id": "40x30x30cm",
        "unit": "cm",
        "nominal": [
          40,
          30,
          30
        ],
        "mm": [
          400,
          300,
          300
        ]
      },
      {
        "id": "18x12x12in",
        "unit": "in",
        "nominal": [
          18,
          12,
          12
        ],
        "mm": [
          457.2,
          304.79999999999995,
          304.79999999999995
        ]
      },
      {
        "id": "50x40x30cm",
        "unit": "cm",
        "nominal": [
          50,
          40,
          30
        ],
        "mm": [
          500,
          400,
          300
        ]
      },
      {
        "id": "60x40x40cm",
        "unit": "cm",
        "nominal": [
          60,
          40,
          40
        ],
        "mm": [
          600,
          400,
          400
        ]
      },
      {
        "id": "24x16x16in",
        "unit": "in",
        "nominal": [
          24,
          16,
          16
        ],
        "mm": [
          609.5999999999999,
          406.4,
          406.4
        ]
      },
      {
        "id": "70x50x50cm",
        "unit": "cm",
        "nominal": [
          70,
          50,
          50
        ],
        "mm": [
          700,
          500,
          500
        ]
      },
      {
        "id": "80x60x50cm",
        "unit": "cm",
        "nominal": [
          80,
          60,
          50
        ],
        "mm": [
          800,
          600,
          500
        ]
      }
    ],
    "rows": [
      {
        "carton": "30x20x20cm",
        "m3": 0.012,
        "cells": {
          "20ft": {
            "fit": 2532,
            "volumeBound": 2766,
            "fillPct": 91.5,
            "maxKgEach": 11
          },
          "40ft": {
            "fit": 5260,
            "volumeBound": 5643,
            "fillPct": 93.2,
            "maxKgEach": 5
          },
          "40hc": {
            "fit": 5980,
            "volumeBound": 6362,
            "fillPct": 94,
            "maxKgEach": 4
          },
          "45hc": {
            "fit": 6721,
            "volumeBound": 7168,
            "fillPct": 93.8,
            "maxKgEach": 4
          }
        }
      },
      {
        "carton": "40x30x30cm",
        "m3": 0.036,
        "cells": {
          "20ft": {
            "fit": 807,
            "volumeBound": 922,
            "fillPct": 87.5,
            "maxKgEach": 35
          },
          "40ft": {
            "fit": 1710,
            "volumeBound": 1881,
            "fillPct": 90.9,
            "maxKgEach": 15
          },
          "40hc": {
            "fit": 1840,
            "volumeBound": 2120,
            "fillPct": 86.8,
            "maxKgEach": 15
          },
          "45hc": {
            "fit": 2070,
            "volumeBound": 2389,
            "fillPct": 86.6,
            "maxKgEach": 13
          }
        }
      },
      {
        "carton": "18x12x12in",
        "m3": 0.042475,
        "cells": {
          "20ft": {
            "fit": 703,
            "volumeBound": 781,
            "fillPct": 90,
            "maxKgEach": 40
          },
          "40ft": {
            "fit": 1443,
            "volumeBound": 1594,
            "fillPct": 90.5,
            "maxKgEach": 18
          },
          "40hc": {
            "fit": 1638,
            "volumeBound": 1797,
            "fillPct": 91.1,
            "maxKgEach": 17
          },
          "45hc": {
            "fit": 1848,
            "volumeBound": 2025,
            "fillPct": 91.2,
            "maxKgEach": 14
          }
        }
      },
      {
        "carton": "50x40x30cm",
        "m3": 0.06,
        "cells": {
          "20ft": {
            "fit": 500,
            "volumeBound": 553,
            "fillPct": 90.4,
            "maxKgEach": 56
          },
          "40ft": {
            "fit": 1058,
            "volumeBound": 1128,
            "fillPct": 93.7,
            "maxKgEach": 25
          },
          "40hc": {
            "fit": 1150,
            "volumeBound": 1272,
            "fillPct": 90.4,
            "maxKgEach": 24
          },
          "45hc": {
            "fit": 1290,
            "volumeBound": 1433,
            "fillPct": 90,
            "maxKgEach": 21
          }
        }
      },
      {
        "carton": "60x40x40cm",
        "m3": 0.096,
        "cells": {
          "20ft": {
            "fit": 270,
            "volumeBound": 345,
            "fillPct": 78.1,
            "maxKgEach": 104
          },
          "40ft": {
            "fit": 590,
            "volumeBound": 705,
            "fillPct": 83.6,
            "maxKgEach": 45
          },
          "40hc": {
            "fit": 660,
            "volumeBound": 795,
            "fillPct": 83,
            "maxKgEach": 43
          },
          "45hc": {
            "fit": 726,
            "volumeBound": 896,
            "fillPct": 81,
            "maxKgEach": 38
          }
        }
      },
      {
        "carton": "24x16x16in",
        "m3": 0.100682,
        "cells": {
          "20ft": {
            "fit": 270,
            "volumeBound": 329,
            "fillPct": 81.9,
            "maxKgEach": 104
          },
          "40ft": {
            "fit": 560,
            "volumeBound": 672,
            "fillPct": 83.3,
            "maxKgEach": 47
          },
          "40hc": {
            "fit": 638,
            "volumeBound": 758,
            "fillPct": 84.1,
            "maxKgEach": 44
          },
          "45hc": {
            "fit": 726,
            "volumeBound": 854,
            "fillPct": 85,
            "maxKgEach": 38
          }
        }
      },
      {
        "carton": "70x50x50cm",
        "m3": 0.175,
        "cells": {
          "20ft": {
            "fit": 143,
            "volumeBound": 189,
            "fillPct": 75.4,
            "maxKgEach": 197
          },
          "40ft": {
            "fit": 312,
            "volumeBound": 386,
            "fillPct": 80.6,
            "maxKgEach": 85
          },
          "40hc": {
            "fit": 387,
            "volumeBound": 436,
            "fillPct": 88.7,
            "maxKgEach": 73
          },
          "45hc": {
            "fit": 435,
            "volumeBound": 491,
            "fillPct": 88.5,
            "maxKgEach": 63
          }
        }
      },
      {
        "carton": "80x60x50cm",
        "m3": 0.24,
        "cells": {
          "20ft": {
            "fit": 121,
            "volumeBound": 138,
            "fillPct": 87.5,
            "maxKgEach": 233
          },
          "40ft": {
            "fit": 262,
            "volumeBound": 282,
            "fillPct": 92.9,
            "maxKgEach": 102
          },
          "40hc": {
            "fit": 285,
            "volumeBound": 318,
            "fillPct": 89.6,
            "maxKgEach": 100
          },
          "45hc": {
            "fit": 309,
            "volumeBound": 358,
            "fillPct": 86.2,
            "maxKgEach": 89
          }
        }
      }
    ]
  },
  "pallets": {
    "method": "Floor count from the best pattern of the contsize.com pallet calculator (src/lib/pallets.ts bestFit), pallets turned where it helps. Two tiers only when the stack stands under the inside height and each pallet passes the door. \"limit\" is what stops one more: floor, or height when a second tier does not fit. \"maxKgEach\" is payload ÷ count.",
    "types": [
      {
        "id": "euro",
        "mm": [
          1200,
          800
        ]
      },
      {
        "id": "us",
        "mm": [
          1219,
          1016
        ]
      },
      {
        "id": "industrial",
        "mm": [
          1200,
          1000
        ]
      }
    ],
    "heightsMm": [
      1100,
      1500
    ],
    "rows": [
      {
        "pallet": "euro",
        "heightMm": 1100,
        "tiers": 1,
        "cells": {
          "20ft": {
            "perTier": 11,
            "tiers": 1,
            "count": 11,
            "limit": "floor",
            "maxKgEach": 2568
          },
          "40ft": {
            "perTier": 25,
            "tiers": 1,
            "count": 25,
            "limit": "floor",
            "maxKgEach": 1069
          },
          "40hc": {
            "perTier": 25,
            "tiers": 1,
            "count": 25,
            "limit": "floor",
            "maxKgEach": 1144
          },
          "45hc": {
            "perTier": 27,
            "tiers": 1,
            "count": 27,
            "limit": "floor",
            "maxKgEach": 1025
          }
        }
      },
      {
        "pallet": "euro",
        "heightMm": 1100,
        "tiers": 2,
        "cells": {
          "20ft": {
            "perTier": 11,
            "tiers": 2,
            "count": 22,
            "limit": "floor",
            "maxKgEach": 1284
          },
          "40ft": {
            "perTier": 25,
            "tiers": 2,
            "count": 50,
            "limit": "floor",
            "maxKgEach": 534
          },
          "40hc": {
            "perTier": 25,
            "tiers": 2,
            "count": 50,
            "limit": "floor",
            "maxKgEach": 572
          },
          "45hc": {
            "perTier": 27,
            "tiers": 2,
            "count": 54,
            "limit": "floor",
            "maxKgEach": 512
          }
        }
      },
      {
        "pallet": "euro",
        "heightMm": 1500,
        "tiers": 1,
        "cells": {
          "20ft": {
            "perTier": 11,
            "tiers": 1,
            "count": 11,
            "limit": "height",
            "maxKgEach": 2568
          },
          "40ft": {
            "perTier": 25,
            "tiers": 1,
            "count": 25,
            "limit": "height",
            "maxKgEach": 1069
          },
          "40hc": {
            "perTier": 25,
            "tiers": 1,
            "count": 25,
            "limit": "height",
            "maxKgEach": 1144
          },
          "45hc": {
            "perTier": 27,
            "tiers": 1,
            "count": 27,
            "limit": "height",
            "maxKgEach": 1025
          }
        }
      },
      {
        "pallet": "us",
        "heightMm": 1100,
        "tiers": 1,
        "cells": {
          "20ft": {
            "perTier": 10,
            "tiers": 1,
            "count": 10,
            "limit": "floor",
            "maxKgEach": 2825
          },
          "40ft": {
            "perTier": 21,
            "tiers": 1,
            "count": 21,
            "limit": "floor",
            "maxKgEach": 1273
          },
          "40hc": {
            "perTier": 21,
            "tiers": 1,
            "count": 21,
            "limit": "floor",
            "maxKgEach": 1361
          },
          "45hc": {
            "perTier": 24,
            "tiers": 1,
            "count": 24,
            "limit": "floor",
            "maxKgEach": 1154
          }
        }
      },
      {
        "pallet": "us",
        "heightMm": 1100,
        "tiers": 2,
        "cells": {
          "20ft": {
            "perTier": 10,
            "tiers": 2,
            "count": 20,
            "limit": "floor",
            "maxKgEach": 1412
          },
          "40ft": {
            "perTier": 21,
            "tiers": 2,
            "count": 42,
            "limit": "floor",
            "maxKgEach": 636
          },
          "40hc": {
            "perTier": 21,
            "tiers": 2,
            "count": 42,
            "limit": "floor",
            "maxKgEach": 680
          },
          "45hc": {
            "perTier": 24,
            "tiers": 2,
            "count": 48,
            "limit": "floor",
            "maxKgEach": 577
          }
        }
      },
      {
        "pallet": "us",
        "heightMm": 1500,
        "tiers": 1,
        "cells": {
          "20ft": {
            "perTier": 10,
            "tiers": 1,
            "count": 10,
            "limit": "height",
            "maxKgEach": 2825
          },
          "40ft": {
            "perTier": 21,
            "tiers": 1,
            "count": 21,
            "limit": "height",
            "maxKgEach": 1273
          },
          "40hc": {
            "perTier": 21,
            "tiers": 1,
            "count": 21,
            "limit": "height",
            "maxKgEach": 1361
          },
          "45hc": {
            "perTier": 24,
            "tiers": 1,
            "count": 24,
            "limit": "height",
            "maxKgEach": 1154
          }
        }
      },
      {
        "pallet": "industrial",
        "heightMm": 1100,
        "tiers": 1,
        "cells": {
          "20ft": {
            "perTier": 10,
            "tiers": 1,
            "count": 10,
            "limit": "floor",
            "maxKgEach": 2825
          },
          "40ft": {
            "perTier": 22,
            "tiers": 1,
            "count": 22,
            "limit": "floor",
            "maxKgEach": 1215
          },
          "40hc": {
            "perTier": 22,
            "tiers": 1,
            "count": 22,
            "limit": "floor",
            "maxKgEach": 1300
          },
          "45hc": {
            "perTier": 24,
            "tiers": 1,
            "count": 24,
            "limit": "floor",
            "maxKgEach": 1154
          }
        }
      },
      {
        "pallet": "industrial",
        "heightMm": 1100,
        "tiers": 2,
        "cells": {
          "20ft": {
            "perTier": 10,
            "tiers": 2,
            "count": 20,
            "limit": "floor",
            "maxKgEach": 1412
          },
          "40ft": {
            "perTier": 22,
            "tiers": 2,
            "count": 44,
            "limit": "floor",
            "maxKgEach": 607
          },
          "40hc": {
            "perTier": 22,
            "tiers": 2,
            "count": 44,
            "limit": "floor",
            "maxKgEach": 650
          },
          "45hc": {
            "perTier": 24,
            "tiers": 2,
            "count": 48,
            "limit": "floor",
            "maxKgEach": 577
          }
        }
      },
      {
        "pallet": "industrial",
        "heightMm": 1500,
        "tiers": 1,
        "cells": {
          "20ft": {
            "perTier": 10,
            "tiers": 1,
            "count": 10,
            "limit": "height",
            "maxKgEach": 2825
          },
          "40ft": {
            "perTier": 22,
            "tiers": 1,
            "count": 22,
            "limit": "height",
            "maxKgEach": 1215
          },
          "40hc": {
            "perTier": 22,
            "tiers": 1,
            "count": 22,
            "limit": "height",
            "maxKgEach": 1300
          },
          "45hc": {
            "perTier": 24,
            "tiers": 1,
            "count": 24,
            "limit": "height",
            "maxKgEach": 1154
          }
        }
      }
    ]
  }
}