KN Foundation SystemSystem 01

Korean Foundations: Hangul, Sound, and Sentence Architecture

Understand the system first: letters become syllable blocks, particles assign roles, and endings complete the message.

Architecture9core principles
9Systems
27Knowledge blocks
8Course links
KOLanguage
Foundation Briefing

Korean becomes easier when you stop treating it as a list of phrases and start seeing it as a layered language system. Hangul letters form syllable blocks. Nouns receive particles that declare their roles. Predicates close the sentence and carry tense, politeness, mood, and speaker attitude.

This foundation article connects those layers into one map. Each TypeScript model is a precise structural analogy: it records components, constraints, and output without pretending that code itself generates natural Korean. Read the language evidence first, then use the model to inspect how the parts relate.

Hangul Engineering Board한글

Build Korean from letters to syllable blocks

Hangul is a designed writing system. Learn the letters, understand their sound roles, then assemble them into readable Korean syllables.

19Initials
21Vowels
Basic set · 14

Basic consonants

Click a consonant to use it as the initial sound in the Syllable Builder.

Tense set · 5

Tense consonants

These sounds are produced with greater muscular tension, not simply by doubling the duration.

Selected initial
01
Principle 1hangul-system

Hangul is an engineered alphabetic system

3 blocks

Hangul, written 한글, is an alphabetic writing system. Its basic units are consonant and vowel letters called jamo. These letters are not written in a simple horizontal chain. They are arranged into square-looking syllable blocks.

For example, contains the initial consonant , the vowel , and the final consonant . The block contains , , and . Together they form 한글.

The visible block is one syllable unit, but its internal structure remains analyzable. This is the first key idea of Korean writing: one displayed block can contain several smaller sound components.

System definition
한글hangeulhan-gưl

Hangul — the Korean alphabet and writing system. The name itself is built from two syllable blocks: and .

Language evidence
한글hangeulhan-gưl

Hangul / the Korean writing system

KN Structure ModelType-level representation
KTM-JLHAGTypeScript
Source lines25
Type aliases7
Model modeSTATIC
// A structural model: components + rendered syllable.
type Initial = "ㅎ" | "ㄱ";
type Medial = "ㅏ" | "ㅡ";
type Final = "ㄴ" | "ㄹ";

type SyllableSpec<
  I extends Initial,
  M extends Medial,
  F extends Final,
  Surface extends string,
> = {
  initial: I;
  medial: M;
  final: F;
  surface: Surface;
};

type Han =
  SyllableSpec<"ㅎ", "ㅏ", "ㄴ", "한">;

type Geul =
  SyllableSpec<"ㄱ", "ㅡ", "ㄹ", "글">;

type Hangeul =
  readonly [Han, Geul];
Language structure → typed modelKN LANGUAGE SYSTEMS

The model records composition and surface form separately. Unicode composition produces the displayed block; simple string concatenation of jamo would not be equivalent to a precomposed Hangul syllable.

02
Principle 2vowel-system

Vowels control the sound center and block layout

2 blocks

Every Korean syllable requires a vowel. The vowel is the sound center of the block and also influences its visual layout. Vertical vowels such as , , and are commonly placed to the right of the initial consonant. Horizontal vowels such as , , and are commonly placed below it.

Start with six high-value vowels: a, eo, o, u, eu, and i. For Vietnamese learners, useful approximations are a, ơ, ô, u, ư, and i. These hints are orientation tools, not exact replacements for Korean pronunciation.

Language evidence
아 어 오 우 으 이a eo o u eu ia ơ ô u ư i

Six core Korean vowels

KN Structure ModelType-level representation
KTM-BV34LTypeScript
Source lines26
Type aliases6
Model modeSTATIC
type VerticalVowel =
  | "ㅏ"
  | "ㅓ"
  | "ㅣ";

type HorizontalVowel =
  | "ㅗ"
  | "ㅜ"
  | "ㅡ";

type CoreVowel =
  | VerticalVowel
  | HorizontalVowel;

type VowelLayout<
  V extends CoreVowel,
> =
  V extends VerticalVowel
    ? "initial-left / vowel-right"
    : "initial-top / vowel-bottom";

type LayoutOfA =
  VowelLayout<"ㅏ">;

type LayoutOfU =
  VowelLayout<"ㅜ">;
Language structure → typed modelKN LANGUAGE SYSTEMS

An initial is silent before a vowel, as in . In final position, the same letter represents the sound ng, as in .

03
Principle 3consonant-system

Consonants change according to position and tension

2 blocks

Korean consonants cannot be mapped perfectly to English or Vietnamese letters. Several basic consonants sit between familiar categories: may sound between g and k, between d and t, and between b and p. varies between an r-like and l-like sound depending on position.

Korean also distinguishes plain, aspirated, and tense consonants. Compare , , and ; or , , and . These are not just spelling variants. They differ in airflow, tension, and timing.

Use romanization only as temporary scaffolding. The stable target is the Hangul letter plus real listening evidence.

Language evidence
가 카 까 · 다 타 따 · 바 파 빠ga ka kka · da ta tta · ba pa ppaga/kha/k căng · đa/tha/t căng · ba/pha/p căng

Plain, aspirated, and tense consonant series

KN Structure ModelType-level representation
KTM-AHBJWTypeScript
Source lines34
Type aliases4
Model modeSTATIC
type Place =
  | "velar"
  | "alveolar"
  | "bilabial";

type Manner =
  | "plain"
  | "aspirated"
  | "tense";

type ConsonantSeries = {
  velar: {
    plain: "ㄱ";
    aspirated: "ㅋ";
    tense: "ㄲ";
  };

  alveolar: {
    plain: "ㄷ";
    aspirated: "ㅌ";
    tense: "ㄸ";
  };

  bilabial: {
    plain: "ㅂ";
    aspirated: "ㅍ";
    tense: "ㅃ";
  };
};

type PickConsonant<
  P extends Place,
  M extends Manner,
> = ConsonantSeries[P][M];
Language structure → typed modelKN LANGUAGE SYSTEMS

The categories model contrast, not exact pronunciation. Sound realization still depends on position and neighboring sounds.

04
Principle 4syllable-architecture

A syllable block has required and optional slots

3 blocks

A standard Hangul syllable block contains an initial consonant (초성), a medial vowel (중성), and optionally a final consonant (종성, often called 받침 in learning contexts).

contains initial and medial . adds final . If a spoken syllable begins with a vowel, the written initial slot is filled by silent , as in .

The block is therefore not a random drawing. It is a compact layout with defined slots. The Syllable Builder in KN Origin Lab exposes those slots directly.

Language evidence
한국HangukHan-gúc

Korea — two syllable blocks

KN Structure ModelType-level representation
KTM-WFYQXTypeScript
Source lines42
Type aliases5
Model modeSTATIC
type FinalSlot =
  string | null;

type SyllableBlock<
  Initial extends string,
  Medial extends string,
  Final extends FinalSlot,
  Surface extends string,
> = {
  slots: readonly [
    Initial,
    Medial,
    Final,
  ];

  surface: Surface;
};

type Han =
  SyllableBlock<
    "ㅎ",
    "ㅏ",
    "ㄴ",
    "한"
  >;

type Guk =
  SyllableBlock<
    "ㄱ",
    "ㅜ",
    "ㄱ",
    "국"
  >;

type Hanguk = {
  blocks: readonly [
    Han,
    Guk,
  ];

  surface: "한국";
};
Language structure → typed modelKN LANGUAGE SYSTEMS

Read Korean by syllable blocks, then refine the real pronunciation through sound rules and listening. Written and its spoken realization are related but not always mechanically identical in every context.

STRUCTURE MAP
The block exposes three functional slots: initial, medial, and final.
initial · 초성medial · 중성final · 종성
05
Principle 5particle-system

Particles assign grammatical roles to noun phrases

5 blocks

Korean attaches particles after nouns and noun phrases. A particle does not usually carry the main lexical meaning. Instead, it labels how that noun phrase participates in the sentence.

Core beginner markers include 은/는 for topic, 이/가 for subject, 을/를 for object, for time or destination, and 에서 for the location of an action.

This role-tagging system gives Korean more flexibility than a language that depends only on position. Word order still matters, but particles provide explicit local evidence about function.

System definition
조사josachô-sa

Particle — a grammatical marker attached to a noun phrase to express topic, subject, object, location, direction, comparison, and other relations.

Language evidence
저는 커피를 마십니다.Jeoneun keopireul masimnida.Chơ-nưn khơ-phi-rưl ma-sim-ni-da.

I drink coffee.

KN Structure ModelType-level representation
KTM-2BIG9TypeScript
Source lines31
Type aliases5
Model modeSTATIC
type ParticleRole = {
  "는": "topic";
  "를": "object";
};

type TaggedNoun<
  Stem extends string,
  Marker extends keyof ParticleRole,
> = {
  stem: Stem;
  marker: Marker;
  role: ParticleRole[Marker];

  surface:
    `${Stem}${Marker}`;
};

type Topic =
  TaggedNoun<"저", "는">;

type ObjectPhrase =
  TaggedNoun<"커피", "를">;

type Sentence = {
  topic: Topic;
  object: ObjectPhrase;
  predicate: "마십니다";

  surface:
    "저는 커피를 마십니다.";
};
Language structure → typed modelKN LANGUAGE SYSTEMS

The particle is modeled as a role-bearing field rather than decorative text. 저는 establishes the topic; 커피를 identifies the object.

STRUCTURE MAP
Particles assign roles before the predicate closes the sentence.
predicate
topic커피object마십니다
KN Korean CourseContinue in the structured course
3 lessons
06
Principle 6predicate-final-order

The predicate is the sentence's final control point

2 blocks

A basic Korean clause usually develops toward a final predicate. Topic, subject, object, time, place, and manner may appear before it; the predicate normally arrives last.

A useful beginner frame is topic/subject + complements + predicate. The predicate may be an action verb, a descriptive verb, or a noun predicate built with the copula 이다.

Do not decide the full meaning too early. Korean endings attached to the final predicate can change tense, politeness, question status, certainty, or attitude. Reading to the end is therefore a structural skill, not just a habit.

Language evidence
저는 한국어를 공부합니다.Jeoneun hangugeoreul gongbuhamnida.Chơ-nưn han-gu-gơ-rưl kông-bu-ham-ni-da.

I study Korean.

KN Structure ModelType-level representation
KTM-KQHYLTypeScript
Source lines27
Type aliases5
Model modeSTATIC
type TopicPhrase = {
  surface: "저는";
  role: "topic";
};

type ObjectPhrase = {
  surface: "한국어를";
  role: "object";
};

type Predicate = {
  surface: "공부합니다";
  position: "final";
};

type ClauseOrder = readonly [
  TopicPhrase,
  ObjectPhrase,
  Predicate,
];

type Sentence = {
  order: ClauseOrder;

  surface:
    "저는 한국어를 공부합니다.";
};
Language structure → typed modelKN LANGUAGE SYSTEMS

The final predicate 공부합니다 supplies the central event and formal-polite ending. Earlier phrases provide participants and context.

07
Principle 7topic-subject-system

Topic and subject are separate information roles

4 blocks

은/는 and 이/가 are often translated into languages that do not preserve their distinction. That translation can hide the real system.

은/는 frames what the discourse is about, often adding contrast or continuity. 이/가 identifies the grammatical subject, especially when introducing, selecting, or questioning a specific participant.

A topic may also contain or contrast with a subject inside a larger sentence. Therefore, do not memorize a single English or Vietnamese equivalent. Learn the information role each marker creates.

Language evidence
저는 학생입니다.Jeoneun haksaengimnida.Chơ-nưn hạc-seng-im-ni-da.

As for me, I am a student.

KN Structure ModelType-level representation
KTM-1KKOXTypeScript
Source lines32
Type aliases5
Model modeSTATIC
type TopicMarker =
  | "은"
  | "는";

type SubjectMarker =
  | "이"
  | "가";

type TopicPhrase<
  Surface extends string,
> = {
  surface: Surface;
  informationRole: "topic-frame";
};

type SubjectPhrase<
  Surface extends string,
> = {
  surface: Surface;
  grammaticalRole: "subject";
};

type SelfIntroduction = {
  topic:
    TopicPhrase<"저는">;

  predicate:
    "학생입니다";

  surface:
    "저는 학생입니다.";
};
Language structure → typed modelKN LANGUAGE SYSTEMS

저는 establishes the frame 'as for me'. The noun predicate then identifies the speaker as a student.

Language evidence
누가 왔어요?Nuga wasseoyo?Nu-ga oa-sơ-yo?

Who came?

KN Structure ModelType-level representation
KTM-VK2J4TypeScript
Source lines19
Type aliases2
Model modeSTATIC
type InterrogativeSubject = {
  stem: "누구";
  marker: "가";
  surface: "누가";

  role:
    "requested-subject";
};

type Question = {
  subject:
    InterrogativeSubject;

  predicate:
    "왔어요";

  surface:
    "누가 왔어요?";
};
Language structure → typed modelKN LANGUAGE SYSTEMS

The question requests the identity of a specific subject, so is natural.

KN Korean CourseContinue in the structured course
2 lessons
08
Principle 8ending-system

Sentence endings encode interaction as well as grammar

3 blocks

Korean sentence endings do more than finish a clause. They can express tense, sentence type, formality, politeness, certainty, softness, command, suggestion, and emotion.

For noun predicates, 입니다 is formal-polite. 이에요/예요 is polite and conversational. The choice between 이에요 and 예요 depends on whether the preceding noun has a final consonant.

Because interactional meaning is concentrated near the end, changing only the ending can change how the entire sentence relates the speaker to the listener.

Language evidence
학생입니다 · 학생이에요 · 의사예요haksaengimnida · haksaengieyo · uisayeyohạc-seng-im-ni-da · hạc-seng-i-e-yo · ưi-sa-yê-yo

Formal-polite and conversational-polite noun predicates

KN Structure ModelType-level representation
KTM-N8W15TypeScript
Source lines35
Type aliases5
Model modeSTATIC
type NounEnding =
  | "입니다"
  | "이에요"
  | "예요";

type NounPredicate<
  Noun extends string,
  Ending extends NounEnding,
  Surface extends string,
> = {
  noun: Noun;
  ending: Ending;
  surface: Surface;
};

type FormalStudent =
  NounPredicate<
    "학생",
    "입니다",
    "학생입니다"
  >;

type PoliteStudent =
  NounPredicate<
    "학생",
    "이에요",
    "학생이에요"
  >;

type PoliteDoctor =
  NounPredicate<
    "의사",
    "예요",
    "의사예요"
  >;
Language structure → typed modelKN LANGUAGE SYSTEMS

학생 ends with a final consonant, so conversational speech uses 이에요. 의사 ends in a vowel, so it uses 예요.

KN Korean CourseContinue in the structured course
3 lessons
09
Principle 9operational-patterns

Build first sentences from reusable structural patterns

3 blocks

Once the writing, role, order, and ending systems are visible, beginner sentences become reusable patterns rather than isolated phrases.

Useful starting frames include A은/는 B입니다 for formal identification, A이/가 있어요 for existence, A을/를 먹어요 for an object-action clause, and A에 가요 for movement toward a destination.

Korean frequently omits a subject that is recoverable from context. Therefore 한국어를 공부해요 can be a complete natural sentence even though no explicit word for I, you, or another person appears.

Language evidence
저는 베트남 사람입니다.Jeoneun beteunam saramimnida.Chơ-nưn bê-tư-nam sa-ram-im-ni-da.

I am Vietnamese.

KN Structure ModelType-level representation
KTM-F9901TypeScript
Source lines24
Type aliases3
Model modeSTATIC
type TopicPhrase = {
  stem: "저";
  marker: "는";
  surface: "저는";
};

type NounPredicate = {
  noun: "베트남 사람";
  ending: "입니다";

  surface:
    "베트남 사람입니다";
};

type SelfIntroduction = {
  topic:
    TopicPhrase;

  predicate:
    NounPredicate;

  surface:
    "저는 베트남 사람입니다.";
};
Language structure → typed modelKN LANGUAGE SYSTEMS

The sentence combines a topic phrase and a formal noun predicate. Each component has a distinct structural responsibility.

Language evidence
한국어를 공부해요.Hangugeoreul gongbuhaeyo.Han-gu-gơ-rưl kông-bu-he-yo.

I study Korean. / Korean is being studied, depending on context.

KN Structure ModelType-level representation
KTM-PE4PPTypeScript
Source lines28
Type aliases3
Model modeSTATIC
type OmittedSubject = {
  surface: null;

  recoverableFrom:
    "context";
};

type ObjectPhrase = {
  stem: "한국어";
  marker: "를";

  surface:
    "한국어를";
};

type ContextualSentence = {
  subject:
    OmittedSubject;

  object:
    ObjectPhrase;

  predicate:
    "공부해요";

  surface:
    "한국어를 공부해요.";
};
Language structure → typed modelKN LANGUAGE SYSTEMS

Subject omission is licensed by context. The sentence is structurally complete because the predicate and object are explicit and the missing participant is pragmatically recoverable.