Waarom dit handig is
Als je een haakpatroon tegenkomt in een andere taal — Engels (VS of UK), Duits of Frans — is het essentieel om de juiste vertaling te kennen. Dezelfde afkorting kan in verschillende systemen een andere steek betekenen. Dankzij dit schema kun je wereldwijd patronen lezen én correct haken.
Belangrijk: Check altijd of het patroon is geschreven in “US-terminologie” of “UK-terminologie” — dat bepaalt hoe steken vertaald moeten worden.
Meertalig haakstekenschema
| Nederlands / term |
Engels (US / UK) / afkorting |
Duits / afkorting |
Frans / term |
| losse / ketting / lossenketting (l) |
chain (ch) |
Luftmasche (Lm) |
maille chainette / maille en l’air (ml / ml-air) |
| halve vaste (hv) |
slip stitch (slst / ss) |
Kettmasche / feste Masche (Km / fM) |
maille coulée / maille serrée (mc / ms) |
| vaste (v) |
single crochet (sc — US) / double crochet (dc — UK) |
feste Masche (fM) |
maille serrée (ms) |
| half stokje (hst) |
half double crochet (hdc — US) / half treble (htr — UK) |
halbes Stäbchen (Hstb) |
demi-bride (db) |
| stokje (st) |
double crochet (dc — US) / treble (tr — UK) |
Stäbchen (Stb) |
bride (br) |
| dubbel stokje (dst) |
treble crochet (tr — US) / double treble (dtr — UK) |
Doppelstäbchen (DStb) |
double-bride (db) / dubbel stokje |
| driedubbel stokje (ddst / 3dst / drstk) |
double treble (dtr — US) / triple treble (trtr — UK) |
dreifaches Stäbchen (Dstb) |
triple-bride / driedubbel stokje |
| vierdubbel stokje (vdstk) |
quadruple treble (quadruple / trc-IV) |
vierfaches Stäbchen (VStb) |
vierdubbel stokje / (quadruple-bride) |
| cluster van 2 stokjes (2-cl) |
2 double crochet cluster (US) / 2 treble cluster (UK) |
2 Stäbchen-Cluster (2CL) |
cluster van 2 steken / 2-cl |
| cluster van 3 stokjes (3-cl) |
3 double crochet cluster / 3 treble cluster |
3 Stäbchen-Cluster (3CL) |
cluster van 3 steken / 3-cl |
| samenhaken — 2 steken samen (bijv. 2 vaste) |
sc2tog / dc2tog / tr2tog etc. |
2 samengehaakte steken (bv. 2 fMz / 2 HStb) |
samen / deux mailles ensemble |
| minderen (dec / decrease) |
decrease (dec) |
abnehmen |
diminution (dim) |
| meerderen (inc / increase) |
increase (inc) |
zunehmen |
augmentation (aug) / meerder |
| magische ring / adjustable ring (mr) |
magic ring / ring |
magischer Ring (MR) |
anneau magique / cercle ajustable |
| omslag / draad over de naald / yarn over (yo) |
yarn over (yo / yoh) |
Umschlag (U) |
jeté / omslaan |
| toer / rij / ronde (t. / row / rnd / round) |
row / round (rd / row) |
Reihe / Runde |
rang / tour / rij / toer |
| steek / stitch (st / sts) |
stitch (st / sts) |
Masche / Maschen (M / Ms) |
maille / maille(s) |
| overslaan / skip / miss |
skip (sk) / skip stitch |
überspringen / übersl |
sauter / passer / overslaan |
| alleen in achterste lus / back loop only (BLO) |
back loop only (BLO / blo) |
hinteres Maschenglied / achterste lus |
achterste steek / “arrière” / achter in de steek |
| alleen in voorste lus / front loop only (FLO) |
front loop only (FLO / flo) |
vorderes Maschenglied / voorste lus |
voorste steek / “devant” / voorin de steek |
| lossenruimte / chain space (ch-sp) |
chain space (ch-sp) |
— |
ruimte / between / tussenruimte / espace |
| samenvoegen / join / aanhechten |
join / aanhechten |
— |
joindre / aanhechten / hechten |
Belangrijke extra termen & haaktermen
Naast steken is het ook goed om vertalingen van algemene haaktermen te kennen — die komen vaak voor in patronen. Hier zijn enkele veelgebruikte termen uit de lijst van MooiZelfgemaakt:
-
crochet → haken
-
crochet hook → haaknaald
-
loop → lus
-
row → rij / toer / ronde
-
stitch → steek / maille / Masche
-
magic ring → magische ring
-
skip → overslaan
-
yarn over (yo) → maak een omslag / sla draad over de haak
-
turn → keer het werk / keer om
-
decrease (dec) → minderen / vermindering
-
increase (inc) → meerderen / toename
-
join → sluit de toer / aanhechten
-
back loop only (BLO / BO) → alleen in achterste lussen
-
front loop only (FLO / FO) → alleen in voorste lussen
-
chain space → lossenruimte / ruimte tussen steken
-
extended single crochet (esc / exsc) → verlengde vaste / verlengde steek
-
space (sp) → ruimte / tussenruimte
-
begin / beginning (beg) → begin / beginpunt
Hoe gebruik je dit schema
-
Bepaal eerst of het patroon US of UK is geschreven. De steken zoals “sc”, “dc”, “tr” kunnen per systeem totaal anders betekenen.
-
Gebruik het overzicht als naslagwerk. Print of sla op op je telefoon/computer — handig om snel termen te vertalen als je een patroon vind in het Engels, Duits of Frans.
-
Controleer steekomschrijvingen bij twijfel. Soms gebruiken ontwerpers speciale steken (clusters, meerdere n-op-stokjes, etc.). In dat geval helpt het om steekomschrijvingen te vergelijken met dit schema — zo voorkom je fouten.
Waarom dit complete overzicht waardevol is
-
Je kunt veel internationale patronen lezen — van Engels, Duits tot Frans — zonder dat je steeds online hoeft te zoeken.
-
Je verkleint de kans op fouten bij het haken: verkeerde vertaling = steken die niet kloppen.
-
Je krijgt toegang tot een veel grotere hoeveelheid inspiratie: blog- en patroonwebsites wereldwijd!
- Zelfs voor geavanceerde steken (clusters, dubbel/driedubbel stokje, lusvariaties) is er nu een duidelijke vertaling.
Download ►hier een makkelijk overzicht die u kunt uitprinten met alle vertalingen.
We hebben ook een handige stekenvertaler.
.mz-translator {
max-width: 900px;
margin: 0 auto;
background: #ffffff;
border-radius: 10px;
padding: 20px 24px 18px;
border: 1px solid #d6c8eb;
box-shadow: 0 2px 6px rgba(0,0,0,0.06);
font-family: Verdana, Arial, sans-serif;
}
.mz-header {
border-bottom: 2px solid #c09adf;
padding-bottom: 8px;
margin-bottom: 14px;
}
.mz-header h1 {
font-size: 1.5rem;
margin: 0;
color: #6d3b8a;
}
.mz-header p {
margin: 6px 0 0;
font-size: 0.95rem;
color: #555;
}
.mz-badge-row {
margin-top: 8px;
font-size: 0.82rem;
color: #6d3b8a;
}
.mz-badge {
display: inline-block;
background: #f5e9ff;
border-radius: 999px;
padding: 3px 8px;
margin-right: 6px;
border: 1px solid #e0d1ff;
}
.mz-translator label {
font-weight: bold;
display: block;
margin: 10px 0 6px;
color: #333;
}
.mz-input,
.mz-output {
width: 100%;
min-height: 90px;
padding: 10px;
border-radius: 8px;
border: 1px solid #c9c3d9;
font-family: "Courier New", monospace;
font-size: 0.95rem;
box-sizing: border-box;
resize: vertical;
background: #fbf9ff;
color: #222;
}
.mz-input:focus,
.mz-output:focus {
outline: none;
border-color: #b282de;
box-shadow: 0 0 0 2px rgba(178,130,222,0.25);
}
.mz-output {
margin-top: 8px;
min-height: 110px;
}
.mz-note {
margin-top: 10px;
font-size: 0.85rem;
color: #777;
}
.mz-abbrev-list {
margin-top: 10px;
font-size: 0.9rem;
}
.mz-abbrev-list ul {
padding-left: 18px;
margin: 4px 0 0;
}
.mz-abbrev-list li {
margin: 2px 0;
}
.mz-help-examples {
font-size: 0.9rem;
color: #555;
margin-top: 4px;
}
.mz-help-examples code {
background: #f5e9ff;
padding: 1px 4px;
border-radius: 4px;
font-family: "Courier New", monospace;
font-size: 0.9rem;
}
Patroonregel (in het buitenland): Nederlandse uitleg:De Nederlandse uitleg verschijnt hier automatisch…
Herkenbare afkortingen zijn o.a. mr, k, p, yo, k2tog, ssk, sc, dc, hdc, ch, sl st en Duits re, li, Umschlag, Lm, fm, Stb, DStb, plus varianten met getallen zoals 2re, 3lm, 2cl, 2v.
Dit is een hulpmiddel en geen officiële vertaling. Controleer altijd even met het originele patroon, vooral bij ingewikkelde kant- of ajourpatronen.
// ENG/DE → NL afkortingen
const abbrevDict = {
// --- ENG haken/breien (kort) ---
"k": "recht breien",
"p": "averecht breien",
"yo": "maak een omslag, sla de draad over de naald",
"k2tog": "2 steken recht samenbreien",
"p2tog": "2 steken averecht samenbreien",
"ssk": "2 steken afhalen en samen recht breien, links leunende mindering",
"sl": "steek afhalen",
"slst": "halve vaste",
"sl-st": "halve vaste",
"sl st": "halve vaste",
"sc": "vaste",
"hdc": "half stokje",
"dc": "stokje",
"tr": "dubbel stokje",
"bpdc": "achterlangs stokje",
"fpdc": "voorlangs stokje",
"ch": "losse",
"esc": "verlengde vaste",
"sp": "tussenruimte",
"blo": "alleen in de achterste lus",
"flo": "alleen in de voorste lus",
"dec": "minderen",
"inc": "meerderen",
"beg": "begin",
// --- jouw Duitse haak-afkortingen ---
"mr": "magische ring",
"lm": "losse",
"fm": "vaste",
"hst": "half stokje",
"hstb": "half stokje",
"stb": "stokje",
"dstb": "dubbel stokje",
"ddstk": "driedubbel stokje",
"3dstk": "driedubbel stokje",
"driestk": "driedubbel stokje",
"drstk": "driedubbel stokje",
"vdstk": "vierdubbel stokje",
"vstb": "vierdubbel stokje",
"2cl": "2 stokjescluster",
"3cl": "3 stokjescluster",
"2v": "2 samengehaakte vasten",
"2fmz": "2 samengehaakte vaste",
"2stsh": "2 samengehaakte stokjes",
"2hstb": "2 samengehaakte stokjes",
// --- Duits breien algemeen ---
"re": "recht breien",
"li": "averecht breien",
"r": "rij",
"rd": "toer",
"u": "omslaan",
"zus": "samenbreien",
"abn": "minderen",
"zun": "meerderen",
"m": "steek",
"km": "halve vaste",
"kettm": "halve vaste",
// --- Nederlandse korte afkortingen die je vaak ziet ---
"v": "vaste",
"t": "toer",
"gk": "goede kant",
"vk": "verkeerde kant",
"afh": "hecht af",
"vlg": "volgende",
"vrg": "vorige"
};
// hele woorden EN/DE → NL
const wordDict = {
// Engels
"row": "rij",
"rows": "rijen",
"round": "toer",
"rounds": "toeren",
"repeat": "herhaal",
"end": "einde",
"between": "tussen",
"marker": "markeerder",
"next": "volgende",
"every": "elke",
"into": "in",
"in": "in",
"space": "ruimte",
"skip": "overslaan",
"loop": "lus",
"stitch": "steek",
"stitches": "steken",
"crochet": "haken",
"hook": "haaknaald",
"magic": "magische",
"ring": "ring",
"turn": "keer het werk",
"decrease": "minderen",
"increase": "meerderen",
"join": "sluit de toer",
"chain": "losse",
"beginning": "begin",
"back": "achter",
"front": "voor",
// Duits
"reihe": "rij",
"reihen": "rijen",
"runde": "toer",
"runden": "toeren",
"umschlag": "omslaan",
"masche": "steek",
"maschen": "steken",
"rechts": "recht",
"links": "averecht",
"abnahme": "mindering",
"abnahmen": "minderingen",
"zunahme": "meerdering",
"zunahmen": "meerderingen",
"zusammen": "samen",
"überspringen": "overslaan",
"luftmasche": "losse",
"luftmaschen": "lossen",
"feste": "vaste",
"feste masche": "vaste",
"stäbchen": "stokje",
"doppelstäbchen": "dubbel stokje",
"kettenmasche": "halve vaste",
"kettenmaschen": "halve vasten",
"häkeln": "haken",
"magischer": "magische",
"erste": "eerste",
"letzte": "laatste",
"nächste": "volgende",
"vorherige": "vorige",
"rechte": "goede",
"linke": "verkeerde",
"seite": "kant",
"abnehmen": "minderen",
"zunehmen": "meerderen",
"zwischen": "tussen",
"faden": "draad",
"häkelnadel": "haaknaald",
"stopfnadel": "stopnaald"
};
function cleanToken(token) {
return token.replace(/[^a-z0-9äöüß]/gi, "");
}
function translateToken(token, seenAbbrevs) {
const clean = cleanToken(token);
const lower = clean.toLowerCase();
if (!clean) return token;
// 1. exacte afkorting
if (abbrevDict[lower]) {
seenAbbrevs.add(lower);
return token.replace(clean, abbrevDict[lower]);
}
// 2. afkorting + aantal (k2, p3, dc2, sc3, ch5, fm2, stb3, lm4, 2cl, 2v, 2fmz, 2stsh, 2hstb)
let m = lower.match(/^([a-z]+)(d+)$/);
if (m) {
const base = m[1];
const count = m[2];
// Engels breien
if (base === "k") { seenAbbrevs.add("k"); return token.replace(clean, count + " steken recht breien"); }
if (base === "p") { seenAbbrevs.add("p"); return token.replace(clean, count + " steken averecht breien"); }
// Engels haken
if (base === "sc") { seenAbbrevs.add("sc"); return token.replace(clean, count + " vasten"); }
if (base === "dc") { seenAbbrevs.add("dc"); return token.replace(clean, count + " stokjes"); }
if (base === "hdc"){ seenAbbrevs.add("hdc");return token.replace(clean, count + " halve stokjes"); }
if (base === "tr") { seenAbbrevs.add("tr"); return token.replace(clean, count + " dubbele stokjes"); }
if (base === "ch") { seenAbbrevs.add("ch"); return token.replace(clean, count + " lossen"); }
// Duits haken
if (base === "lm") { seenAbbrevs.add("lm"); return token.replace(clean, count + " lossen"); }
if (base === "fm") { seenAbbrevs.add("fm"); return token.replace(clean, count + " vasten"); }
if (base === "stb") { seenAbbrevs.add("stb"); return token.replace(clean, count + " stokjes"); }
if (base === "dstb"){ seenAbbrevs.add("dstb");return token.replace(clean, count + " dubbele stokjes"); }
if (base === "cl") { seenAbbrevs.add(count + "cl"); return token.replace(clean, count + " stokjescluster"); }
if (base === "v") { seenAbbrevs.add("v"); return token.replace(clean, count + " samengehaakte vasten"); }
if (base === "fmz") { seenAbbrevs.add("fmz"); return token.replace(clean, count + " samengehaakte vasten"); }
if (base === "stsh" || base === "hstb") {
seenAbbrevs.add(base);
return token.replace(clean, count + " samengehaakte stokjes");
}
}
// 3. getal + afkorting (2re, 3li, 4lm, 2fm, 3stb, 2cl etc.)
let m2 = lower.match(/^(d+)([a-z]+)$/);
if (m2) {
const count = m2[1];
const base = m2[2];
if (base === "re") { seenAbbrevs.add("re"); return token.replace(clean, count + " steken recht breien"); }
if (base === "li") { seenAbbrevs.add("li"); return token.replace(clean, count + " steken averecht breien"); }
if (base === "lm") { seenAbbrevs.add("lm"); return token.replace(clean, count + " lossen"); }
if (base === "fm") { seenAbbrevs.add("fm"); return token.replace(clean, count + " vasten"); }
if (base === "stb") { seenAbbrevs.add("stb"); return token.replace(clean, count + " stokjes"); }
if (base === "cl") { seenAbbrevs.add(count + "cl"); return token.replace(clean, count + " stokjescluster"); }
if (base === "v") { seenAbbrevs.add("v"); return token.replace(clean, count + " samengehaakte vasten"); }
if (base === "fmz") { seenAbbrevs.add("fmz"); return token.replace(clean, count + " samengehaakte vasten"); }
if (base === "stsh" || base === "hstb") {
seenAbbrevs.add(base);
return token.replace(clean, count + " samengehaakte stokjes");
}
}
// 4. hele woorden
if (wordDict[lower]) {
return token.replace(clean, wordDict[lower]);
}
return token;
}
function translateLine(line, seenAbbrevs) {
if (!line.trim()) return "";
const parts = line.split(/(s+)/);
const translated = parts.map(part => {
if (part.trim() === "") return part;
return translateToken(part, seenAbbrevs);
});
return translated.join("");
}
const input = document.getElementById("patternInput");
const output = document.getElementById("patternOutput");
const abbrevList = document.getElementById("abbrevList");
function handleInput() {
const text = input.value;
if (!text.trim()) {
output.value = "De Nederlandse uitleg verschijnt hier automatisch…";
abbrevList.innerHTML = "";
return;
}
const lines = text.split(/r?n/);
const seenAbbrevs = new Set();
const translatedLines = lines.map(line => translateLine(line, seenAbbrevs));
// Alles samen in één veld
output.value = translatedLines.join("n");
// Lijst met herkende afkortingen onder de velden
if (seenAbbrevs.size > 0) {
let html = "Herkende afkortingen:";
seenAbbrevs.forEach(abbr => {
const uitleg = abbrevDict[abbr] || "";
if (uitleg) {
html += "" + abbr + ": " + uitleg + " ";
}
});
html += "
";
abbrevList.innerHTML = html;
} else {
abbrevList.innerHTML = "";
}
}
input.addEventListener("input", handleInput);