The spotted shag is a slim, medium-sized, grey-blue marine shag with a long, slender bill and yellow-orange feet. Adult breeding birds have small black spots on the pale silver-grey and brown back and wings, pale grey-blue underparts, and black thighs, rump and tail. A distinctive curved broad white stripe runs from above the eye down both sides of the neck, separating the black lines of the throat, pale silver-grey and brown back, and long neck to the base of the wing.

White filoplumes grow diagonally from the black neck and thighs, and a distinctive black, decurved, double crest grows erect on the forehead and nape. Bare facial skin between the eye and bill turns green-blue before the breeding season. The eye ring is blue, the iris dark brown. and the long, slender, hooked bill orange-brown. Non-breeding adults are duller, lack crests, have a neck stripe obscured by dark feathers, yellowish facial skin, and paler underparts.

Immatures are paler and browner, and lack distinct head or neck markings. In flight, spotted shags appear slender and pale with a darker rump and tail. The usually fly low over water, often in ‘V’ formation, using rapid wingbeats. Sexes are alike in plumage but males differ in their calls and courtship behaviour. The blue shag (S.p. oliveri) is darker with greenish-blue lower back, rump and flanks, with the white neck-stripe (in breeding plumage) not extending forward of the eye.

Voice: loud grunts at resting, roosting and nesting areas. Silent elsewhere.

Similar species: the spotted shag is the only slender, pale, greyish shag that occurs around the North, South and Stewart Islands. The closely-related Pitt Island shag takes the place of spotted shag at the Chattham Islands. Pitt Island shag is darker, lacks a neck stripe, and has a conspicuous purple patch in front of the eye. The ranges of Stewart Island shag and New Zealand king shag overlap with spotted shag, although they are darker and heavier with stockier necks, shorter wings and pink feet.