To block your phone number from appearing on Caller ID periodically or for a certain call in the United States, dial *67 or #31# directly before the number you are dialing. To block your number from appearing on the Caller ID of a specific person, add the person's number to your cellphone with *67 preceding it.
To permanently block your number from appearing on any Caller ID, ask the carrier of your phone to activate a per-line block for your number, or set up an automatic Caller ID block for all outgoing calls from your device. This service is not available everywhere. Where it is available, the carrier may charge a fee to permanently block your number from appearing on Caller ID. If the carrier does allow this service, it is possible to still make an unblocked call by dialing *82 before the number you wish to reveal your identity to.
Some cellphones allow you to block your number from appearing on Caller ID through the device's settings. To block your number on an iPhone, go to Settings, Phone and then Show My Caller ID. Turn the switch to Off. This service is not available with all carriers or in all countries. To block your number on Android, go to Settings, Phone and then Call Settings. Go to Additional Settings, and switch Caller ID to Off.
There are several apps that allow you to block your number on a call-by-call basis, for a specific person or on a permanent basis. The It's Me, Hide Caller ID and Secret Sheep apps cost a small fee, while HiddenCall and myCallerID are both free to use.