/* Vocabulary concept page · 食べる (taberu) — Japanese Parallel to ConceptPageDerivative. Same Swiss discipline. Vocab replaces "definition" as the headline entity; conjugation table takes the structural role of the notation table. */ const VocabPageTaberu = () => { const [hovered, setHovered] = React.useState(null); const [practiceForm, setPracticeForm] = React.useState("te-form"); // Pitch accent for 食べる: 2-mora HEAD-HIGH then drop. Pattern 2 (heiban + drop on 2nd). // We render contour over each mora cell. // タベル: ta(L) be(H) ru(H), drop after る — a heiban-ish pattern. const moraData = [ { kana: "た", roma: "ta", pitch: "L" }, { kana: "べ", roma: "be", pitch: "H" }, { kana: "る", roma: "ru", pitch: "H" }, ]; const dropAfterMora = 2; // index where pitch falls after particle attachment const conjugations = [ { id: "dictionary", jp: "食べる", kana: "たべる", roma: "taberu", gloss: "eat (plain)", polite: false, tense: "non-past", pol: "plain" }, { id: "masu", jp: "食べます", kana: "たべます", roma: "tabemasu", gloss: "eat (polite)", polite: true, tense: "non-past", pol: "polite" }, { id: "te", jp: "食べて", kana: "たべて", roma: "tabete", gloss: "eating; and eat", polite: false, tense: "—", pol: "conjunctive" }, { id: "past", jp: "食べた", kana: "たべた", roma: "tabeta", gloss: "ate", polite: false, tense: "past", pol: "plain" }, { id: "negative", jp: "食べない", kana: "たべない", roma: "tabenai", gloss: "not eat", polite: false, tense: "non-past", pol: "plain" }, { id: "past-neg", jp: "食べなかった",kana: "たべなかった", roma: "tabenakatta", gloss: "did not eat", polite: false, tense: "past", pol: "plain" }, { id: "potential", jp: "食べられる", kana: "たべられる", roma: "taberareru", gloss: "can eat", polite: false, tense: "non-past", pol: "plain" }, { id: "passive", jp: "食べられる", kana: "たべられる", roma: "taberareru", gloss: "be eaten", polite: false, tense: "non-past", pol: "plain" }, { id: "causative", jp: "食べさせる", kana: "たべさせる", roma: "tabesaseru", gloss: "make/let eat", polite: false, tense: "non-past", pol: "plain" }, { id: "imperative", jp: "食べろ", kana: "たべろ", roma: "tabero", gloss: "eat! (rude)", polite: false, tense: "—", pol: "imperative" }, ]; const examples = [ { jp: ["朝", "ご飯", "を", "食べました"], kana: ["あさ", "ごはん", "を", "たべました"], pos: ["N", "N", "PRT", "V"], gloss: "I ate breakfast.", level: "N5", }, { jp: ["パン", "より", "ご飯", "を", "食べたい"], kana: ["ぱん", "より", "ごはん", "を", "たべたい"], pos: ["N", "PRT", "N", "PRT", "V·DESI"], gloss: "I want to eat rice rather than bread.", level: "N4", }, { jp: ["子供", "に", "野菜", "を", "食べさせる"], kana: ["こども", "に", "やさい", "を", "たべさせる"], pos: ["N", "PRT", "N", "PRT", "V·CAUS"], gloss: "Make the child eat vegetables.", level: "N3", }, ]; // Embedding neighborhood — semantic space, not prerequisite. const neighbors = [ { jp: "食う", kana: "くう", roma: "kuu", gloss: "to eat (rough/masculine)", d: 0.06, freq: 1142, register: "rough" }, { jp: "飲む", kana: "のむ", roma: "nomu", gloss: "to drink", d: 0.11, freq: 287, register: "neutral" }, { jp: "噛む", kana: "かむ", roma: "kamu", gloss: "to chew, bite", d: 0.14, freq: 2018, register: "neutral" }, { jp: "味わう", kana: "あじわう", roma: "ajiwau", gloss: "to taste, savor", d: 0.16, freq: 3204, register: "literary" }, { jp: "頂く", kana: "いただく", roma: "itadaku", gloss: "to receive/eat (humble)", d: 0.17, freq: 691, register: "humble" }, { jp: "召し上がる", kana: "めしあがる", roma: "meshiagaru", gloss: "to eat (honorific)", d: 0.19, freq: 4112, register: "honorific" }, ]; return (
{/* Top crumb */}
§ JP · VOCAB / 日本語 · Verbs · ichidan / 食べる · vocab.jp.taberu
Mastered · 11 reviews · stability 38d

{/* Headline: kanji + furigana + reading */}
べる
{moraData.map((m, i) => ( {/* contour segment */} {/* horizontal at H or L */} {/* vertical transition to next */} {i < moraData.length-1 && moraData[i+1].pitch !== m.pitch && ( )} {/* drop indicator */} {i === dropAfterMora-1 && i === moraData.length-1 && ( )} {m.kana} {m.roma} ))} Pitch · 2 (atamadaka·heiban hybrid) [2] た↘べ↗る
vocab verb · ichidan (一段) · transitive · JLPT N5 · Top 100 · rank #87

To eat. The most common Japanese verb for eating, neutral in register. As an ichidan verb, all conjugations stem from 食べ (taberu minus -ru), which is the simplest stem class — no kana ending changes across the paradigm.

i
Sense
To eat (food). Used for solid food specifically; not for liquids (use 飲む).
ii
Sense · figurative
To live on, eke out, "eat by" (e.g. 食べていく — to make a living).
{/* Sidecar — quick-reference card */}

{/* Conjugation paradigm — modeled on the derivative-page notation table */}
PARADIGM

Conjugation

paradigm.jp.ichidan

Ichidan verbs share one paradigm. Every form below is generated from the stem 食べ by appending a fixed ending. The same shape applies to 見る, 寝る, 起きる and ~1,400 other verbs.

Form
Kanji
Kana
Romaji
Gloss
Register
{conjugations.map((c, i) => (
setPracticeForm(c.id)}> {String.fromCharCode(0x2160 + Math.min(i,9))} {c.id}
{c.jp}
{c.kana}
{c.roma}
{c.gloss}
{c.pol}{c.tense !== "—" ? " · " + c.tense : ""}
))}

{/* Practice slot — equivalent of explorable explanation */}
Try a form · interactive

Active form
{conjugations.find(c => c.id===practiceForm)?.jp}
{conjugations.find(c => c.id===practiceForm)?.roma}
{conjugations.find(c => c.id===practiceForm)?.gloss}
Construct from stem
食べ + { practiceForm === "dictionary" ? "る" : practiceForm === "masu" ? "ます" : practiceForm === "te" ? "て" : practiceForm === "past" ? "た" : practiceForm === "negative" ? "ない" : practiceForm === "past-neg" ? "なかった" : practiceForm === "potential" ? "られる" : practiceForm === "passive" ? "られる" : practiceForm === "causative" ? "させる" : "ろ" } = {conjugations.find(c => c.id===practiceForm)?.jp}
Click any row in the paradigm above. The suffix is the only varying piece.

{/* Examples with morpheme breakdown */}
EXAMPLES

In context

3 · selected by frequency
{examples.map((ex, i) => (
{String(i+1).padStart(2,"0")} {ex.level}
{ex.jp.map((seg, j) => ( {seg} {ex.kana[j]} {ex.pos[j]} ))}
{ex.gloss}
))}

{/* Embedding neighborhood — semantic adjacency */}
NEIGHBORHOOD

Semantic neighbors

qwen3 embedding · cosine distance

Verbs near 食べる in semantic space. Distance is cosine; register and frequency vary independently.

d
Word
Reading
Gloss
Register
Freq.
{neighbors.map((n, i) => (
{n.d.toFixed(2)}
{n.kana} · {n.roma}
{n.gloss}
{n.register}
#{n.freq}
))}

); }; window.VocabPageTaberu = VocabPageTaberu;