What blocks can Mobs/The Player spawn on?

I was wondering what specific blocks a mob can spawn on, and which ones they can't. I know that block "opacity" and "transparency" have a part to play, but not all of these rules apply properly.
Can someone generate a list of all the blocks a mob (and if there is a difference between hostile/passive mob) can spawn on?
Is there any restriction for a player?
Best Answer
All transparent blocks, with the exception of slime blocks, redstone blocks, and active redstone ore (when glowing after being hit), cannot be spawned upon.
A full list of the transparent blocks that no monsters spawn on:
Furnace (when active)
Glass
Glowstone
Ice
Jack o'Lantern
Leaves (Fancy graphics)
Piston (Retracted)
Redstone Lamp (when active)
Redstone Ore (when active)
Sticky Piston (Retracted)
TNT
Anvil
Bed
Brewing Stand
Cake
Carpet
Cauldron
Chest
Cobblestone Wall
Daylight Sensor
Door
Enchantment Table
Ender Chest
Farmland
Fence
Fence Gate
Glass Pane
Iron Bars
Ladder
Lily Pad
Nether Brick Fence
Piston (Extended)
Redstone Repeater
Redstone Comparator
Snow (layer) (2 - 8 layers)
Sticky Piston (Extended)
Trapdoor
Trapped Chest
Vines
Button
Lever
Pressure Plate
Weighted Pressure Plate
Rail
Powered Rail
Detector Rail
Activator Rail
Redstone Dust
Redstone Torch
Air
End Portal
Fire
Portal
Sign
Snow (cover) (single layer)
Torch
Cactus
Crops
Flowers
Grass
Mushrooms
Saplings
Sugar Cane
Lava
Water
End Portal Frame
Mob Spawner
Exceptions that are both transparent and spawnable upon:
Block of Redstone
Hopper
Slime
Also other notable exceptions:
Slabs not aligned with the top of the block-space (normal) cannot be a spawning are. Slabs aligned with the top/double slabs can be spawned upon.
Right-side-up stairs (stair side up) cannot be spawned upon, upside down one can (flat side up).
Pictures about "What blocks can Mobs/The Player spawn on?"



Can mobs spawn on player placed blocks?
Mobs can only spawn on opaque blocks, ruling out the use of glass platforms.What blocks can players not spawn on?
Mob spawning in Minecraft is limited to a 128 blocks distance from a player.How many blocks from player mobs spawn?
Mobs cannot spawn on normal, right-side-up single slabs (the ones occupying the lower half of the block), as they're considered transparent blocks. They can spawn on upside-down single slabs (as of the 1.5 update) and double-slabs (which are full, opaque blocks).What Blocks Can Mobs Not Spawn On? [1.17]
More answers regarding what blocks can Mobs/The Player spawn on?
Answer 2
Been testing on creative, MC 1.10.
Tested the tranparent blocks list above and so far Jack-o-lanterns will spawn mobs. AFAIK, Jack-o's aren't transparent anyhow. They just behave differently. They also emit a light level of 14 (?) so in the overworld, hostiles wont spawn?
Add to lists of spawnable blocks: Pistons (sticky or otherwise, retracted or extended), and string
Spawn through blocks (mobs don't spawn on them but they can spawn through them, i.e. on the block said block is on.): Signs, Torches
(Test are in nether, above bedrock, at highest level, or at least 2 blocks below that coz there's no light in 256)
Sources: Stack Exchange - This article follows the attribution requirements of Stack Exchange and is licensed under CC BY-SA 3.0.
Images: Karolina Grabowska, Truman Rexti, Sergey Meshkov, David Morris