위치와 형태에 따라 여러 가지로 분류할 수 있다. 가장 간략한 형식으로 동자형대공이 있는데 대들보 위에서 종보를 받치는 동자기둥이나 대들보 또는 종보의 중심에서 종도리를 받치는 동자기둥모양의 대공으로 단면이 정방형인 각재이다.
판형대공(板形臺工)은 하나 또는 몇 개의 판자를 중첩하여 받치는 것으로 사다리꼴처럼 밑면이 넓고 윗면이 좁은 형태가 일반적이다. 판형이라고 하지만 두께는 장여의 두께와 일치하는 것으로 종도리를 받치는 대공에 많이 쓰인다. 동자형이나 판형의 대공은 시공이 간편하나 모양이 투박하여 천장 속에 감추어지는 경우에 더 많이 쓰인다.
접시대공은 초각(草刻)을 한 부재를 중첩하면서 소로나 첨차형식을 가미하여 상부의 도리를 받는 형식인데 경우에 따라 十자형으로 짜올리기도 한다. 다만, 천장으로 가리울 때는 초각을 하지 않고 나무토막을 그대로 이용하기도 한다. 포대공(包臺工)은 공포를 짜듯이 하는 것인데, 간단한 것부터 복잡한 구조의 것까지 다양하다.
대개 주심포형식의 건물에서 채택되고 있는 형식으로 대들보 위에서 종보를 받치는 대공으로 쓰이고 있다. 화반대공에는 복화반(覆華盤)·파련대공(波蓮臺工) 등이 있다. 복화반은 상대(上代)의 건축물에 주로 쓰였던 것으로 조선시대는 거의 사용되지 않았다. 파련대공은 판형대공에 연꽃과 연잎을 초각하듯이 한 것이다.
천장을 설치하지 않은 집에서 많이 쓰였으며 설치장소는 주로 종도리 아래이다. 人자형대공은 그 실례를 볼 수는 없으나 고구려 벽화고분에서 그림으로 그려진 것을 찾아볼 수 있다. 人자형대공은 창방의 중간중간에서 주심도리를 받치는 구실을 하는 것으로도 사용되었는데, 뒤에 화반으로 변화된 것이라 할 수 있다.
가장 높은 곳에 설치되는 대공, 즉 종도리를 받치는 대공은 통상 마루대공[宗臺工]이라 하며, 중도리를 받치는 것을 중대공(中臺工)이라 한다.