유리관 온도계를 겨드랑이에 끼우면 붉은 액체가 천천히 올라오고, 찬물에 담그면 내려간다. 온도계 속 액체가 오르내리는 것은 모든 물질이 더워지면 부피가 늘고 식으면 줄어드는데, 아래 둥근 부분에 담긴 액체가 가는 관으로 밀려 올라가면 아주 작은 부피 변화도 눈에 보이는 높이 차이로 커지기 때문이다. 온도계는 열을 재는 것이 아니라 액체가 얼마나 부풀었는지를 재는 장치다.
액체 속 분자는 온도가 오르면 더 활발히 움직이며 서로 간격을 벌린다. 알코올은 온도가 1도 오를 때 부피가 1000분의 1쯤 늘어나는데 그냥 컵에 담아서는 눈치챌 수 없는 양이다. 온도계는 액체를 아래 구슬 부분에 모아 두고 그 위에 머리카락만큼 가는 관을 붙여서, 구슬에서 늘어난 액체가 갈 곳이 그 가는 관뿐이게 만든다. 좁은 관이라 조금만 밀려 들어와도 높이가 몇 밀리미터씩 올라간다.
식으면 반대로 분자 간격이 줄어 액체가 구슬 쪽으로 내려간다. 관 안은 액체 말고 공기를 빼 두거나 질소만 조금 넣어 액체가 자유롭게 오르내리게 하고, 눈금은 물이 어는 온도와 끓는 온도를 재서 그 사이를 100칸으로 나눠 매긴 것이다. 그래서 눈금 간격이 고르고 어느 온도계나 같은 값을 가리킨다.
옛날 체온계에는 수은을 썼다. 수은은 온도에 따라 부피가 고르게 변하고 유리에 달라붙지 않으며, 체온계의 관 아랫부분을 살짝 좁혀 두면 올라간 수은이 저절로 내려오지 않아 겨드랑이에서 뺀 뒤에도 읽을 수 있었다. 재기 전에 체온계를 흔드는 것은 그 좁은 목 너머에 남은 수은을 구슬로 되돌려 보내는 동작이다. 수은이 독성이 있어 지금은 붉게 물들인 알코올이나 등유를 쓴다.
요즘 많이 쓰는 전자 온도계는 원리가 다르다. 온도에 따라 전기 저항이 변하는 작은 부품으로 재거나, 귀와 이마에 대는 적외선 체온계처럼 몸에서 나오는 적외선의 세기를 읽어 온도로 바꾼다. 몇 초면 재지는 대신 측정 자리와 거리에 따라 값이 흔들려, 병원에서는 여전히 액체 온도계나 접촉식 전자 체온계를 기준으로 삼는다.
온도계 속 액체가 오르내리는 것은 열에 따라 늘고 주는 부피를 가는 관이 눈에 보이게 키워 주기 때문이니, 온도계 눈금은 열 자체가 아니라 액체가 얼마나 부풀었는지를 읽는 자다.