How to Use
Follow these steps to calculate how your cargo fits into one or more containers.
Choose a container
Start by choosing your System — US Imperial (lbs / inches) or Metric (kg / meters). This locks the weight unit and dimension unit together for the entire session.
Then use the Preset dropdown to select a standard container or trailer. All dimensions and weights fill in automatically in your chosen system. If your container is not in the list, leave the preset as — custom — and type the interior dimensions directly.
Add your cargo
Each row in the Cargo table represents one item type. Enter the dimensions, how many of that type you have (Qty), and the weight per individual item.
| Column | What to enter |
|---|---|
| L / W / H | Item length, width, height — in the unit matching the selected Measurement system |
| Qty | How many of this item you need to ship |
| Weight (each) | Weight of a single item. Leave as 0 if not tracking weight |
| Stackable | Set to Y if items may be stacked on top; set to N (default) to keep the top surface clear — the algorithm will not place anything on top of that item. |
| Class | Read-only. Displays the calculated LTL freight class (NMFC density-based) once dimensions and weight are filled in. Shown as a dash if weight is zero or dimensions are missing. |
Click Add Row to add a single blank row. Click Import CSV to load multiple items from a .csv file at once — rows are appended to any existing items. The CSV must have a header row containing at least l, w, h columns; optional columns are q (quantity, default 1), weight (default 0), and stackable (Y or N, default N). Column names are case-insensitive. Use Remove on a row to delete it. Clear clears all cargo rows back to one blank row. Reset (red button) wipes everything — all cargo rows, container settings, saved session data, and results — and returns the app to a completely fresh state. Use this when you want to start over from scratch.
Set packing options
| Option | What it does |
|---|---|
| Allow rotations | When checked the algorithm tries all valid orientations of each box to find the best fit. Uncheck to keep every box in its original L×W×H orientation. |
| Upright-only | Restricts rotations so a box can be spun horizontally but never laid on its side. Useful for fragile or liquid-filled cargo. |
| Suggest smaller container from |
When cargo fills more than one container, this controls whether the app downsizes any partially filled container to a smaller standard size. Off — no suggestion made, all containers use the same size. Sea Containers only — only considers smaller sea container presets. Semi-Trailers only — only considers 30' Pup, 48' Dry Van, 53' Dry Van. Box Trucks only — only considers 16'–26' box truck presets. Any — picks the smallest preset across all categories that fits. |
Compute
Click Calculate or press Enter on your keyboard. The algorithm places all items into as many containers as needed (up to 10), largest items first.
If any items could not be placed — because they are too large for the container, cannot pass through the door in any orientation, or would exceed the weight limit — a warning is shown listing the unplaced count.
Read the results
Results show one section per container. Each section contains:
- Heading — container number, item count, total loaded weight, and volume used in cubic feet (or cubic meters in Metric mode).
- Weight bar — visual percentage of max payload used (only shown when a weight limit is set).
- Axle load panel — shown for box truck and semi-trailer presets. Displays the estimated front and rear axle loads based on cargo weight and placement, with a warning if any axle exceeds its rated limit.
- Downsize notice — shown in green when a container was automatically re-packed into a smaller standard container.
- Door-clearance note — shown when any door-type items were packed, listing how many and what clearance was applied.
- Floor Plan — bird's-eye view. Shows how items cover the floor; higher stacks appear on top.
- Side Elevation — view from the side. Shows how high items are stacked.
- Door Face — what you see looking straight in through the rear doors. Items near the door appear in front.
- Cargo legend — colour key linking item IDs to their dimensions and weight.
Export or print
| Button | What it does |
|---|---|
| Toggle 3D Preview | Opens an interactive 3D view of the container. Drag to rotate. When multiple containers are used, selector buttons let you switch between them. |
| 🖨 Print Loading Instructions | Opens a printer-friendly page with a step-by-step loading sequence table and the diagrams for each container. The loading order starts at the back of the container and works toward the door. Use Ctrl+P or the Print button on that page to send to a printer. When a box truck preset is selected, the page also shows a pallet loading note: orient standard 40"×48" pallets with the 48" side across the truck width (fork pockets facing the door) — box trucks require a pallet jack, not a forklift. |
| Export JSON | Downloads all placement data (position, orientation, weight per box) as a JSON file for use in other systems. |
| Export CSV | Downloads the same data as a comma-separated spreadsheet. |
| Save Config | Saves the current container settings and box list as a JSON file so you can reload them later. |
| Load Config | Restores a previously saved config file. |
| ☁ Save to Cloud | Saves the current container and cargo setup to your account by name. Requires an active license key. Up to 50 jobs per license. Saving with the same name overwrites the previous version. |
| ☁ Load from Cloud | Lists your saved jobs and lets you restore any of them. You can also delete saved jobs from this panel. |
Quick reference
Keyboard shortcuts
| Ctrl + Z | Undo — rolls back the last action (add row, remove row, Clear, load config, preset change) |
| Ctrl + Y or Ctrl + Shift + Z | Redo — reapplies the last undone action |
| Enter | Run Calculate |
Units
The System selector locks both the weight unit and the dimension unit together — US Imperial uses lbs and inches; Metric uses kg and meters. Switching systems converts all existing field values automatically. Selecting a preset always fills in values in the active system.
How the algorithm works
The packer runs 72 independent trials per container fill (6 orientation rotations × 4 sort strategies × 3 split strategies) and keeps the result that places the most items. Each trial combines a different sort strategy (volume, longest dimension, sum of dimensions, or largest face area — all largest-first) with a different free-space split strategy and a different starting orientation order. Running many trials from different starting conditions compensates for the greedy nature of the underlying algorithm.
Within each trial: items are placed one at a time into the smallest available space that fits. For each space, the algorithm picks the orientation that could fill that space with the most copies of the item. Each placement splits the remaining free space into up to three new rectangles; adjacent spaces are merged after each placement to reduce fragmentation.
This is a fast heuristic — each trial completes in under a millisecond for typical loads, so all 72 run before results are shown. It produces good results but is not guaranteed to find the mathematically optimal packing for every load.
Sign Out
The Sign Out button in the top-right corner clears your license from this browser. You will be prompted to enter your license key again on next visit. Keep your license key email safe — it is the only way to reactivate on a new device or after signing out.
Your data and the server
All packing inputs and results are saved in your browser's local storage. The app contacts our server in three situations only:
- License validation — once per day, silently, to verify your subscription is still active.
- Cloud Save — when you click Save to Cloud, your container and cargo configuration is sent to our server and stored against your license key.
- Cloud Load / Delete — when you open the Load from Cloud panel or delete a saved job, the app fetches or removes that data from our server.
No packing results, 3D data, or personally identifying information beyond your license key is ever transmitted.