L'origine è incerta, potrebbe derivare da una troncatura del nome celta Buic, da forme aferetiche di nomi come il franco Lebuin, o da alterazioni sia aferetiche che apocopaiche del nome longobardo Albuin. In alcuni casi potrebbe derivare da un soprannome generato dal termine bove, "bue", forse ad indicare chi allevava bovini.
Il cognome Bui ha un ceppo tra bergamasco e bresciano, uno uno nel ferrarese, uno tra senese e perugino ed uno romano. Buy è quasi unico.