The dust impact detection system (DIDSY) carried by the Giotto spacecraft has measured the density and mass spectrum (in the range 10−20–10−8 kg) of the dust near comet Halley. Profiles of the dust spectrum obtained at a distance of 291,000 km from the Halley nucleus show a complex mass spectrum, depleted in intermediate and small masses. Near closest approach (∼600 km from the nucleus), the dust activity increases dramatically and the spectrum is dominated by larger masses. The cumulative mass index (for a mass distribution function of the form m−α) measured at an approach distance of 2,200 km from the nucleus is α = 0.66±0.05, corresponding to α = 0.83±0.05 at the nucleus. The Halley dust surface emission rate is found to be typically 1×10−6 kg m−2 s−1 for masses ≤10−8 kg, corresponding to a total dust production rate of 3.1×103 kg s−1. Particle fragmentation may have occurred in the dust cloud. Most of the mass striking Giotto resides in the few large particles penetrating the dust shield, and the integral mass is estimated to be ≲150 mg. Although the existence of previously unexpected small particles (of mass 10−20 kg) implies that previous infrared dust modelling1 must now be extended, these particles are found to contribute negligible areal cross-section compared with larger (≥10 µm diameter) particles. Momentum balances and energy considerations applied to an observed deceleration suggest that a large mass of the spacecraft was detached by an impact and ejected at low velocity.