Formal:
* Je parle français, mais je le lis aussi. (I speak French, but I also read it.)
* Je comprends le français, mais je ne le parle pas couramment. (I understand French, but I don't speak it fluently.)
Informal:
* Je comprends le français, mais je ne parle pas beaucoup. (I understand French, but I don't speak much.)
* Je peux lire le français, mais je n'arrive pas à parler. (I can read French, but I can't speak it.)
* J'ai un niveau de français correct à l'écrit, mais je ne suis pas très à l'aise à l'oral. (I have a decent level of French in writing, but I'm not very comfortable speaking.)
More nuanced:
* Je parle un peu français, mais je suis plus à l'aise à la lecture. (I speak a little French, but I'm more comfortable reading.)
* J'ai appris le français par la lecture, mais je n'ai pas eu l'occasion de beaucoup le parler. (I learned French through reading, but I haven't had the opportunity to speak it much.)
You can choose the phrase that best suits your situation and the level of formality you want to convey.