Carroll, who played nine times for England, has been a free agent since he was released by Newcastle United at the end of last season and the 32-year-old could make his Reading debut on Saturday when they host Nottingham Forest.
Reading lost centre forward Lucas Joao to a hip injury in August with the Portuguese, who scored 22 goals last season, not expected to return until the new year.
“This is a deal which we have been working on for some time and are confident it is the right move for both player and club,” Reading manager Veljko Paunovic said in a statement.
“Andy is looking for a new challenge in his career and we need a player with his quality and vast experience. So this is a great match and I’m really looking forward to working with Andy over the next couple of months.”
Reading, 16th in the standings, are under a transfer embargo for breaching profitability and sustainability rules, leaving the club to look for loan deals and free transfers.
Carroll was once the most expensive British footballer when Liverpool secured his services for 35 million pounds ($46.97 million) in 2011 after an impressive first spell at Newcastle but he failed to make an impact at Anfield.