The 17-year-old, part of the club's successful Under-18 side for the last two seasons, has signed a three-year deal with the club, with the option of a further two years.
"Josh fully deserves his chance," Under-18s boss Chris Allen told the club's official website. "He listens to advice, works hard at his game and has been outstanding for us.
"He really underlined his potential in the FA Youth Cup games against Swansea and Cardiff and he has done well when he has trained with the first team. We think he has a very bright future and are pleased that it will be with Oxford United."