Bu Xiangzhi, chiń. 卜祥志, pinyin Bǔ Xiángzhì (ur. 10 grudnia 1985 w Qingdao) – chiński szachista, arcymistrz od 1999 roku.
Kariera szachowa W wieku niespełna 14 lat spełnił ostatnie wymagane warunki do otrzymania tytułu arcymistrzowskiego i w 1999 został najmłodszym szachistą, któremu przyznano ten tytuł. Na liście najmłodszych arcymistrzów przewodził do 2002, w którym wyczyn ten został pobity przez Siergieja Karjakina.
W szachy gra od 6. roku życia. W 1998 zdobył w Oropesa del Mar tytuł mistrza świata juniorów do lat 14World Youth Championships 1998.. W 2000 spotkał się w Nowym Jorku z Tejmurem Radżabowem, pokonując go 6½ – 1½Future World Champions New York 2000.. W 2002 podzielił I miejsce w mistrzostwach Chin. W 2003 podzielił II miejsce w turnieju Corus Invitation Tens w Wijk aan Zee oraz podzielił I w turnieju strefowym (eliminacji mistrzostw świata) w Yongchuan. Zwyciężył również w otwartym turnieju w Mondariz. Rok później zdobył tytuł mistrza kraju. W 2005 podzielił II miejsce w turnieju open w Dubaju, natomiast w 2006 zdobył w Lagos tytuł akademickiego mistrza świata. W 2007 podzielił II miejsce w turnieju Corus B w Wijk aan Zee, zwyciężył w turnieju strefowym w Szantungu oraz w otwartych turniejach w Bad Wörishofen, Deizisau i Ottawie.