During its 1989 flyby, the Voyager 2 spacecraft imaged six small moons of Neptune, all with orbits well interior to that of the large, retrograde moon Triton1. Along with a set of nearby rings, these moons are probably younger than Neptune itself; they formed shortly after the capture of Triton and most of them have probably been fragmented multiple times by cometary impacts1,2,3. Here we report Hubble Space Telescope observations of a seventh inner moon, Hippocamp. It is smaller than the other six, with a mean radius of about 17 kilometres. We also observe Naiad, Neptune’s innermost moon, which was last seen in 1989, and provide astrometry, orbit determinations and size estimates for all the inner moons, using an analysis technique that involves distorting consecutive images to compensate for each moon’s orbital motion and that is potentially applicable to searches for other moons and exoplanets. Hippocamp orbits close to Proteus, the outermost and largest of these moons, and the orbital semimajor axes of the two moons differ by only ten per cent. Proteus has migrated outwards because of tidal interactions with Neptune. Our results suggest that Hippocamp is probably an ancient fragment of Proteus, providing further support for the hypothesis that the inner Neptune system has been shaped by numerous impacts.