Most of the older sources begin Londin- (Λονδινιου, Londino, Londinium etc), though there are some in Lundin-; but later examples are mostly Lundon- or London-, and all the Anglo-Saxon examples have Lunden- with various terminations. He observes that the modern spelling with <o> derives from a mediaeval writing habit of avoiding <u> between letters composed of minims.
He asserts that "It is quite clear that these vowel letters in the earliest forms, both <o> and <u>, represent phonemically long vowel sounds": he refers to a number of other writers who have argued this, and adds several arguments of his own, including the form of the name in Welsh Llundein.
Coates discusses the ending of the name, whose exact shape he says is a problem. He observes that the ending in Latin sources before 600 is always -inium, which points to a British double termination -in-jo-n. But this cannot be the form from which the Anglo-Saxon names were borrowed, as they all have Lund-, and an /i/ in the following syllable would have caused Lynd- by umlaut. He tentatively accepts Jackson's argument that the British form was -on-jo-n, with the change to -inium unexplained. However he speculates further that the -i- could have arisen by metathesis of the -i- in the last syllable of his own suggested etymon (see below).
Other fanciful theories over the years have been:
Coates says (p.211) that "The earliest non-mythic speculation ... centred on the possibility of deriving London from Welsh Llyn din, supposedly 'lake fort' (? or 'fort lake'). But llyn derives from British *Lind-, which is incompatible with all the early attestations.
H. D'Arbois de Jubainville suggested in 1899 that the name meant Londino's fortress. But Coates argues that there is no such personal name recorded, and that D'Arbois' suggested etymology for it (from Celtic *londo-, 'fierce') would have a short vowel. Coates notes that this theory was repeated by linguistics up to the 1960's, and more recently still in less specialist works.
"The first of the scientific explanations" according to Coates (p. 212) was from Giovanni Alessio in 1951. He proposed a Ligurian rather than a Celtic origin, with a root *lond-/lont- meaning 'mud' or 'marsh'. Coates' major criticisms are that this does not have the required long vowel (an alternative form Alessio proposes, *lōna, has the long vowel, but lacks the required consonant), and that there is no evidence of Ligurian in Britain.
The other suggestion that Coates considers worthy of discussion was by Jean-Gabriel Gigot in 1974. In an article principally about St Martin de Londres in Hérault in France, Gigot tries to apply the Germanic root proposed for that name (*lohna) to the topography of London.
Coates' own theory is that the name derives from an Old European (pre-Celtic) name *Plowonida, from Indo-European roots *plew-, which underlies words in different languages meaning 'flow', 'swim' and 'boat'; and *nejd-, an element meaning 'flow', found in various river names around Europe.
His suggestion is that this name, meaning either 'boat river' or 'swimming river' was applied to the Thames where it becomes too wide to ford, in the vicinity of London. (He does admit that compound names are comparatively rare for rivers in the Indo-European area, but they are not unknown). The settlement on its banks would then be named from it, with the suffix -on-jon, in either Old European or Celtic times, giving *(p)lowonidonjon. Indo-European /p/ regularly disappears in Celtic, so this would have gone through *Lowonidonjon and either *Lōondonjon or *Lōnidonjon to *Lūndonjon and hence Lūndein or Lūndyn. An advantage of the form *Lōnidonjon is that it could account for Latin Londinium by metathesis to *Lōnodinjon.