Measure length, chest and neck (in order of importance for fit) to determine size.
Neck: Measure right around the neck, allowing enough room to slide 2 fingers in for comfort
Length: Measure from the base of the neck (where the collar would sit) to the base of the tail along the dog's backbone.
Chest: Measure right around the body around the deepest part of your dog's chest, usually just behind the dog's front legs.
If you do not have a suitable tape measure, use a piece of string (or similar) and measure this against a tape/ruler.
XXS: Length: 8” Neck 10-12” Chest 12-14” (Chihuahua, Puppy, Miniature, Toy, Tea Cup)
XS: Length: 10” Neck 12-14” Chest 15-17” (Yorkshire Terrier, Maltese, Chihuahua, Pomeranian)
S: Length: 12” Neck 14-16” Chest 17-22” (Miniature Schnauzer, Pug, Shih Tzu, Jack Russell)
M: Length: 15” Neck 16-20” Chest 21-25” (Westie, Pekingese, Schnauzer)
L: Length: 18” Neck 20-24” Chest 25-25” (Poodle, Shar Pei, Bull Terrier)
These are just suggestions of breeds. Always measure.