Before 49ers training camp began, coach Jim Harbaugh said he was waiting to see which undrafted rookie free agent would make the team because it almost always happens. Michigan State product Garrett Celek became that guy Friday when the team trimmed its roster to 53 players. Celek's brother, Brent, plays TE for Philadelphia. He beat out second-year TE Konrad Reuland for the No. 3 job. His longterm status with the team could hinge on the health of Demarcus Dobbs, who can play both DL and TE. If Dobbs comes back healthy soon, the team may opt to bring someone else to the 53-man, in favor of Celek.

As expected, RB Anthony Dixon held off Rock Cartwright. His versatility and improvement earned him a job with the team for the third-straight year. 

QB Scott Tolzien spent last year on the practice squad and beat out Josh Johnson for the No. 3 QB job and S Darcel McBath earned one of the final jobs in the secondary.

Here's how the 53-man roster looked after the 49ers made their final cuts on Friday:

QB (3) -- Alex Smith (eighth year, Utah), Colin Kaepernick (second year, Nevada), Scott Tolzien (second year, Wisconsin).

RB (5) -- Frank Gore (eighth year, Miami), Kendall Hunter (second year, Oklahoma State), Brandon Jacobs (eighth year, Southern Illinois), LaMichael James (rookie, Oregon), Anthony Dixon (third year, Mississippi State).

FB (1) -- Bruce Miller (second year, Central Florida).

WR (6) -- Randy Moss (14th year, Marshall), Michael Crabtree (fourth year, Texas Tech), Mario Manningham (Fifth year, Michigan), Ted Ginn Jr. (sixth year, Ohio State), Kyle Williams (third year, Arizona State), A.J. Jenkins (rookie, Illinois).

TE (3) -- Vernon Davis (seventh year, Maryland), Delanie Walker (seventh year, Central Missouri), Garrett Celek (rookie, undrafted, Michigan State).

OL (8) -- Joe Staley (sixth year, Central Michigan), Mike Iupati (third year, Idaho), Jonathan Goodwin (11th year, Michigan), Alex Boone (third year, Ohio State), Anthony Davis (third year, Rutgers), Leonard Davis (11th year, Texas), Daniel Kilgore (second year, Appalachian State), Joe Looney (rookie, Wake Forest).

DL (7) -- Ray McDonald (sixth year, Florida), Isaac Sopoaga (ninth year, Hawaii), Justin Smith (12th year, Missouri), Ricky Jean Francois (fourth year, LSU), Ian Williams (second year, Notre Dame), Will Tukuafu (second year, Oregon), Demarcus Dobbs (second  year, Georgia).

LB (7) -- Ahmad Brooks (seventh year, Virginia), NaVorro Bowman (third year, Penn State), Patrick Willis (sixth year, Mississippi), Aldon Smith (second year, Missouri), Parys Haralson (seventh year, Tennessee), Larry Grant (fourth year, Ohio State), Tavares Gooden (fifth  year, Miami).

DB (10) -- Carlos Rogers (eighth year, Auburn), Tarell Brown (sixth year, Texas), Dashon Goldson (sixth year, Washington), Donte Whitner (seventh year, Ohio State), Chris Culliver (second year, South Carolian), Perrish Cox (second year, Oklahoma State), Trenton Robinson (rookie, Michigan State), C.J. Spillman (fourth year, Marshall), Tramaine Brock (third year, Belhaven), Darcel McBath (third year, Texas Tech),

Specialists (3) -- K David Akers (14th year, Louisville), P Andy Lee (ninth year, Pittsburgh), LS Brian Jennings (13th year, Arizona State).

Follow 49ers reporter Kyle Bonagura on Twitter: @CBSSportsNFLSF and @KyleBonagura.

Like 49ers Rapid Reports on Facebook.