Say I have a given piece of hardware (CPU/GPU). Where can I find out how much Bitcoin will I mine per day?
Go to http://bitminter.com/test and click the "test start" button. If you have Java installed the miner should launch. Click "engine start" on your GPU(s) to start mining and the GUI will show how many bitcoins per day you will make (on average).
Note that you are actively mining in a pool without getting paid. This test page launches a version of the miner which is only meant to be used for a short time for testing.
Update for 2015: CPU and GPU mining are both long dead. When you buy ASIC mining hardware you will know its hashrate before you buy. Don't buy if you don't. Google "bitcoin mining calculator", input your hashrate, and it will tell you how much you can earn right now, on average. Note that the difficulty will change in the future so your earnings will not stay the same. Also note that with most pools actual earnings vary with luck. Finally, avoid the typical newbie mistake of confusing TH/s and GH/s. 1 TH/s = 1000 GH/s.
There is a list here that is kept relatively up to date with the possible hashrate of various CPUs and GPUs
Once you know the number of hashes you can generate, you can use an online mining calculator and calculate the numbers of bitcoins you can mine per day (on average) and the current price of those bitcoins in other currencies.
It is worth pointing out that when most people talk about "mining" bitcoins these days, they are talking about pooled mining. Depending on the fees of your pool you can make anywhere from 2%-10% less than expected. If you mine by yourself, the bitcoin you are expected to make has a high degree of variance.
D = Difficulty
H = MHash/s
C = Reward (currently 12.5 BTC)
24 / (D * 2^32 / (H * 10^6) / 60 / 60) * C = BTC/day
D is the current difficulty H is your hash rate in Mhash/s B is block reward in BTC
Then you can expect to earn:
(H*B/D) * (60*60*24 * 65535 * 10^6 / 2^48) = (H*B/D) * (5.662224e15 / 2^48) BTC per day (1)
(H*B/D) * 20.11626 BTC per day (2)
The current block reward B is a little over 12.5 BTC if you take transaction fees into account. (The transaction fees vary block by block; the core reward halves periodically, e.g. to 6.25 in mid-2020.)
(1) is exactly correct
(2) is an approximation, correct to 7 significant digits
This answer is slightly off due to assuming 65535 == 65536.
Yet another bitcoin mining profitability calculator - detailed and including a decline factor to compensate for mining hardware advancement (I am the author).
You should consult this wiki entry to know how many hashes per second can you generate with your hardware. Afterwards, just input the value into a bitcoin mining calculator and you will have an estimation of your payout ratio.
Please note that this calculator does not take difficulty into account so your earned value is likely to change over time. There are other calculators that try to predict the evolution of the difficulty, but they are not very accurate. Right now, difficulty depends on too many factors to be correctly predicted for a period longer than a couple of months.
I was confused by the profitability calculators I saw because I find it hard to get a feeling for how the difficulty influences my yield and also for where I can expect the difficulty to go, since it's such an abstract value.
So I now use what to me is more intuitive: there's a (more or less) fixed number of 3,600 BTC gained from mining each day, until the block reward halves in 2017. Those coins can be viewed as being shared by the whole network proportionally to the computing power of each player.
So, let's assume a network power of 360 Thash/s, which seems not far away as I write this, and makes for easy calculation, then for every Ghash/s that your equipment brings to the table, you get 0.01 BTC per day.
If you're solo mining, this is overly simplified, but the general direction of solo mining is that your actual yield will only on average match the theoretical one, so if you're much much smaller than the network (likely), then your variance gets so high that it becomes a lot like a lottery.
NiceHash has a nice calculator that will give you expected return on crypto mining, based on hardware and electricity price
If you are interested in how your profitability will change as the network hashrate grows this calculator is the best IMO.
Although you will have to make some guesses about how the network will grow, it should be more accurate than just a plain guess as to what the difficulty will be in X months time.