Zum Inhalt springen
Aback Tools Logo

Dateiformatkonverter

Konvertieren Sie sofort zwischen 8 gängigen textbasierten Dateiformaten. CSV↔TSV, JSON↔XML, Markdown↔HTML, YAML↔JSON und INI↔JSON – alles bidirektional, alles in Ihrem Browser. Laden Sie Dateien hoch oder fügen Sie Text ein, erkennen Sie das Format automatisch und laden Sie die Ergebnisse herunter.

File Format Converter
From
To
Input (CSV)
Output (TSV)

Supported Conversions

CSV ↔ TSV

Comma-separated ↔ Tab-separated

JSON ↔ XML

Structured data interchange

Markdown ↔ HTML

Text markup to web markup

YAML ↔ JSON

Human-readable config data

INI ↔ JSON

Windows config to structured data

1 $

1 $

(.*?) /gi, '$1 ') // Horizontale Regeln .replace(/ /gi, '--- ') // Restliche Tags entfernen .replace(/ ]+>/g, '') // Zusätzlichen Leerraum bereinigen .replace(/ /g, ' ') .trim(); return md; } function yamlToJson(input: string): string { try Catch } function simpleYamlParse(yaml: string): Record { const result: Record = ; constlines = yaml.split(' '); for (const line oflines) { const trimmed = line.trim(); if (!trimmed || trimmed.startsWith('#')) continue; const colonIdx = trimmed.indexOf(':'); if (colonIdx > 0) } Ergebnis zurückgeben; } function jsonToYaml(input: string): string { try { const obj = JSON.parse(input); function toYaml(data: unbekannt, indent = ''): string { if (data === null) return 'null '; if (typeof data === 'string') { if (data.includes(':') || data.includes('#') || data.includes(' ')) return `"$ " `; return „$“; } if (typeof data === 'number' || typeof data === 'boolean') return `$ `; if (Array.isArray(data)) { return data.map(item => `$ - $ `).join(' ') + ' '; } if (typeof data === 'object') { let yml = ''; for (const [key, val] of Object.entries(data as Record )) { if (typeof val === 'object' && val !== null && !Array.isArray(val)) { yml += `$ $ : $ `; } else if (Array.isArray(val)) { yml += `$ $ : `; for (const item of val) { yml += `$ - $ `; } yml += ' '; } else { yml += `$ $ : $ `; } } return yml; } zurückkehren ''; } return toYaml(obj).trim(); } Catch } Function iniToJson(input: string): string { try { const result: Record > = ; let currentSection = 'general'; for (const line of input.split(' ')) { const trimmed = line.trim(); if (!trimmed || trimmed.startsWith(';') || trimmed.startsWith('#')) continue; const sectionMatch = trimmed.match(/^\[(.+)\]$/); if (sectionMatch) { currentSection = sectionMatch[1].trim(); if (!result[currentSection]) result[currentSection] = ; weitermachen; } const eqIdx = trimmed.indexOf('='); if (eqIdx > 0) { const key = trimmed.slice(0, eqIdx).trim(); let-Wert: string | Nummer | boolean = getrimmt.slice(eqIdx + 1).trim(); if ((value.startsWit h('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) if (value === 'true') value = true; else if (value === 'false') value = false; else if (!isNaN(Number(value)) && value !== '') value = Number(value); if (!result[currentSection]) result[currentSection] = ; result[currentSection][key] = value; } } return JSON.stringify(result, null, 2); } Catch } Function jsonToIni(input: string): string { try { const obj = JSON.parse(input); sei ini = ''; for (const [Abschnitt, Schlüssel] von Object.entries(obj as Record )) { ini += `[$ ] `; if (typeof keys === 'object' && keys !== null) { for (const [key, value] of Object.entries(keys as Record )) { ini += `$ =$ `; } } ini += ' '; } return ini.trim(); } Catch } /* -- Conversion Router -- */ function convert(from: Format, to: Format, input: string): string { if (from === to) return input; // CSV ↔ TSV if (from === 'csv' && to === 'tsv') return csvToTsv(input); if (from === 'tsv' && to === 'csv') return tsvToCsv(input); // JSON ↔ XML if (from === 'json' && to === 'xml') return jsonToXml(input); if (from === 'xml' && to === 'json') return xmlToJson(input); // Markdown ↔ HTML if (from === 'markdown' && to === 'html') return markdownToHtml(input); if (from === 'html' && to === 'markdown') return htmlToMarkdown(input); // YAML ↔ JSON if (from === 'yaml' && to === 'json') return yamlToJson(input); if (from === 'json' && to === 'yaml') return jsonToYaml(input); // INI ↔ JSON if (from === 'ini' && to === 'json') return iniToJson(input); if (from === 'json' && to === 'ini') return jsonToIni(input); return „Konvertierung von $ in $ wird noch nicht unterstützt.“; } /* – Hauptkomponente – */ export function ToolSection() { const [inputText, setInputText] = useState(''); const [outputText, setOutputText] = useState(''); const [fromFormat, setFromFormat] = useState ('csv'); const [toFormat, setToFormat] = useState ('tsv'); const [detectedFormat, setDetectedFormat] = useState (null); const [copied, setCopied] = useState(false); Nachteile t [error, setError] = useState(''); const [showDetails, setShowDetails] = useState(false); const fileInputRef = useRef (null); const handleConvert = useCallback(() => { if (!inputText.trim()) setError(''); try Catch (e) { setError(`Conversion error: $ `); setOutputText(''); } }, [inputText, fromFormat, toFormat]); const handleDetect = useCallback(() => { if (!inputText.trim()) const erkannt = discoverFormat(inputText); setDetectedFormat(detected); if (detected) }, [inputText]); const handleSwap = useCallback(() => , [fromFormat, toFormat, inputText, outputText]); const handleCopy = useCallback(() => { navigator.clipboard.writeText(outputText).then(() => ); }, [outputText]); const handleDownload = useCallback(() => { const format = ALL_FORMATS[toFormat]; const blob = new Blob([outputText], ); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `converted$ `; a.click(); URL.revokeObjectURL(url); }, [outputText, toFormat]); const handleFileUpload = useCallback((e: React.ChangeEvent ) => { const file = e.target.files?.[0]; if (!file) return; const reader = new FileReader(); reader.onload = (ev) => { const text = ev.target?.result as string; setInputText(text); const erkannt = discoverFormat(text); setDetectedFormat(erkannt); if (erkannt) }; reader.readAsText(file }, []); const handleReset = useCallback(() => , []); const fromConfig = ALL_FORMATS[fromFormat]; const toConfig = ALL_FORMATS[toFormat]; const FromIcon = fromConfig.icon; const ToIcon = toConfig.icon; return ( File Format Converter From {Object.entries(ALL_FORMATS).map(([value, f]) => ( ))} To {Object.entries(ALL_FORMATS).map(([value, f]) => ( ))} Detect Format {detectedFormat && ( Detected: )} {CONVERSION_PAIRS.slice(0, 5).map((pair) => ( } className= > ))} Input ( ) Upload Output ( ) {outputText && ( Download )} Convert to Clear {error && ( )} Unterstützte Konvertierungen {[ , , , , , ].map((item) => (

Formaterkennung: Das Tool analysiert Ihren Eingabetext, um das Format zu erraten. Es prüft auf JSON-Klammern, XML-Tags, YAML-Schlüssel-Wert-Paare, INI-Abschnitte, CSV-Kommas, TSV-Tabs und Markdown-Überschriften-/Listenmuster.

CSV/TSV: Einfacher Trennzeichenaustausch. CSV verwendet Kommas, TSV verwendet Tabulatoren. Zeilen bleiben erhalten.

JSON/XML: JSON wird in Objekte analysiert und als XML mit typisierten Attributen serialisiert. XML wird mit einem einfachen Regex-basierten Parser analysiert, der grundlegende verschachtelte Strukturen verarbeitet.

Markdown/HTML: Markdown-Header, Fett- und Kursivschrift, Links, Codeblöcke und Listen werden in HTML-Elemente konvertiert. HTML-to-Markdown kehrt den Prozess um.

YAML/JSON: YAML-Schlüssel-Wert-Paare (flach) werden in ein JSON-Objekt geparst. JSON-Objekte werden in das grundlegende YAML-Format serialisiert.

INI/JSON: INI-Abschnitte werden zu JSON-Objektschlüsseln. Schlüssel=Wert-Paare werden zu Eigenschaften. JSON wird zurück in das INI-Format serialisiert.

Warum den Dateiformatkonverter verwenden?

Konvertieren Sie zwischen 8 textbasierten Dateiformaten sofort in Ihrem Browser – keine Uploads, keine Server, keine Anmeldung.

  • Bidirektionale Konvertierung: Konvertieren in beide Richtungen: CSV↔TSV, JSON↔XML, Markdown↔HTML, YAML↔JSON und INI↔JSON. Tauschen Sie Formate mit einem Klick aus, um die Konvertierung rückgängig zu machen.
  • Intelligente Formaterkennung: Fügen Sie beliebigen Text ein und klicken Sie auf „Format erkennen“ – das Tool identifiziert automatisch CSV, TSV, JSON, XML, Markdown, HTML, YAML oder INI basierend auf Inhaltsmustern. Es ist nicht erforderlich, das Quellformat manuell anzugeben.
  • Unterstützung für das Hochladen von Dateien: Laden Sie Dateien direkt hoch, anstatt sie zu kopieren und einzufügen. Der Konverter liest den Dateiinhalt und erkennt automatisch das Format. Funktioniert mit .csv-, .tsv-, .json-, .xml-, .md-, .html-, .yaml-, .ini- und .txt-Dateien.
  • Ergebnisse kopieren und herunterladen: Kopieren Sie die konvertierte Ausgabe mit einem Klick in die Zwischenablage oder laden Sie sie als Datei im Zielformat herunter. Jedes Format verwendet den richtigen MIME-Typ und die richtige Dateierweiterung für eine nahtlose Integration.

Gängige Konvertierungsszenarien

Überbrücken Sie Formatlücken zwischen Tools, Sprachen und Plattformen durch sofortige Konvertierungen.

  • Migration von Entwicklerdaten: Konvertieren Sie JSON-API-Antworten in XML für die Integration älterer Systeme oder wandeln Sie XML-Konfigurationen in JSON für moderne JavaScript-Apps um. Schnelle CSV-zu-JSON-Umwandlung für die Frontend-Datenvisualisierung.
  • Vorbereitung von Tabellendaten: Konvertieren Sie CSV-Exporte aus Excel/Google Sheets in TSV für Unix-Tools oder wandeln Sie TSV-Datenbank-Dumps für den Tabellenimport zurück in CSV um. Behält alle Zeilen und Spalten bei.
  • Dokumentformatierung: Konvertieren Sie die Markdown-Dokumentation zur Veröffentlichung in HTML oder entfernen Sie HTML-E-Mails, um Markdown zur Versionskontrolle zu bereinigen. Funktioniert hervorragend für README-Dateien, Dokumente und Blog-Entwürfe.
  • Konfigurationsmanagement: Konvertieren Sie YAML-Konfigurationen (Docker, Kubernetes, CI/CD) in JSON für die programmgesteuerte Verarbeitung oder wandeln Sie INI-Dateien (PHP, alte Windows-Konfigurationen) in strukturiertes JSON für moderne Tools um.
  • Web Scraping und APIs: Konvertieren Sie Roh-HTML, das von Webseiten gescraped wurde, zum sauberen Lesen in Markdown, oder wandeln Sie JSON-API-Antworten für Konfigurationsdateien in YAML um. Behandeln Sie Daten in jedem Format, das Sie erhalten.
  • Plattformübergreifender Datenaustausch: Überbrücken Sie Formatlücken zwischen verschiedenen Tools und Plattformen. Konvertieren Sie INI-Konfigurationen in JSON für Node.js-Apps oder wandeln Sie XML-Datenexporte in CSV für technisch nicht versierte Stakeholder um.

Über den Dateiformatkonverter

Konvertieren Sie zwischen CSV, TSV, JSON, XML, Markdown, HTML, YAML und INI – sofort und privat.

  • Was ist der Dateiformatkonverter?: Ein browserbasiertes Tool zum Konvertieren zwischen 8 gängigen textbasierten Dateiformaten: CSV, TSV, JSON, XML, Markdown, HTML, YAML und INI. Alle 5 Konvertierungspaare sind bidirektional – konvertieren Sie mit einem einzigen Klick in beide Richtungen.
  • So funktionieren die Konvertierungen: CSV/TSV verwenden den einfachen Austausch von Trennzeichen. JSON/XML analysiert strukturierte Daten und serialisiert sie in das Zielformat. Markdown/HTML konvertiert Text-Markup in Web-Markup und zurück. YAML/JSON verarbeitet flache Schlüsselwertkonfigurationen. INI/JSON wandelt Konfigurationsabschnitte im Windows-Stil in strukturierte Objekte um.
  • 100 % privat und offline: Alle Konvertierungen erfolgen in Ihrem Browser. Es werden keine Daten an einen Server gesendet. Keine Uploads, keine Verarbeitungswarteschlangen, keine APIs von Drittanbietern. Nach dem Laden der ersten Seite arbeitet der Konverter vollständig offline.
  • Für Entwickler und Datenbenutzer: Entwickelt für Softwareentwickler, Datenanalysten, technische Redakteure, DevOps-Ingenieure und alle, die mit strukturierten Textdaten arbeiten. Die intelligente Formaterkennung spart Zeit, indem sie Ihr Eingabeformat automatisch erkennt.