Strictly speaking, it should be neither, as pm means post meridiem, after 12, and am means ante meridiem, before 12. I'd use 12 noon.
However, since there are digital clocks and computers, the instant 12 noon hits, it then becomes afternoon. So most people accept 12 pm as 12 noon and thereafter.
If you have a question about the English language and would like to ask one of our many English teachers and language experts, please click the button below to let us know: