Minecraft Wiki:Projects/Village Blueprints
Here are the blueprints for all of the NPC village buildings along with tutorials showing how to build them. All villages spawn from a well. Streets made with gravel 3 blocks wide can lead away from from the well in any of the 4 cardinal directions. All streets are straight with intersections at right angles. Streets need not be flat across. Each block of a street can rise or fall at most 1 block to the front or the side of adjacent street blocks (with the exception of ravines, lakes and cavern entrances undercutting the gravel, causing cave-ins in the street). AMPLIFIED worlds ignore this rule.
The only structure a village is guaranteed to have is one and only one well. Villages will usually spawn with multiple farms and houses. The rarest buildings are blacksmiths, butchers, churches and libraries. Small villages may not even have one of each, but very large villages can spawn with multiples of each.
Please note that entry stairs are optional for all buildings and will not spawn if the door/entrance is at street level. If a building is spawned above street level, it will have stairs leading straight out from its entrance down to the street level. Also note that all asymmetric buildings can spawn as shown below or as a horizontal mirror image.
A percentage of buildings in a new village will generate without doors. Presumably the players are expected to build doors to help expand the village. However some buildings never spawn with doors (blacksmith and small house V1 for example).
Building roofs and interior benches have not yet made use of corner stairs. Instead they still use Oak Wood Planks.
Lastly, desert villages have sandstone based variants of all the buildings substituting regular sandstone for cobblestone or wooden logs, and smooth sandstone for wooden planks. Wooden doors and fence posts are still used despite the lack of wood sources. Desert blacksmiths still use stone slabs on the roof instead of sandstone slabs.