Scale and proportion in a room

공간의 스케일과 비례

How well a piece of furniture's size matches the room around it and the human body using it — a beautiful piece that's too big or too small for its room still looks wrong.

Also known as: Furniture scale
···
html
<div class="room">
<svg viewBox="0 0 400 250">
  <line x1="20" y1="216" x2="380" y2="216" stroke="var(--line)" stroke-width="2"/>
  <g fill="var(--muted)">
    <circle cx="70" cy="120" r="14"/>
    <rect x="58" y="134" width="24" height="60" rx="10"/>
    <rect x="60" y="194" width="9" height="22" rx="3"/>
    <rect x="73" y="194" width="9" height="22" rx="3"/>
  </g>
  <g id="sofa" style="transform-origin:250px 216px">
    <rect x="180" y="176" width="140" height="40" rx="8" fill="var(--fg)" opacity=".6"/>
    <rect x="180" y="158" width="140" height="24" rx="10" fill="var(--fg)" opacity=".75"/>
    <rect x="172" y="160" width="16" height="56" rx="6" fill="var(--fg)" opacity=".75"/>
    <rect x="312" y="160" width="16" height="56" rx="6" fill="var(--fg)" opacity=".75"/>
  </g>
  <circle id="badge" cx="250" cy="50" r="20" fill="var(--accent-3)"/>
  <path id="mark" d="M242,50 l8,8 l16,-18" stroke="#fff" stroke-width="4" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</div>
css
.room{width:min(92%,480px);aspect-ratio:400/250}
.room svg{width:100%;height:100%;display:block}
js
const sofa = document.getElementById('sofa');
const badge = document.getElementById('badge');
const mark = document.getElementById('mark');
const steps = [
  { scale: 0.62, ok: false },
  { scale: 1, ok: true },
  { scale: 1.5, ok: false },
];
let i = 0;
function apply(s) {
  sofa.style.transform = 'scale(' + s.scale + ',1)';
  badge.setAttribute('fill', s.ok ? 'var(--accent-3)' : 'var(--accent-2)');
  mark.setAttribute('d', s.ok ? 'M242,50 l8,8 l16,-18' : 'M242,42 l16,16 M258,42 l-16,16');
}
apply(steps[0]);
setInterval(() => { i = (i + 1) % steps.length; apply(steps[i]); }, 1600);

Scale is the size relationship between a piece of furniture and the room around it; proportion is whether a single piece's own parts — arms, legs, backrest — look balanced against each other. Furniture that looks great in a photo often turns out wrong once it's actually placed, simply because it doesn't match the room's real ceiling height or footprint.

The easiest reference point is the human body. A sofa seat needs to sit near the back-of-knee height (roughly 40–45cm) to be comfortable to get in and out of, and a 25–30cm gap between tabletop and seat height is typical. Filling a large room with oversized furniture just narrows the walkways, and shrinking furniture to fit a small room can make it uncomfortable to actually use.

Measuring the room and ceiling height before shopping, then taping out a piece's real footprint on the floor, is far more reliable than judging size from a photo alone.

When to use

Measure the room and ceiling height before buying, and tape out the real footprint on the floor. Straying too far from human-scale measurements like seat height makes a piece uncomfortable no matter how good it looks.