Best one we had was free with a parenting magazine (unhelpful).
However, we also bought '40,001 Best Baby Names' by Diane Stafford. It was rubbish - don't buy it. She's got the number of names higher by adding in complete nonsense names - in all seriousness as far as I could tell - here are some of the boys names, with the meanings she's given in brackets, to give you an idea:
Chubby (American: oversized),
Chunky (American: large),
Far (English: traveller),
Studs(American: cocky),
Spunk (American: spunky),
Spike (American: word as name),
Six (American: number as name),
Spider (American: scary)
I know Americans can be a bit quirkier than the British when it comes to naming babies, but really. What kind of cruel parent is going to put 'Chubby', on a birth certificate?
There are normal ones in there too, but it's hard work sifting through the nonsense ones.