Formal:
* Je suis désolé(e) d'être en retard. (This is the most common and formal way to say it)
Informal:
* Désolé(e) d'être en retard. (This is a shorter and more casual version)
* Je suis désolé(e) pour le retard. (This is a more polite way to say it)
* Excuse-moi d'être en retard. (This is even more informal and is used with friends or close family)
Adding a reason:
You can also add the reason for your lateness:
* Je suis désolé(e) d'être en retard, j'ai eu un problème de circulation. (I'm sorry I'm late, I had a traffic problem.)
* Je suis désolé(e) d'être en retard, j'ai oublié l'heure. (I'm sorry I'm late, I forgot the time.)
Remember:
* "Désolé(e)" is used for both "sorry" and "excuse me".
* "En retard" means "late".
* "Je suis" (I am) is used for formal situations, while "j'ai" (I have) is more informal.
Choose the appropriate phrase depending on the situation and who you are talking to.