A load arrives with wet boxes, damp dunnage and rust on metal parts, and the first assumption is that something let water in. Usually nothing did. The water was in the air inside the container when it was sealed, and it came out of that air as the temperature dropped during the voyage. Understanding that mechanism is what makes the countermeasures make sense, because most of them are aimed at the wrong thing.
How much water is in the air
Warm air holds a great deal more moisture than cold air. A container sealed in a humid port at thirty degrees may hold more than twenty grams of water per cubic metre of air, and a forty-foot container holds around sixty cubic metres of air. That is over a litre of water held invisibly in the air, and when the temperature falls the air can no longer hold it. The surplus condenses on the coldest surface available, which is usually the underside of the roof, and then drips.
Why it drips on the load
The roof of a container is the surface that cools fastest at night and warms fastest in the sun, so it is where condensation forms first. Water forms on the underside as droplets, the droplets merge, and they run down and fall. That is why the damage is characteristically on the top of the load and worse in the centre than at the edges – the centre of the roof has the least structural support and sags slightly, so droplets collect there.
The day-night cycle is what does it
A voyage crossing several time zones and several climate bands produces a daily temperature cycle, and each cycle pumps a little more water out of the air and onto the load. A single cold night does little. Thirty of them produces the wet boxes that arrive at the destination. Where a shipment has a short transit in a stable climate, the problem rarely appears regardless of how humid the loading port was.
What plastic containers change
A corrugated fibreboard box absorbs the water and loses most of its strength, which is why wet cartons collapse. A polypropylene container does not absorb it and does not lose strength. That is a real advantage and it is often oversold: the box survives, but the water is still there, and if the contents are metal the corrosion happens anyway. The container material protects the container, not the cargo. The protection question for the contents is taken up in why metal parts rust inside a plastic box.
What actually reduces it
Three things work, and they work by different mechanisms. Reducing the moisture present at loading – packing dry, in dry conditions, with dry dunnage. Absorbing the moisture during the voyage, with desiccant sized to the container rather than to the load. And keeping the load temperature more stable, which is what insulation or a thermal liner does. The first is nearly free, the second is cheap and frequently under-specified, and the third costs real money.
Desiccant sizing is usually wrong by a factor
The standard calculation is based on the container volume, the expected humidity at loading, the transit duration and the temperature range. In practice desiccant is very often specified by habit – a fixed number of sachets per container – and the number is usually low for a long voyage out of a humid port. Where a lane has a recurring moisture problem, redoing the sizing calculation is the cheapest fix and it is frequently the whole fix.
Ventilation, and why it is not the answer
Venting a container sounds like it should help and usually makes it worse, because it continuously admits humid outside air. During a voyage through a humid region, a vented container takes in more moisture than it expels. Where the aim is to keep the load dry, sealing it and managing the moisture inside is the correct approach; ventilation is for gases, not for water.
What to measure on arrival
Whether the water is on the top of the load – condensation – or at the bottom – ingress. That single observation separates the two causes and it takes seconds at the door. Where it is on the top, the countermeasures are the ones above. Where it is at the bottom, the container or its seals are letting water in, and that is a different problem entirely.

