+0

(1) I speak English, not French.

(2) I speak English but not French.

I am not sure which one is correct. Please help me. Thank you very much.

+1

These are both possible, but they are not exactly interchangeable in nuance.

(2) can be used as a general, neutral statement about which languages you can and cannot speak. (1) feels less general and/or less neutral; for example, someone has told you to speak in French, but you are declining.