Koivujoki on Sanginjoen pieni sivujoki.
Joen kulku Joki saa alkunsa Utajärven kunnan alueelta Sanginkylästä etelään olevan Saunamaat-nimisen alueen suomaastosta. Se on noin 17 kilometriä pitkä pääosin luoteeseen laskeva Oulujoen vesistöalueeseen kuuluva joki, joka yhtyy Sanginjokeen Aittokylässä.
Jokimaisema Joen yläjuoksu on puromainen ja virtaa asumattomien ja tiettömien seutujen läpi, mutta Koivuselän tienoilla Isosta Kivijärvestä pohjoiseen sen ylittää metsäautotie. Pienen Kivijärven ohitettuaan siihen yhtyy Pikku Karvasjärven laskujoki Karvasoja ja sen ylittää Vepsältä Pienelle Kivijärvelle johtava tie.
Sillalta pari kilometriä alavirtaan Joki-Rahkamaan kautta kulkee joen varrella olevalle kämpälle menevä polku. Kämpästä pohjoiseen joen toisella puolella on suuri Torvisuon-Haarasuon turvetuotantoalue. Jokivarsi on kämppää lukuun ottamatta asumaton, aikoinaan siellä majailivat metsurit ja uittomiehet.
Luokka:Ala-Oulujoen alue Luokka:Oulun joet Luokka:Utajärven joet