NOTE: always check the code in your area, and double check your calculations with a licensed engineer if you can.
That being said some thing are fairly well documented for footings. Most of these revolve around how much weight you are going to support and the type of soil you have.
The load bearing ability of the soil (in general) can be looked up here . If you want to be absolutely certain about your soil hire a soil engineer. They will come out and use a penetrometer to check your soil. Usually, Clay is about 1500 to 2000 lbs per sq foot in bearing capacity.
The next portion is to figure out how much weight this footing is going to hold. Here is a formula you can use:
H (porch weight)= 40 lbs/sqft floor live load + 25 lbs/sqft dead load + 30 lbs/sqft roof live load = 95 lbs/sqft (assuming roof over porch).
S (Soil Bearing Capacity)=2000 (clay)
N (number of piers) = (7’x8’ Grid) = 56 piers
Size Required = (Number of Piers)* (Porch Weight) / (Soil Capacity) = N*H/S = 56*95/2000 = 2.66 sqft
Converted to inches = 2.66 sqft * 144 (sq inches in a sqft) = 383.04 sqIn which is close to 20”x20” width
Note: The above calculation does a bit of hand waving and averaging. For instance, piers in the center of a ballroom floor will have very little dead load on them, but may in fact have more live load than the 40 lbs/sqft. So those piers may in fact support more live load than 40 lbs/sqft. While the piers supporting the walls of the house have almost no live load and only dead load
This chart can also help:
Baring looking the thickness up in a table (like this), most footings are between 6 to 16 inches max. A common rule of thumb is that the thickness of the footer should be as thick as the wall/post it supports. The commonly held belief here is that the load placed on the footing spreads out at a 45 degree angle within the concrete pad. So having a pad that is the same thickness as the post on top of it will allow all the weight to be distributed to the outer edges of the footer.
The IRC R403.1.1 states that “Spread footings shall be at least 6 inches (152mm) in thickness”. So that is the minimum. However, sometimes it is a good idea to make the footing to be a little thicker. Imagine a 16 sqInch footing with a 20,000 Lbs load carried by a 4x4. It is possible the weight bearing down on the 4x4 can shear through 6” of unreinforced concrete (we are pushing the psi rating of some concrete at this point).
This means that you don't have to carry the width of the footing up to the top of the ground level (saving concrete). An thick and wide footing to act as kind of a snowshoe will carry lot of weight.
The thickness of the post that sits on top of the footing is determined by the weight it is supposed to support and the shear strength of the concrete in the footing. Basically if you take a 4x4 and put it on a footing and support 20,000 lbs it will shear through 5000 psi concrete. For your purposes a 12 in concrete tube as a post, should be fine for holding up a porch.
Rebar. The rebar is placed inside the concrete because it has a high yield strength which concrete does not. This helps keep the concrete from fracturing if loads deform or are uneven. While precise calculation of the amount of rebar needed is complex. Usually, an 18x 18 footer will need 4 pieces of #4 rebar placed horizontally and vertically to form a grid. If you are using a 12 in wide vertical tube as a post then place 4 pieces of rebar vertically in the tube the entire length.
Finally, it helps to anchor the footer to the concrete tube placed on top of it. You can do this by placing J bolts into the footers center during the footer pour (while the concrete is wet) then placing the 12" tube over the bolt when performing the pour for the post. This helps to keep the post anchored to the footer.