Crystallization of salts is a common cause of damage in porous building materials. Understanding of the crystallization mechanism of salts is important in order to prevent or avoid the problem. Subflorescence of salts (i.e., crystallization within the pores of the body) can induce scaling and cracking, while efflorescence (i.e., crystallization in a film of solution on the exterior surface of the body) does not generally affect the coherence and endurance of the building materials. In this paper, we deal with the crystallization behavior of two salts, sodium sulfate and sodium chloride, in two bricks with different capillary porosity. The results reveal quite different crystallization behavior depending on salt and substrate. The supersaturation of the solution is induced in our experiments by evaporation. Indeed, the main reason for the different behavior of these salts is their different ability to supersaturate. Thus, the sodium sulfate solution is prone to be much more supersaturated than the sodium chloride solution. Furthermore, the solution transport, which depends on salt properties, material porosity, pore-clogging and environmental conditions, affects the position of the drying front and, with it, the crystallization front, leading to the formation either of efflorescence or of subflorescence. Simulation of the experiments is used to understand the effect of the influencing factors on the crystallization pattern. Therefore, considering both factors, supersaturation ratio and solution transport, it is possible to predict the different crystallization behaviors observed in the experiments.