Pour the milk into a large stainless steel pot and heat it over medium-low heat until it reaches 55°C (130°F), stirring occasionally.
Dissolve the citric acid in 1/4 cup of cool, non-chlorinated water. Note: You can skip the water and citric acid mixture in favor of 14 tablespoons of vinegar for a more natural recipe.
Once the milk reaches 55°C (130°F), slowly add the citric acid (or vinegar) solution while stirring gently.
Continue heating the milk until it reaches 88°C (190°F), stirring occasionally.
Remove the pot from heat and add the rennet to the milk, stirring gently for about 30 seconds.
Cover the pot and let it sit undisturbed for 5 minutes.
After 5 minutes, check for a clean break. Insert a knife or your finger into the curds, and if it comes out clean, you have a good curd formation. If not, let it sit for a few more minutes.
Cut the curds into 1/2-inch cubes using a curd cutter or a knife.
Place the pot back on low heat and slowly heat the curds to 105°F (40°C), stirring gently to prevent matting.
Once the curds reach 105°F (40°C), remove them from heat and continue stirring gently for 5 minutes.
Transfer the curds to a microwave-safe bowl using a slotted spoon, draining off excess whey.
Microwave the curds on high for 1 minute.
Drain off the whey and knead the curds with a spoon or your hands, folding and stretching them until they become smooth and pliable.
Microwave the curds for an additional 35 seconds and repeat the kneading process.
Sprinkle non-iodized salt over the cheese and continue kneading until it reaches the desired texture.
Shape the cheese into a ball or place it in cheese molds if desired.
Immerse the cheese in a bowl of ice water for about 20 minutes to cool and set.
Once cooled, store the mozzarella cheese in the refrigerator in an airtight container or wrapped in cheese cloth.