Switching +12V, 0.5A output with a low +3.3V input?
A MOSFET based switching will be ideal solution for you. Basically you need a high switching speed MOSFET with gate control voltage of 3.3 volts and 0v at gate will anyway result in 0v drain voltage. 



I had chosen this MOSFET for my project and it worked well for me. The input is coming from a micro-controller GPIO pin having 3.3v voltage level. You can connect your 3v3 control signal directly at this point.

Further, the output is supposed to be connected to inductive loads such as motor or solenoid, in which case freewheeling diode is added on purpose. Since your load is FAN which might be having an inductive motor, adding such diode will be suitable for you. 

VCC5 is mentioned for 5v compatible loads. You can directly connect this point to 12v voltage source as the MOSFET is compatible to sustain upto 60v. Read the datasheet for full details.