보이스와 톤

Voice and Tone

보이스는 브랜드의 인격(항상 같음), 톤은 상황에 따른 표정(에러엔 차분하게, 성공엔 밝게).

다른 이름: Brand voice
···
html
<div class="stage">
  <div class="pane bad"><span class="mark">✕</span><span class="label">Before</span>
    <div class="bubble"><p class="copy" id="bt"></p></div>
    <p class="why" id="bw"></p></div>
  <div class="pane good"><span class="mark">✓</span><span class="label">After</span>
    <div class="bubble"><p class="copy" id="gt"></p></div>
    <p class="why" id="gw"></p></div>
</div>
css
.stage{width:94%;height:88%;display:flex;gap:4%}
.pane{position:relative;flex:1;border-radius:14px;border:1px solid var(--line);background:var(--surface);padding:16px 14px 12px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}
.mark{position:absolute;top:10px;right:12px;font:800 16px/1 system-ui;color:var(--accent-2)}
.good .mark{color:var(--accent-3)}
.label{position:absolute;top:10px;left:12px;font:700 10px/1 monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.bubble{width:90%;border-radius:14px 14px 14px 4px;border:1px solid var(--line);background:var(--bg);padding:12px 14px}
.copy{margin:0;font:600 clamp(11px,2.9vmin,14px)/1.5 -apple-system,sans-serif;color:var(--fg)}
.why{margin:0;font:500 11px/1.3 -apple-system,sans-serif;color:var(--muted);text-align:center}
js
const bt = document.getElementById('bt'), bw = document.getElementById('bw');
const gt = document.getElementById('gt'), gw = document.getElementById('gw');
const L = {
  ko: { bt: '처리에 실패하였습니다. 재시도하십시오.', bw: '에러 상황인데 딱딱한 합쇼체 명령조', gt: '저장이 안 됐어요. 다시 시도해볼까요?', gw: '같은 보이스, 에러엔 차분한 톤' },
  en: { bt: 'Processing has failed. Please retry.', bw: 'blunt and formal for an error moment', gt: "That didn't save — want to try again?", gw: 'same voice, softened tone for the situation' },
};
let lang = 'ko';
function paint() {
  const t = L[lang];
  bt.textContent = t.bt; bw.textContent = t.bw; gt.textContent = t.gt; gw.textContent = t.gw;
}
paint();
setInterval(() => { lang = lang === 'ko' ? 'en' : 'ko'; paint(); }, 2600);

보이스(voice)는 브랜드가 늘 유지하는 성격 — 친근한지 전문적인지 장난스러운지 — 이고, 톤(tone)은 같은 보이스가 상황에 맞게 조절되는 정도입니다. 사람도 성격은 그대로여도 축하할 때와 사과할 때 말투가 다른 것과 같습니다.

한국어 서비스에서 가장 흔한 톤 사고는 **해요체와 합쇼체를 한 화면에 섞는 것**입니다. "저장했어요"(해요체, 친근) 옆에 "삭제하시겠습니까?"(합쇼체, 격식)가 나란히 있으면 같은 서비스가 아닌 것처럼 느껴집니다. 하나를 정하고 전체에 일관되게 적용해야 합니다.

데모는 같은 메시지를 두 톤으로 보여줍니다. ✕는 상황에 안 맞게 딱딱하고, ✓는 보이스는 유지한 채 상황(에러)에 맞춰 차분합니다.

언제 쓰나

새 화면을 쓸 때 기존 화면의 문말 어미(해요체/합쇼체)부터 맞추세요. 에러·성공·삭제 상황별 톤 가이드를 미리 정해두면 편합니다.