<textarea>
Zuletzt aktualisiert am 3. Februar 2026
Das <textarea>-Element erstellt ein mehrzeiliges Texteingabefeld in Formularen. Im Gegensatz zum einzeiligen <input type="text"> eignet sich textarea für längere Texte wie Kommentare, Nachrichten, Feedback oder Beschreibungen. Der Nutzer kann mehrere Zeilen Text eingeben und der Inhalt wird automatisch umgebrochen.
Grundlagen
Das textarea-Element unterscheidet sich in mehreren wichtigen Punkten von input-Feldern. Es ist immer mehrzeilig und erlaubt Zeilenumbrüche. Die Größe wird über die Attribute rows (Zeilen) und cols (Spalten) gesteuert, kann aber vom Nutzer meist per Drag-and-Drop verändert werden.
Ein wichtiger Unterschied zu input: Der Textinhalt steht zwischen den öffnenden und schließenden Tags, nicht im value-Attribut. Der Inhalt zwischen den Tags wird als Standardtext angezeigt.
Syntax
<label for="kommentar">Dein Kommentar:</label>
<textarea id="kommentar" name="kommentar" rows="4" cols="50">
Schreib hier deinen Kommentar...
</textarea>Attribute
| Attribut | Typ | Beschreibung | Beispiel |
|---|---|---|---|
name | String | Name des Feldes, wird beim Formular-Versand verwendet | name="nachricht" |
rows | Number | Anzahl der sichtbaren Textzeilen | rows="5" |
cols | Number | Anzahl der sichtbaren Zeichen pro Zeile | cols="40" |
placeholder | String | Platzhaltertext, der angezeigt wird wenn das Feld leer ist | placeholder="Deine Nachricht..." |
maxlength | Number | Maximale Anzahl erlaubter Zeichen | maxlength="500" |
minlength | Number | Minimale Anzahl erforderlicher Zeichen | minlength="10" |
required | Boolean | Macht das Feld zu einem Pflichtfeld | required |
readonly | Boolean | Verhindert Änderungen, Wert wird trotzdem versendet | readonly |
disabled | Boolean | Deaktiviert das Feld komplett, Wert wird nicht versendet | disabled |
wrap | String | Steuert Zeilenumbrüche beim Versenden: 'soft' (Standard) oder 'hard' | wrap="hard" |
form | String | ID des zugehörigen Formulars (wenn außerhalb des form-Elements) | form="meinformular" |
Beispiele
Einfaches Kommentarfeld
Ein typisches Kommentarfeld mit Label und passender Größe. Das Label ist über die id mit dem textarea verknüpft, was die Barrierefreiheit verbessert.
<label for="kommentar">Dein Kommentar:</label>
<textarea
id="kommentar"
name="kommentar"
rows="5"
cols="50"
placeholder="Was möchtest du mitteilen?"
></textarea>Textfeld mit Zeichenlimit
Ein textarea mit maximalem Zeichenlimit. Der Hinweistext unter dem Feld informiert den Nutzer über die verbleibenden Zeichen. In der Praxis würde man dies mit JavaScript dynamisch aktualisieren.
<label for="beschreibung">Produktbeschreibung:</label>
<textarea
id="beschreibung"
name="beschreibung"
rows="4"
cols="50"
maxlength="200"
placeholder="Beschreibe dein Produkt in max. 200 Zeichen"
></textarea>
<small id="char-count">Noch 200 Zeichen verfügbar</small>Readonly-Textfeld
Ein schreibgeschütztes textarea, das oft für AGB, Lizenzbedingungen oder andere Texte verwendet wird, die der Nutzer lesen aber nicht ändern soll.
<label for="agb">Allgemeine Geschäftsbedingungen:</label>
<textarea id="agb" name="agb" rows="6" cols="50" readonly>
§1 Geltungsbereich
Diese AGB gelten für alle Verträge...
§2 Vertragsabschluss
Der Vertrag kommt zustande durch...
</textarea>Barrierefreiheit
Für barrierefreie Textfelder solltest du immer ein <label>-Element verwenden, das über die id mit dem textarea verknüpft ist. Das ermöglicht Screenreadern, den Zweck des Feldes klar zu kommunizieren.
Bei zusätzlichen Hinweisen oder Fehlermeldungen nutze das aria-describedby-Attribut, um auf erklärende Texte zu verweisen. Das hilft Nutzern von assistiven Technologien, alle relevanten Informationen zu erhalten.
<label for="nachricht">Deine Nachricht:</label>
<textarea
id="nachricht"
name="nachricht"
rows="5"
aria-describedby="nachricht-hint"
></textarea>
<small id="nachricht-hint">
Bitte beschreibe dein Anliegen so genau wie möglich
</small>Häufige Fehler
textarea für einzeilige Eingaben verwenden: Ein häufiger Fehler ist, textarea für kurze einzeilige Texte zu nutzen. Verwende stattdessen <input type="text">. textarea ist nur für mehrzeilige Inhalte gedacht.
Fehlende Größenangaben: Ohne rows und cols hat das textarea eine Browser-abhängige Standardgröße, die oft nicht zur restlichen Seite passt. Gib immer explizite Werte an oder style das Feld mit CSS.
value-Attribut verwenden: Anders als bei input-Elementen funktioniert das value-Attribut bei textarea nicht. Der Standardinhalt steht zwischen den öffnenden und schließenden Tags: <textarea>Standardtext</textarea>.
Leerzeichen und Einrückung: Alle Zeichen zwischen den Tags werden als Inhalt interpretiert, auch Leerzeichen und Zeilenumbrüche. Wenn du keinen Standardtext willst, schreibe <textarea></textarea> ohne Inhalt dazwischen.
Browser-Kompatibilität
Das textarea-Element wird von allen Browsern vollständig unterstützt. Alle Attribute wie placeholder, maxlength und required funktionieren zuverlässig.
| Client | Unterstützung | Hinweise |
|---|---|---|
| Chrome | Komplett | — |
| Firefox | Komplett | — |
| Safari | Komplett | — |
| Edge | Komplett | — |
| Opera | Komplett | — |
Email-Kompatibilität
Das textarea-Element wird in E-Mail-Clients nicht unterstützt. Interaktive Formularelemente werden aus Sicherheitsgründen entfernt.
| Client | Unterstützung | Hinweise |
|---|---|---|
| Apple Mail | Keine | Entfernt Formularelemente aus Sicherheitsgründen. |
| Gmail | Keine | Gmail entfernt textarea-Elemente komplett aus dem HTML. |
| Outlook | Keine | Outlook entfernt Formularelemente vollständig. |
| Thunderbird | Keine | Formularelemente werden nicht unterstützt. |
| Yahoo Mail | Keine | Yahoo Mail entfernt Formular-Elemente aus dem HTML. |
Verwandte Elemente
Bleib auf dem Laufenden
Erhalte neue Inhalte direkt in dein Postfach
Was erwartet dich?
Neue Artikel & Videos
Wenn ich was Neues veröffentliche, erfährst du's hier zuerst.
Plattform & Kurs-Updates
Neue Kurse, Referenz-Updates und gelegentlich Sonderpreise zum Launch.
Einmal die Woche in deinem Postfach
Kurz, auf den Punkt, kein Spam.