Il nome della città pare abbia origine dal celtico Din Eidyn (Forte di Eidyn), dal periodo in cui era una fortezza per il popolo dei Gododdin, forse perché nella metà del VI secolo era la sede del re Clinog Eitin, il cui nome ricorda appunto quello del luogo.
Dopo che la città fu stata assediata dagli anglosassoni della Bernicia, prese il nome di Edin-burh, che a parere di alcuni studiosi deriverebbe dall'anglosassone per "fortezza di Edwin", forse derivato dal re Edwin di Northumbria nel VII secolo, anche se ciò appare poco probabile dato che il nome della città è precedente a quel periodo. Il suffisso burgh significa "fortezza" o "gruppo di edifici", ossia una città, ed è simile al tedesco burg, al latino parcus, al greco pyrgos, ecc.
Le prime testimonianze dell'esistenza della città come separata dalla fortezza risalgono a un documento dei primi del XII secolo, datato probabilmente 1124, con cui il Re David I assegnava terreni alla Chiesa della Santa Croce di Edimburgo.
Ciò indicherebbe che le origini ufficiali della città possono situarsi tra il 1018 (quando re Malcolm II difese la regione di Lothian dagli abitanti del Northumbria) e il 1124. Il documento si riferisce alla chiesa con la denominazione latina di "Ecclisie Sancte Crucis Edwinesburgensi", il che potrebbe indicare che i redattori del documento ritenevano che Edwin fosse l'origine del nome della città e decisero quindi di ricavare la versione in latino da quello che credevano fosse il nome antico; ma potrebbe anche significare che a un certo punto dei precedenti 600 anni il nome era stato alterato per includere una w.
In ogni caso, nel decennio dal 1170 il Guglielmo I di Scozia usava il nome "Edenesburch" in un documento (di nuovo in latino) che confermava la cessione di terreni eseguita del 1124 da David I.
Documenti dal XIV secolo indicano che il nome si era già sviluppato nella sua forma attuale, anche se appaiono altre diciture ("Edynburgh" e "Edynburghe") che sono comunque semplici variazioni ortografiche.