DPI/PPI

DPI / PPI

같은 물리적 크기로 인쇄할 때, 담긴 점(픽셀)이 적으면 뭉개지고 많으면 선명합니다 — 화면에서 멀쩡해 보여도 인쇄에서 깨질 수 있습니다.

다른 이름: 해상도ResolutionPrint resolution
···
html
<div class="row">
  <div class="chip"><canvas id="lo" width="12" height="12"></canvas><span class="cap">72 dpi</span></div>
  <div class="chip"><canvas id="hi" width="200" height="200"></canvas><span class="cap">300 dpi</span></div>
</div>
css
.row{display:flex;gap:8%;align-items:center;justify-content:center;width:100%;height:100%}
.chip{display:flex;flex-direction:column;align-items:center;gap:8px}
canvas{width:min(120px,34vw);aspect-ratio:1;border-radius:14px;box-shadow:0 0 0 1px var(--line);animation:breathe 3.6s ease-in-out infinite}
#lo{image-rendering:pixelated}
#hi{image-rendering:auto}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.cap{font:700 10px/1 ui-monospace,monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
js
function draw(id, res) {
  const c = document.getElementById(id);
  const ctx = c.getContext('2d');
  const bg = getComputedStyle(document.documentElement).getPropertyValue('--surface') || '#fff';
  ctx.fillStyle = bg.trim() || '#fff';
  ctx.fillRect(0, 0, res, res);
  ctx.fillStyle = '#5b5bf7';
  ctx.beginPath();
  ctx.arc(res / 2, res / 2, res * 0.36, 0, Math.PI * 2);
  ctx.fill();
  ctx.fillStyle = '#f25c8a';
  ctx.fillRect(res * 0.1, res * 0.1, res * 0.22, res * 0.22);
}
draw('lo', 12);
draw('hi', 200);

PPI(pixels per inch)는 이미지 파일이 1인치 안에 담고 있는 실제 픽셀 수, DPI(dots per inch)는 인쇄기가 1인치 안에 찍는 잉크 점 수입니다. 엄밀히는 다른 개념이지만 실무에서는 "이미지 해상도"라는 뜻으로 섞어 씁니다.

같은 이미지도 화면(보통 72~96 PPI면 충분)에서는 선명해 보이다가, 인쇄용으로 요구되는 300 PPI 기준에 못 미치면 확대할수록 픽셀이 깍두기처럼 그대로 드러납니다. 웹에서 다운받은 이미지를 인쇄물에 크게 쓰면 흔히 겪는 문제입니다.

파일을 늘린다고 해상도가 올라가지 않습니다 — 원본에 없던 정보를 만들어낼 수는 없어서, 포토샵의 "이미지 크기 늘리기"도 한계가 있습니다. 인쇄 크기를 정한 뒤 그 크기 기준으로 300 PPI가 나오는 원본을 구하는 게 순서입니다.

언제 쓰나

인쇄용 이미지를 받을 때는 파일 크기(KB)가 아니라 "인쇄 크기에서 300 PPI가 나오는지"를 확인하세요. 대형 현수막처럼 멀리서 보는 인쇄물은 100~150 PPI로도 충분합니다.