HTML-Tabellengenerator
Erstellen Sie HTML-Tabellen visuell und kopieren Sie den Code.
So funktioniert es
- Stellen Sie die Anzahl der Zeilen und Spalten ein und klicken Sie dann auf Anwenden.
- Tippen Sie Daten direkt in die editierbaren Tabellenzellen.
- Schalten Sie Optionen wie Kopfzeile, gestreift, mit Rahmen und Hover ein.
- Klicken Sie auf HTML kopieren, um den erzeugten Code zu kopieren.
Häufige Fragen
Enthält der erzeugte Code CSS?
Ja. Wenn Sie Optionen wie gestreift, mit Rahmen oder Hover aktivieren, erzeugt das Tool Inline-CSS-Stile innerhalb des HTML, sodass die Tabelle überall funktioniert.
Wie groß darf die Tabelle maximal werden?
Bis zu 50 Zeilen und 20 Spalten. Für größere Datensätze nutzen Sie ein Tabellenkalkulationstool und exportieren nach HTML.
So funktioniert es
- Tabellenmaße festlegen: Geben Sie die Anzahl der Zeilen und Spalten ein, um das anfängliche Tabellenraster zu erzeugen.
- Daten ausfüllen: Klicken Sie auf Zellen, um Inhalt einzugeben, fügen Sie Kopfzeilen hinzu und schalten Sie Rahmen und Streifen ein.
- Tabelle stylen: Wählen Sie Rahmenstil, Hintergrundfarbe der Kopfzeile, Zeilenstreifen und Zellpolsterung.
- HTML kopieren: Das erzeugte Tabellen-Markup enthält ein
<thead>mit<th>-Headern und korrekter semantischer Struktur.
Warum den HTML-Tabellen-Generator nutzen?
HTML-Tabellen-Markup von Hand zu schreiben ist mühsam und repetitiv, vor allem bei Tabellen mit vielen Zeilen oder komplexen Headern. Die korrekte Verschachtelung von <table>, <thead>, <tbody>, <tr>, <th> und <td> jedes Mal richtig hinzubekommen, ist fehleranfällig. Dieser Generator erzeugt semantisch korrekte, barrierefreie HTML-Tabellen mit scope-Attributen auf Header-Zellen für Screenreader-Kompatibilität, mit korrekter Caption-Unterstützung und mit sauberem CSS für Rahmen und Hover-Zustände. Verwenden Sie ihn für Preistabellen, Vergleichstabellen, Datentabellen und Dokumentation.
Tabellen-Funktionen
- thead/tbody-Struktur: semantisches Tabellen-Markup für Barrierefreiheit
- Zeilenstreifen: abwechselnde Zeilenfarben mit nth-child-CSS
- Rahmenstile: vollständiges Raster, nur horizontal oder rahmenlos
- Spalten-/Zeilenfusion: colspan- und rowspan-Unterstützung
- Responsive Wrapper: optionaler horizontaler Scroll-Wrapper für Mobilgeräte
Was ist ein HTML-Tabellen-Generator?
Ein HTML-Tabellen-Generator gibt Ihnen ein visuelles Raster, das Sie wie eine Tabellenkalkulation ausfuellen koennen, und gibt dann das aequivalente <table>-Markup mit allen richtigen semantischen Elementen aus. Statt <table>, <thead>, <tbody>, <tr>, <th> und <td> von Hand zu tippen und Eroeffnungs- und Schliesstags zu zaehlen, legen Sie die Abmessungen fest, geben die Daten ein und kopieren das Ergebnis. Die Ausgabe ist HTML, das validiert und korrekt fuer Bildschirmleser gelesen wird.
Die semantischen Tabellenelemente sind seit dem Entwurf von 1993 in HTML und wurden in HTML 2.0 (1995) formalisiert. Sie existieren aus einem Grund: tabellarische Daten. Eine Preistabelle, eine Vergleichsmatrix, ein sortierbares Datenraster, ein Periodensystem der Elemente, jede rechteckige Sammlung von Fakten, bei der die Zeilen und Spalten Bedeutung tragen. Tabellen lesen sich korrekt fuer Hilfstechnologien, wenn sie fuer tabellarische Daten verwendet werden, und schaffen Barrierefreiheits-Albtraeume, wenn sie fuer Seitenlayout verwendet werden (die Aera von <div> und Flexbox beendete diesen Missbrauch).
Dieser Generator gibt barrierefreies Markup mit Scope-Attributen auf Kopfzellen, einem separaten <thead> fuer die Kopfzeile und Inline-CSS fuer die visuellen Optionen aus, die Sie ankreuzen. Die Ausgabe ist kopierfertig fuer Blog-Posts, Dokumentation, E-Mail-Vorlagen und jeden Kontext, der HTML akzeptiert. Das visuelle Raster laeuft vollstaendig in Ihrem Browser, sodass keine Daten Ihr Geraet verlassen.
Was im Generator steckt
Die obere Bedienzeile enthaelt zwei Zahleneingaben (Zeilen und Spalten), einen Anwenden-Knopf und vier Optionskontrollkaestchen (Kopfzeile, gestreifte Zeilen, mit Rand, Hover-Effekt). Passen Sie zuerst die Abmessungen an, klicken Sie auf Anwenden und kreuzen Sie dann die Optionen an, die zu Ihrem Design passen. Das bearbeitbare Raster unten aktualisiert sich sofort, und das generierte HTML im Textbereich spiegelt jede Aenderung wider, die Sie vornehmen.
Das bearbeitbare Raster ist eine echte HTML-Tabelle mit Inputs in jeder Zelle, sodass Sie zwischen Zellen tabben, eine Spalte von Werten einfuegen oder Tastaturnavigation verwenden koennen. Die Kopfzeile (wenn angekreuzt) wird mit einem farbigen Hintergrund gerendert, sodass Sie auf einen Blick sehen koennen, welche Zeile in der Ausgabe zu <th> wird. Die Ausgabebox darunter zeigt das resultierende HTML in Monospace, bereit zum Kopieren.
Drei Aktionsschaltflaechen befinden sich unten: HTML kopieren schreibt das Markup ueber die Clipboard-API in Ihre Zwischenablage, Vorschau umschalten zeigt unten eine gerenderte Version, damit Sie das Styling bestaetigen koennen, und Zellen loeschen leert die Daten, ohne die Abmessungen zuruekzusetzen. Die Vorschau verwendet dasselbe CSS wie die Ausgabe, sodass das, was Sie sehen, das ist, was Ihr Blog oder Dokument anzeigen wird.
Geschichte und Hintergrund
Tim Berners-Lee schlaegt Tabellen vor (1993)
Der erste HTML-Entwurf, der <table> enthielt, war Dave Raggetts HTML 3.0-Vorschlag Ende 1993. Das Element wurde an der LaTeX-Tabularumgebung und dem CALS-Tabellenmodell, das fuer technische Dokumentation verwendet wurde, modelliert. Mosaic und fruehe Netscape rendererten Tabellen, sobald das Markup vorgeschlagen wurde, sogar vor der Standardisierung, weshalb Tabellen zu den fruehesten visuellen Primitiven im Web gehoerten.
RFC 1942 standardisiert das Tabellenmodell (1996)
Dave Raggetts RFC 1942 (Mai 1996) gab HTML-Tabellen ihre erste formale Spezifikation, einschliesslich thead, tbody, tfoot, colgroup und dem Scope-Attribut fuer Barrierefreiheit. Im gleichen Jahr uebernahm die W3C HTML 3.2-Empfehlung das Tabellenmodell im Wesentlichen woertlich. Die Struktur ist seit drei Jahrzehnten weitgehend unveraendert geblieben.
Das dunkle Zeitalter der Layouttabellen (1996 bis 2005)
Bevor CSS weitgehend unterstuetzt wurde, verwendeten Designer Tabellen, um Seitenelemente zu positionieren: eine vier-zellige Tabelle hielt Kopfzeile, linke Navigation, Inhalt und Fusszeile. Die Technik funktionierte, produzierte aber unlesbares Markup, brach Bildschirmleser und machte das Neugestalten schmerzhaft. Eric Meyers CSS-Evangelium (2000 bis 2005) und Jeffrey Zeldmans Designing With Web Standards (2003) beendeten die Aera und gaben Tabellen ihren semantischen Zweck zurueck: tabellarische Daten.
CSS table-* Display-Werte (ab 2004)
CSS 2.1 fuegte display: table, table-row und table-cell hinzu, sodass Sie tabellenartiges Layout-Verhalten auf Nicht-Tabellen-Elementen erhalten koennen. Das war waehrend der kurzen Periode nuetzlich, als Flexbox und Grid noch nicht unterstuetzt wurden (etwa 2010 bis 2015). Heute haben display: grid und display: flex diese CSS-Tabellen-Werte fuer Layout ersetzt, und echte Tabellen sind fuer Daten reserviert.
ARIA-Grid-Rolle und Barrierefreiheit (2014)
WAI-ARIA 1.0 (2014) fuehrte role=grid fuer interaktive Tabellen ein und klaerte, wie Bildschirmleser Tabellenkopfzeilen ueber das Scope-Attribut und das Muster headers/id ankuendigen sollten. Moderne Bildschirmleser (NVDA, JAWS, VoiceOver) lesen eine korrekt markierte <table> mit Spalten- und Zeilenkontext korrekt, was mit <div>-basierten Rastern unmoeglich zu replizieren ist.
Responsive Tabellenmuster (2011 bis heute)
Als das iPhone kleine Bildschirme dominant machte, mussten Designer herausfinden, wie man breite Tabellen auf schmalen Viewports zeigt. Filament Groups 2011-Artikel ueber responsive Tabellen loste eine Welle von Mustern aus: horizontales Scrollen, gestapelte Zeilen auf Mobilgeraeten, nach Prioritaet kollabierende Spalten. Die CSS Working Group hat an Container-Abfragen und Subgrid gearbeitet, um diese Muster einfacher zu machen; vorerst ist der Standardansatz, die Tabelle in overflow-x: auto zu wickeln.
Praktische Workflows
Preistabellen fuer eine SaaS-Landingpage
Drei Spalten (Kostenlos, Pro, Enterprise) mal etwa zehn Funktionszeilen. Kreuzen Sie Kopfzeile an, um die Plannamen zu <th>-Zellen zu machen, kreuzen Sie mit Rand fuer klare Trennung an, lassen Sie gestreift aus, wenn Ihr Design eigene Zeilenhintergruende hat. Kopieren Sie das HTML, fuegen Sie es in Ihr CMS oder Ihre statische Seite ein und fuegen Sie eine duenne Wrapper-Klasse fuer Theming hinzu.
Vergleichsmatrix fuer Blog-Reviews
Beim Ueberpruefen von fuenf Tools ueber acht Kriterien hinweg liest sich eine Tabelle mit gestreiften Zeilen und Rand-Zellen sauberer als eine Aufzaehlungsliste. Kreuzen Sie gestreift, mit Rand und Kopfzeile an; tippen oder fuegen Sie die Daten ein; kopieren. Das semantische Markup macht den Vergleich in Feed-Readern, Archivdiensten und Bildschirmlesern lesbar.
Referenztabelle in API-Dokumentation
API-Docs zeigen oft Parametername, Typ, Standard und Beschreibung in tabellarischer Form. Der Generator gibt Ihnen die vier Spalten mit einer Kopfzeile, Sie fuellen die Parameter aus, kopieren das HTML und fuegen es in Markdown ein, das rohes HTML unterstuetzt, oder in Ihr Docs-Framework (Docusaurus, MkDocs, Hugo). Das Scope-Attribut macht die Spalten in Bildschirmlesern navigierbar.
E-Mail-Newsletter (mit Einschraenkung)
E-Mail-Clients (Outlook 2007 bis 2019 besonders) haben wild inkonsistente CSS-Unterstuetzung, sodass Newsletter-HTML immer noch Tabellen fuer Layout verwendet (eine Ausnahme zur Keine-Layouttabellen-Regel). Fuer Datentabellen innerhalb eines Newsletters funktioniert die Inline-gestylte Ausgabe des Generators in den meisten Clients. Testen Sie in Litmus oder Email on Acid, bevor Sie an eine grosse Liste senden.
Schnelle interne Dashboard-Mockup
Beim Prototyping eines internen Admin-Dashboards sieht eine statische HTML-Tabelle mit gestreiften Zeilen dem Endprodukt naeher aus als Platzhaltertext. Generieren Sie die Struktur, fuegen Sie sie in die React- oder Vue-Komponente ein, und ersetzen Sie die statischen Daten spaeter durch eine datengebundene Schleife.
PDF-Generierung aus HTML
Bei der Generierung von PDFs aus HTML mit Tools wie Puppeteer, wkhtmltopdf oder Chromes Drucken-zu-PDF rendern Tabellen zuverlaessig ueber alle Engines hinweg. Verwenden Sie den Generator, um die Tabelle zu bauen, fuegen Sie sie in Ihre Vorlage ein und fuehren Sie die PDF-Pipeline aus. Die Mit-Rand-Option gibt knackige gedruckte Linien ohne zusaetzliches CSS.
Haeufige Fallstricke
Tabellen fuer Seitenlayout verwenden
Tabellen sind fuer tabellarische Daten, nicht fuer Seitenstruktur. Eine <table> mit einer Zeile und drei Spalten zur Positionierung von Kopf, Inhalt und Seitenleiste laesst die Seite fuer Bildschirmleser als Datentabelle lesen, was verwirrend ist. Verwenden Sie stattdessen Flexbox oder CSS Grid fuer Layout. Die einzige Ausnahme ist HTML-E-Mail, wo Layouttabellen noch fuer cross-client Rendering noetig sind.
Fehlendes Scope-Attribut auf Kopfzellen
Jedes <th> sollte scope="col" oder scope="row" haben, damit Bildschirmleser wissen, welche Ueberschrift auf welche Datenzelle zutrifft. Ohne Scope muss der Leser raten, was oft falschen Kontext erzeugt. Dieser Generator gibt Scope automatisch fuer Kopfzeilen aus. Wenn Sie das HTML manuell bearbeiten, behalten Sie die Scope-Attribute bei.
Komplexe Ueberschriften (mehrstufig) ohne headers/id
Tabellen mit gruppierten Spaltenueberschriften (Q1, Q2 jeweils in Jan, Feb, Maer aufgeteilt) brauchen das headers-Attribut auf jeder Datenzelle, das auf die id der relevanten Ueberschriften zeigt. Scope allein ist fuer zweistufige Ueberschriften unzureichend. Der Generator produziert keine komplexen Ueberschriften; bearbeiten Sie dafuer das HTML manuell oder verwenden Sie ein CMS-Plugin, das das Muster unterstuetzt.
Breite Tabellen auf Mobilgeraeten
Eine sechsspaltige Tabelle ist auf einem 375 Pixel breiten Telefonbildschirm unlesbar. Das standardmaessige mobilfreundliche Muster ist, die Tabelle in ein div mit overflow-x: auto zu wickeln, sodass der Benutzer horizontal scrollen kann. Fuer spaltenlastige Tabellen erwaegen Sie, die Zeilen ueber @media (max-width) auf kleinen Bildschirmen in Mini-Karten zu stapeln. Die Ausgabe des Generators ist nicht auto-gewickelt; fuegen Sie den Wrapper in Ihrem CSS hinzu.
Leere Zellen ohne expliziten Inhalt
Ein leeres <td></td> liest sich fuer Bildschirmleser als leer, was beim Auflisten von 50 Eintraegen seltsam klingt. Wenn eine Zelle berechtigterweise keine Daten hat, schreiben Sie <td>—</td> oder <td aria-label="keine Daten">–</td>. Beachten Sie, dass die Bindestrich-Entitaet einen Em-Dash einfuehrt, den diese Seite vermeidet; verwenden Sie stattdessen einen Bindestrich, «N/A» oder «Nicht verfuegbar».
Sortieren und Filtern ohne progressive Verbesserung
Eine statische HTML-Tabelle kann von Benutzern nicht sortiert oder gefiltert werden. Wenn Ihr Publikum Interaktivitaet benoetigt, integrieren Sie DataTables, AG Grid oder Tanstack Table. Der Generator produziert die zugrunde liegende semantische Tabelle, die zur Grundlage dieser Bibliotheken wird. Tastaturnavigation und ARIA-Rollen kommen mit der Bibliothek.
Datenschutz und Datenverarbeitung
Alles laeuft in Ihrem Browser. Das visuelle Raster, die HTML-Ausgabe und die Vorschau leben alle im clientseitigen JavaScript. Wir senden Ihre Daten nirgendwohin, loggen keine Eingaben und speichern nichts in Cookies oder localStorage. Laden Sie die Seite neu und die vorherige Tabelle ist weg.
Sobald die Seite geladen ist, funktioniert das Tool offline. Sie koennen sich vom Netzwerk trennen und Tabellen mit Kundendaten, internen Preisen oder anderen vertraulichen Inhalten erstellen, ohne dass diese einen Drittanbieter-Server beruehren. Der HTML-kopieren-Knopf verwendet die Clipboard-API, die eine Benutzergeste erfordert und fuer externe Parteien nicht beobachtbar ist.
Wann eine statische HTML-Tabelle nicht zu verwenden ist
Seitenlayout (verwenden Sie Flexbox oder Grid)
Wenn Sie eine Seitenleiste neben dem Hauptinhalt, ein Karten-Raster oder eine Navigationsleiste wollen, verwenden Sie CSS Flexbox (display: flex) oder CSS Grid (display: grid). Tabellen fuer Layout produzieren verwirrende Bildschirmleser-Ausgabe und unflexibles HTML, das sich nicht an Viewport-Aenderungen anpasst wie moderne Layout-Primitiven.
Grosse Datensaetze (ueber 1000 Zeilen)
Eine statische HTML-Tabelle mit 10.000 Zeilen ist langsam zu rendern und verbraucht erheblichen Speicher. Verwenden Sie eine virtualisierende Raster-Bibliothek (TanStack Virtual, React Window, AG Grid), die nur sichtbare Zeilen rendert. Statisches HTML ist fuer weniger als ein paar hundert Zeilen in Ordnung.
Interaktive Datenmanipulation (verwenden Sie eine Raster-Bibliothek)
Wenn Benutzer sortieren, filtern, bearbeiten, gruppieren oder paginieren muessen, brauchen Sie eine echte Raster-Bibliothek. AG Grid, TanStack Table, DataTables und Bootstrap Table produzieren alle unter der Haube barrierefreies <table>-Markup und fuegen Interaktivitaet hinzu. Die Ausgabe des Generators ist der Ausgangspunkt, nicht das Ziel.
Diagramme und Grafiken (verwenden Sie SVG oder Canvas)
Ein Balkendiagramm ist keine Tabelle, sondern eine Visualisierung. Verwenden Sie Chart.js, D3, Recharts oder eine SVG-basierte Diagrammbibliothek. Wenn Sie sowohl ein Diagramm als auch eine zugrundeliegende Datentabelle fuer Barrierefreiheit benoetigen, rendern Sie das Diagramm und platzieren Sie eine <table> mit denselben Daten in der Naehe (oder versteckt in einer visuell verborgenen Klasse), damit Bildschirmleser-Benutzer die Zahlen erhalten.
Weitere Fragen
Sollte ich immer thead und tbody verwenden?
Fuer Tabellen mit einer Kopfzeile, ja. <thead> trennt die Kopfzeilen von den Datenzeilen, was Browsern erlaubt, die Kopfzeile bei langen Tabellen einzufrieren, und Bildschirmlesern erlaubt, Kopfzeilen korrekt anzukuendigen. Der Generator schliesst thead automatisch ein, wenn die Kopfzeilen-Option angekreuzt ist. Fuer Tabellen ohne Kopfzeile koennen Sie beides weglassen, aber es ist billig, <tbody> zur Vollstaendigkeit einzuschliessen.
Wann verwende ich scope="col" vs scope="row"?
scope="col" geht auf <th>-Zellen, die eine Spalte beschriften (die oberste Zeile der Ueberschriften). scope="row" geht auf <th>-Zellen, die eine Zeile beschriften (die ganz linke Zelle, wenn jede Zeile einen Namen hat). Die meisten Tabellen haben nur Spaltenueberschriften, also ist scope="col" der haeufige Fall. Wenn Sie beide haben, markieren Sie jede mit dem entsprechenden Scope.
Wie mache ich eine sortierbare Tabelle?
Verwenden Sie eine JavaScript-Bibliothek, die Click-to-sort zu vorhandenem <table>-Markup hinzufuegt. Sortable.js, TanStack Table und DataTables tun das alle. Reines CSS kann nicht sortieren. Die Ausgabe des Generators ist die statische Grundlage; legen Sie die Bibliothek in Ihrem endgueltigen Projekt darueber. Fuer Barrierefreiheit sollte die Bibliothek aria-sort zur aktiven Spalte hinzufuegen.
Was ist das beste responsive Muster?
Das einfachste und am besten zugaengliche ist overflow-x: auto auf einem umhuellenden div, das die Semantik der Tabelle bewahrt und gleichzeitig Benutzern erlaubt, horizontal zu scrollen. Fuer spaltenlastige Tabellen liest das gestapelte-Zeilen-Muster (display: block auf tds bei schmalen Breiten, mit Datenbeschriftungen ueber data-label-Attribute) jede Zeile als beschriftete Liste auf Mobilgeraeten. Beide sind gueltig; waehlen Sie basierend auf dem Lesen-vs-Vergleichen-Anwendungsfall der Tabelle.
Kann ich HTML-Tabellen in Markdown verwenden?
Die meisten Markdown-Prozessoren (GitHub Flavored Markdown, Pandoc, MDX, MkDocs, Hugo) akzeptieren rohes HTML neben Markdown-Syntax, sodass Sie die Ausgabe des Generators direkt einfuegen koennen. Die native Tabellensyntax von Markdown ist einfacher, fehlt aber colspan, rowspan, scope und Styling, sodass fuer alles, was ueber ein einfaches Raster hinausgeht, HTML besser ist. Hinweis: Einige strenge Markdown-Parser (CommonMark ohne Erweiterungen) ignorieren HTML standardmaessig.
Wie style ich abwechselnde Zeilenfarben ohne CSS?
Kreuzen Sie die Option Gestreifte Zeilen im Generator an. Die Ausgabe enthaelt Inline-Style-Attribute auf jeder zweiten Zeile, sodass die Streifung selbst in Kontexten ueberlebt, wo CSS entfernt wird (einige Webmail-Clients). Wenn Ihre Umgebung externes CSS erlaubt, bevorzugen Sie tr:nth-child(even) in einem Stylesheet, was sauberer als Inline-Styles und einfacher zu aktualisieren ist.