Coming from the perspective of someone who has worked on offer letters it is likely that there is a delay in getting it prepared. There could be several reason for this. Maybe the person in charge of writing the letter is sick or out on leave. So it may take a little longer to get it done with a backup or they may be waiting on that person to return. It could be that there is some red tape that HR is preventing them from getting it out until some requirement is met. Or they may have forgot as they are already reviewing other perspective employees for other positions and have just not had the time to finish the offer letter.
In any case If you were told 2 to 3 days I would email them by 5 to 7 business days (not including weekends or holidays) and or call them. Just a friendly "Hi there. I am just checking in on the offer letter. Wanted to make sure you were not missing anything from me as it has been nearly a week since our last correspondence." Not in those exact words but you get the general idea.