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.