Police named the suspect as 19-year-old Brandon Hole, who last worked at the company in 2020.
He began shooting "randomly" almost immediately after exiting his car, according to police.
Seven people were also injured and the gunman apparently killed himself before police arrived, officials say.
This is the latest incident in a recent uptick of mass shootings across the US.
The victims in Thursday's shootings have not yet been named.
A statement from FedEx chairman and CEO Frederick Smith described the incident as a "senseless act of violence".
"First and foremost, I want to express my deepest sympathies to the families, friends, and co-workers of those team members. Our priority now is in responding to the situation on the ground and helping our team members and law enforcement," the statement said.
Ordering flags to be flown at half-mast, President Biden said: "We can, and must, do more to act and to save lives."
The attack began around 23:00 local time (03:00 GMT) on Thursday in Indianapolis, Indiana - the state capital and its largest city.
In a news conference on Friday, city officials said no motive had been established yet, and noted that one may never be determined.
"We'll never really know all the ins and outs of why this occurred, but we'll try our best," said police chief Randal Taylor.
Craig McCartt, the deputy chief of criminal investigations, said that the gunman began firing as soon as he arrived at the building.
"This suspect came to the facility and when he came there, he got out of his car and pretty quickly started some random shooting outside the facility," he said.
"No confrontation or argument, he just appeared to randomly start shooting," he added.