Cuyahoga County Children and Family Services calls it a case of medical neglect. The average weight of a child that age is just 57 pounds.
Officials first became aware of the boy's weight after his mother took him to the hospital last year while he was having breathing problems, the newspaper reported.
They say they worked with the boy's family for more than a year to try to get his weight down. When nothing changed, they had the child put in foster care.
The county hopes to get the boy healthy and eventually return him to his family.
"They are trying to make it seem like I am unfit, like I don't love my child," the boy's mother, who was not identified, told the Cleveland Plain Dealer newspaper. "It's a lifestyle change and they are trying to make it seem like I am not embracing that. It is very hard, but I am trying."
Lawyers for the family say the county is overreacting.
A trial is set for the boy's ninth birthday next month to determine whether his mother will regain custody.