# Webtools Audit

Stand: 2026-05-20

Zweck: Alle sichtbaren Webtools mit Eingaben, Funktionen, Mechanismen und Formeln zum Fehlerpruefen.

## Zusammenfassung

- Gesamt gelistet: 197
- Individuelle Blade-Tools: 77
- Quick-Config-Tools: 120
- Doppelte Slugs: keine
- Quick-Tools ohne eigenen Rechen-case: keine
- Quick-Tools nutzen zentrale Render-Datei `resources/views/tools/quick.blade.php`.

## Pruef-Checkliste

- Eingabe leer, 0, negativ, sehr gross testen.
- Dezimal-Komma und Dezimal-Punkt testen.
- Mobile Layout pruefen: 360px Breite, lange Woerter, lange Ergebnisse.
- Copy-Buttons und localStorage testen.
- Bei Formeln mit Prozent: 0%, 100%, >100% testen.
- Bei Datum/Zeit: Vergangenheit, Zukunft, Zeitzone, Monatsgrenzen testen.
- Bei Text/Regex: Umlaute, Emoji, HTML, sehr lange Texte testen.

## Tools

| # | Tool | Slug | Quelle | Eingaben | Funktionen, Mechanismen, Formeln |
|---:|---|---|---|---|---|
| 1 | A/B Test Rechner | `ab-test-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Besucher A (visA, number, default 1000)<br>Conversions A (convA, number, default 42)<br>Besucher B (visB, number, default 1000)<br>Conversions B (convB, number, default 55) | Conversion Rates zweier Varianten vergleichen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: rateA = n('convA') / Math.max(1, n('visA')); rateB = n('convB') / Math.max(1, n('visB')); lift = rateA ? (rateB / rateA - 1) * 100 : 0 |
| 2 | Alter Rechner – Wie alt bin ich | `alter-rechner` | resources/views/tools/alter-rechner.blade.php | bday (bday, date)<br>target (target, date) | Alter Rechner online: Wie alt bin ich heute? Geburtsdatum eingeben – genaues Alter in Jahren, Monaten, Tagen, Stunden. Plus Sternzeichen und Generation.. Datums-/Zeitrechnung; Regex/Text-Parsing; numerische Formeln. Funktionen: zodiac, generation, calc. Konstanten: WEEKDAYS, SIGNS, GENS, bdayVal, targetVal, bday, now, totalDays, totalMonths, nextBday. Formeln/Operationen: y = now.getFullYear()-bday.getFullYear(); m = now.getMonth()-bday.getMonth(); totalDays = Math.floor((now-bday)/86400000); totalMonths = y*12+m; daysToNext = Math.ceil((nextBday-now)/86400000); lifeExpect = 82, usedPct=Math.round((y/lifeExpect)*100) |
| 3 | Altersrechner | `altersrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Geburtsdatum (birth, date, default 1995-01-01) | Alter in Jahren, Monaten und Tagen berechnen.. Zeit-/Dauerrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: birth = new Date(value('birth')); now = new Date(); birthdayThisYear = new Date(now.getFullYear(), birth.getMonth(), birth.getDate()); nextBirthday = now <= birthdayThisYear ? birthdayThisYear : new Date(now.getFullYear() + 1, birth.getMonth(), birth.getDate()) |
| 4 | Amortisationsrechner | `amortisationsrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Investition in Euro (investment, number, default 2400)<br>Monatliche Ersparnis in Euro (saving, number, default 120) | Dauer bis sich eine Investition durch Ersparnis bezahlt macht.. Ausgabe als Kennzahlen-Tabelle. Formeln: months = n('saving') > 0 ? Math.ceil(n('investment') / n('saving')) : 0 |
| 5 | API Rate Limit Rechner | `api-rate-limit-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Limit pro Minute (limit, number, default 600)<br>Aktive Nutzer (users, number, default 120)<br>Calls pro Nutzer/Minute (calls, number, default 3) | Requests pro Sekunde, Minute, Stunde und Tag umrechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: used = n('users') * n('calls'); limit = n('limit') |
| 6 | Arbeitstage Rechner | `arbeitstage-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Startdatum (start, date, default 2026-01-01)<br>Enddatum (end, date, default 2026-12-31) | Arbeitstage zwischen zwei Daten ohne Wochenenden berechnen.. Zeit-/Dauerrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: start = new Date(value('start')); end = new Date(value('end')); day = d.getDay() |
| 7 | Arbeitszeit Rechner – Arbeitszeiten berechnen | `arbeitszeit-rechner` | resources/views/tools/arbeitszeit-rechner.blade.php | day-start (day-start, time, default 09:00)<br>day-end (day-end, time, default 17:00)<br>day-break (day-break, number, default 30)<br>day-target (day-target, number, default 8)<br>w-start-${i} (w-start-${i}, time, default ${s.start\|\|)<br>w-end-${i} (w-end-${i}, time, default ${s.end\|\|)<br>w-brk-${i} (w-brk-${i}, number, default ${s.brk\|\|30}) | Arbeitszeit Rechner online: Tägliche Netto-Arbeitszeit und Überstunden berechnen. Wöchenliche Stundenübersicht mit Pause und Sollzeit. Kostenlos.. localStorage Persistenz; JSON Parsing/Serialisierung; Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: switchTab, parseTime, minsToHours, calcDay, saveWeek, calcWeek. Konstanten: days, STORAGE_KEY, sign, h, min, start, end, brk, target, net. Formeln/Operationen: sign = m < 0 ? '-' : ''; h = Math.floor(m / 60); start = parseTime(document.getElementById('day-start').value); end = parseTime(document.getElementById('day-end').value); brk = parseInt(document.getElementById('day-break').value) \|\| 0; target = parseFloat(document.getElementById('day-target').value) * 60 \|\| 480; total = end - start; net = total - brk; over = net - target; ob = document.getElementById('res-overtime-box') |
| 8 | ASCII Tabelle – Alle ASCII & Unicode Codes | `ascii-tabelle` | resources/views/tools/ascii-tabelle.blade.php | A, 65, 0x41, 01000001… (asc-search, text)<br>Text filtern… (asc-filter, text) | Vollständige ASCII Tabelle online: Dezimal, Hexadezimal, Binär, HTML-Entity. Suche nach Zeichen, Code oder Kategorie. Unicode-Erweiterung bis U+FFFF.. numerische Formeln. Funktionen: getDesc, getChar, htmlEntity, renderRow, setRange, buildTable, filterTable, showDetail, searchChar. Konstanten: CTRL, CTRL_DESC, SPECIAL_DESC, ch, hex, bin, desc, charCell, entity, tr. Formeln/Operationen: tbody = document.getElementById('ascii-tbody'); q = document.getElementById('asc-search').value.trim() |
| 9 | Crop Rechner | `aspect-ratio-crop-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Original Breite px (w, number, default 4032)<br>Original Hoehe px (h, number, default 3024)<br>Ziel Ratio Breite (rw, number, default 16)<br>Ziel Ratio Hoehe (rh, number, default 9) | Bild-Crop fuer Ziel-Seitenverhaeltnis berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: target = n('rw') / Math.max(1, n('rh')); current = n('w') / Math.max(1, n('h')) |
| 10 | Aspect Ratio Rechner | `aspect-ratio-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Breite (width, number, default 1920)<br>Hoehe (height, number, default 1080)<br>Neue Breite (newWidth, number, default 1280) | Seitenverhaeltnis berechnen und neue Breite oder Hoehe skalieren.. Ausgabe als Kennzahlen-Tabelle. Formeln: w = Math.max(1, Math.round(n('width'))); h = Math.max(1, Math.round(n('height'))); divisor = gcd(w, h); newHeight = n('newWidth') * h / w |
| 11 | Automaten-Editor – Mealy & Moore grafisch erstellen | `automaten-editor` | resources/views/tools/automaten-editor.blade.php | z. B. 1011 – Eingabewort eingeben (sim-input, text)<br>sim-speed (sim-speed, range, default 550)<br>Eingabe (inline-input-1, text)<br>Ausgabe (inline-input-2, text)<br>export-area (export-area, textarea)<br>{ (import-area, textarea)<br>import-file (import-file, file)<br>${s.id} (${s.id}, input, default ${escapeHtml(s.label)})<br>— (${s.id}, input, default ${escapeHtml(s.output\|\|)<br>Ausgabe (${s.id}, input, default ${escapeHtml(s.output\|\|) | Endliche Automaten online grafisch erstellen: Mealy, Moore und DFA. Zustände ziehen, Übergänge verbinden, Tabelle live synchron – Export als JSON, SVG, PNG und LaTeX.. localStorage Persistenz; Zufallsgenerator; JSON Parsing/Serialisierung; Hash/Krypto-API; Canvas/Bild/QR-Erzeugung; Regex/Text-Parsing; numerische Formeln; SVG/Diagramm-Rendering. Funktionen: newStateId, uid, findState, findStateByLabel, findTransition, snapshot, restore, updateUndoButtons, persist, loadPersisted, setSvgViewBox, applyViewTransform, svgPoint, worldPoint. Konstanten: STORAGE_KEY, HISTORY_MAX, snap, obj, raw, obj, svg, viewport, edgesG, statesG. Formeln/Operationen: historyIdx = -1; svg = document.getElementById('ae-canvas'); viewport = document.getElementById('ae-viewport'); edgesG = document.getElementById('ae-edges'); statesG = document.getElementById('ae-states'); overlayG = document.getElementById('ae-overlay'); cx = r.width/2, cy = r.height/2; wx = (cx - view.x) / view.k; wy = (cy - view.y) / view.k; wrap = document.querySelector('.ae-canvas-wrap') |
| 12 | Backform Umrechner | `backform-umrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Alte Form Durchmesser cm (oldDiameter, number, default 26)<br>Neue Form Durchmesser cm (newDiameter, number, default 20) | Rezeptmengen zwischen runden Backformen umrechnen.. Potenz/Zinseszins/Exponentialrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: factor = Math.pow(n('newDiameter') / Math.max(1, n('oldDiameter')), 2) |
| 13 | Backup Speicher Rechner | `backup-speicher-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Datenmenge in GB (gb, number, default 500)<br>Wachstum pro Monat in Prozent (growth, number, default 5)<br>Vollbackups pro Monat (copies, number, default 4)<br>Aufbewahrung Monate (months, number, default 6) | Backup-Speicherbedarf aus Datenmenge, Wachstum und Aufbewahrung berechnen.. Potenz/Zinseszins/Exponentialrechnung; Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: grown = n('gb') * Math.pow(1 + n('growth') / 100, n('months')); total = grown * n('copies') * n('months') |
| 14 | Base64 Encoder Decoder | `base64-encoder-decoder` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Modus (mode, select, default encode, Optionen: encode=Encodieren/decode=Decodieren)<br>Text (text, textarea, default Hallo kotsch.tech) | Text in Base64 codieren oder Base64 wieder decodieren.. URL/Parameter-Erzeugung; Ausgabe als Kennzahlen-Tabelle. Formeln: output = value('mode') === 'encode' ? btoa(unescape(encodeURIComponent(value('text')))) : decodeURIComponent(escape(atob(value('text')))) |
| 15 | Benzinkosten Rechner – Spritkosten berechnen | `benzinrechner` | resources/views/tools/benzinrechner.blade.php | z.B. 350 (dist, number, default 350)<br>z.B. 7.5 (cons, number, default 7.5)<br>z.B. 1.75 (price, number, default 1.75)<br>1 (persons, number, default 1) | Benzinkosten Rechner: Spritkosten für jede Strecke berechnen. Verbrauch, Kraftstoffpreis, Distanz – Benzin, Diesel oder E10 sofort kalkulieren.. numerische Formeln. Funktionen: setFuel, toggleRoundtrip, calc. Konstanten: eur, btn, c, p, n, volume, cost, perKm, co2. Formeln/Operationen: eur = n => n.toLocaleString('de-DE', {style:'currency', currency:'EUR'}); btn = document.getElementById('roundtrip-btn'); d = parseFloat(document.getElementById('dist').value) \|\| 0; c = parseFloat(document.getElementById('cons').value) \|\| 0; p = parseFloat(document.getElementById('price').value) \|\| 0; n = parseInt(document.getElementById('persons').value) \|\| 1; volume = d * c / 100; cost = volume * p; perKm = cost / d; co2 = co2Factor > 0 ? (volume * co2Factor / 1000).toFixed(2) + ' kg CO₂' : 'emissionsfrei' |
| 16 | BH Groessen Rechner | `bh-groessen-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Unterbrust in cm (under, number, default 78)<br>Brustumfang in cm (bust, number, default 94) | Unterbrust, Brustumfang und Cup grob berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: band = Math.round(n('under') / 5) * 5; diff = n('bust') - band; cups = ['AA', 'A', 'B', 'C', 'D', 'E', 'F', 'G']; cup = cups[Math.max(0, Math.min(cups.length - 1, Math.round((diff - 10) / 2)))] ?? 'B' |
| 17 | Bildgroesse Rechner | `bildgroesse-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Breite in Pixel (width, number, default 1920)<br>Hoehe in Pixel (height, number, default 1080)<br>Bytes pro Pixel (bytes, number, default 3) | Pixel, Megapixel und ungefaehre unkomprimierte Dateigroesse berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: pixels = n('width') * n('height'); mb = pixels * n('bytes') / 1024 / 1024 |
| 18 | Blutdruck Einordnung | `blutdruck-einordnung` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Systolisch (sys, number, default 120)<br>Diastolisch (dia, number, default 80) | Blutdruckwerte grob einordnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: sys = n('sys'); dia = n('dia'); status = sys >= 180 \|\| dia >= 110 ? 'stark erhoeht' : sys >= 140 \|\| dia >= 90 ? 'erhoeht' : sys < 100 \|\| dia < 60 ? 'niedrig' : 'normal bis hochnormal' |
| 19 | BMI Rechner – Body-Mass-Index berechnen | `bmi-rechner` | resources/views/tools/bmi-rechner.blade.php | 75 (val-weight, number)<br>175 (val-height, number) | BMI Rechner kostenlos online: Body-Mass-Index berechnen mit Gewicht und Größe. Sofortige Auswertung mit Normalgewicht-Tabelle. BMI berechnen einfach und schnell.. Regex/Text-Parsing; numerische Formeln. Funktionen: setUnit, calc, clearActive. Konstanten: cats, hm, bmi, cat, badge, minW, maxW, pct, rows. Formeln/Operationen: w = parseFloat(document.getElementById('val-weight').value); h = parseFloat(document.getElementById('val-height').value); hm = h / 100; bmi = w / (hm * hm); badge = document.getElementById('bmi-badge'); minW = (18.5 * hm * hm).toFixed(1).replace('.',','); maxW = (24.9 * hm * hm).toFixed(1).replace('.',','); pct = Math.max(0, Math.min(100, (bmi - 15) / 25 * 100)); rows = document.querySelectorAll('#bmi-table .t-row') |
| 20 | Break-even Rechner | `break-even-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Fixkosten in Euro (fixed, number, default 3000)<br>Preis pro Einheit in Euro (price, number, default 49)<br>Variable Kosten pro Einheit in Euro (variable, number, default 18) | Break-even-Menge aus Fixkosten, Preis und variablen Kosten berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: contribution = n('price') - n('variable'); units = contribution > 0 ? Math.ceil(n('fixed') / contribution) : 0 |
| 21 | Bruchrechner – Brüche addieren, subtrahieren, multiplizieren, dividieren | `bruch-rechner` | resources/views/tools/bruch-rechner.blade.php | Zähler (numA, number, default 1)<br>Nenner (denA, number, default 2)<br>Zähler (numB, number, default 1)<br>Nenner (denB, number, default 3) | Brüche online berechnen und vereinfachen. Schritt-für-Schritt-Lösung mit gemischter Zahl und Dezimalwert. Addition, Subtraktion, Multiplikation, Division.. Hash/Krypto-API; numerische Formeln; SVG/Diagramm-Rendering. Funktionen: setOp, gcd, lcm, simplify, showError, hideError, fracStr, calculate, resetAll. Konstanten: g, b, nA, dA, nB, dB, steps, common, mA, mB. Formeln/Operationen: selectedOp = '+'; g = gcd(Math.abs(num), Math.abs(den)); n = num / g, d = den / g; nA = parseInt(document.getElementById('numA').value) \|\| 0; dA = parseInt(document.getElementById('denA').value); nB = parseInt(document.getElementById('numB').value) \|\| 0; dB = parseInt(document.getElementById('denB').value); common = lcm(Math.abs(dA), Math.abs(dB)); mA = common / dA; mB = common / dB |
| 22 | Canonical Tag Generator | `canonical-tag-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Canonical URL (url, url, default https://kotsch.tech/webtools) | Canonical-Link-Tag fuer SEO erzeugen.. Canonical-Link-Tag fuer SEO erzeugen.. Formeln: tag = <link rel="canonical" href="${value('url')}"> |
| 23 | CO2 Fussabdruck Rechner | `co2-fussabdruck-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Auto-km pro Monat (carKm, number, default 600)<br>Strom kWh pro Monat (kwh, number, default 250)<br>Flugstunden pro Jahr (flightHours, number, default 4) | CO2 fuer Auto, Strom und Flug grob schaetzen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: car = n('km') * n('liter') / 100 * 2.31; power = n('kwh') * 0.38; flight = n('flight') * 90; total = car + power + flight |
| 24 | Countdown Timer – Zieldatum Countdown online | `countdown` | resources/views/tools/countdown.blade.php | z.B. Urlaub, Hochzeit, Prüfung… (new-name, text)<br>new-dt (new-dt, datetime-local) | Countdown Timer online: Mehrere Countdowns gleichzeitig, Tage/Stunden/Minuten/Sekunden, Fortschrittsbalken, Quick-Presets und lokale Speicherung.. localStorage Persistenz; Datums-/Zeitrechnung; JSON Parsing/Serialisierung; Regex/Text-Parsing; numerische Formeln. Funktionen: pad, toLocalIso, save, addCountdown, removeCountdown, quickAdd, addBirthday, addCustomDays, render, tick, escH. Konstanten: name, dt, target, created, now, bd, d, now, days, t. Formeln/Operationen: name = document.getElementById('new-name').value.trim() \|\| 'Ereignis'; dt = document.getElementById('new-dt').value; t = new Date(now.getFullYear(), month-1, day, hour, minute); bd = prompt('Nächster Geburtstag (JJJJ-MM-TT):'); d = new Date(bd+'T00:00'); days = parseInt(prompt('In wie vielen Tagen?')); t = new Date(Date.now() + days*86400000); list = document.getElementById('cd-list'); empty = document.getElementById('cd-empty'); diff = c.target - now |
| 25 | Countdown Rechner | `countdown-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Zieldatum (target, date, default 2026-12-31) | Tage, Stunden und Minuten bis zu einem Datum berechnen.. Zeit-/Dauerrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: target = new Date(value('target')); diff = Math.max(0, target - new Date()) |
| 26 | Cron Generator | `cron-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Intervall (preset, select, default daily, Optionen: hourly=stuendlich/daily=taeglich um 03:00/weekly=woechentlich Montag 03:00/monthly=monatlich am 1. um 03:00) | Einfache Cron-Ausdruecke aus Intervallen erzeugen.. Ausgabe als Kennzahlen-Tabelle. Formeln: presets = {; cron = presets[value('preset')] ?? presets.daily |
| 27 | Cron Intervall Rechner | `cron-intervall-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Intervall in Minuten (minutes, number, default 15)<br>Jobdauer in Sekunden (duration, number, default 20) | Runs pro Tag, Woche und Monat aus Cron-Intervall berechnen.. Prozentrechnung; Zeit-/Dauerrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: runsDay = 1440 / Math.max(1, n('minutes')); busy = runsDay * n('duration') |
| 28 | CSS Clamp Generator | `css-clamp-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Min. Groesse px (minSize, number, default 18)<br>Max. Groesse px (maxSize, number, default 48)<br>Min. Viewport px (minViewport, number, default 360)<br>Max. Viewport px (maxViewport, number, default 1440) | Responsive CSS clamp() fuer Schriftgroessen erzeugen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: slope = (n('maxSize') - n('minSize')) / (n('maxViewport') - n('minViewport')) * 100; intercept = n('minSize') - slope * n('minViewport') / 100; css = font-size: clamp(${n('minSize')}px, ${num.format(intercept)}px + ${num.format(slope)}vw, ${n('maxSize')}px) |
| 29 | CSS Gradient Generator – Farbverläufe erstellen & kopieren | `css-gradient` | resources/views/tools/css-gradient.blade.php | css-out (css-out, text)<br>angle (angle, range, default 135)<br>radial-shape (radial-shape, select) | CSS-Farbverläufe online erstellen: Linear, Radial und Conic. Mehrere Farbstopps, Winkel-Slider, Presets und sofort kopierbarer CSS-Code.. Hash/Krypto-API; numerische Formeln. Funktionen: setType, addStop, removeStop, renderStops, render, copyCSS, buildPresets, loadPreset. Konstanten: PRESETS, list, sorted, stopStr, angle, shape, val, btn, grid, bg. Formeln/Operationen: list = document.getElementById('stops-list'); sorted = [...stops].sort((a,b)=>a.pos-b.pos); shape = document.getElementById('radial-shape').value; val = document.getElementById('css-out').value; btn = document.querySelector('.t-copy-btn'); bg = `linear-gradient(135deg,${p.s.map(s=>`${s.c} ${s.p}%`).join(',')})` |
| 30 | CSS Minifier | `css-minifier` | config/webtools_extra.php + resources/views/tools/quick.blade.php | CSS (css, textarea, default body {\n  color: #111827;\n  background: #ffffff;\n}) | CSS grob minifizieren und Kommentare entfernen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: output = value('css').replace(/\/\*[\s\S]*?\*\//g, '').replace(/\s+/g, ' ').replace(/\s*([{}: |
| 31 | CSV ↔ JSON Konverter – Tabellen umwandeln | `csv-json-konverter` | resources/views/tools/csv-json-konverter.blade.php | delimiter (delimiter, select)<br>json-fmt (json-fmt, select)<br>opt-header (opt-header, checkbox)<br>opt-types (opt-types, checkbox)<br>conv-inp (conv-inp, textarea)<br>conv-out (conv-out, textarea) | CSV zu JSON und JSON zu CSV umwandeln: Trennzeichen wählen, Headerzeile, kompakt oder formatiert – kostenlos und lokal im Browser.. JSON Parsing/Serialisierung; Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: setMode, getDelimiter, parseCsv, smartType, convert, buildPreview, copyOutput, downloadOutput, clearAll, loadExample, loadJsonExample, escH. Konstanten: isCsv, v, lines, result, c, n, inp, err, delim, rows. Formeln/Operationen: lines = text.trim().split(/\r?\n/); n = Number(v); inp = document.getElementById('conv-inp').value.trim(); err = document.getElementById('conv-err'); hasHeader = document.getElementById('opt-header').checked; types = document.getElementById('opt-types').checked; fmt = document.getElementById('json-fmt').value; table = document.getElementById('preview-table'); val = document.getElementById('conv-out').value; val = document.getElementById('conv-out').value |
| 32 | CSV Tabellen Generator | `csv-tabellen-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Trennzeichen (delimiter, text, default ,)<br>CSV (csv, textarea, default Name,Alter\nAnna,29\nBen,34) | CSV Text als HTML-Tabelle anzeigen und pruefen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: delimiter = value('delimiter') \|\| ','; table = value('csv').split(/\n+/).filter(Boolean).map(line => line.split(delimiter)); html = <table style="width:100% |
| 33 | Dateigröße umrechnen – KB MB GB TB Konverter | `dateigroesse` | resources/views/tools/dateigroesse.blade.php | Wert (size-input, number, default 1)<br>unit-select (unit-select, select)<br>dl-size (dl-size, number, default 700)<br>dl-speed (dl-speed, select) | Dateigröße Konverter: Bytes, KB, MB, GB, TB und PB umrechnen. IEC (1024) und SI (1000) Einheiten im Vergleich. Praktische Beispiele und Download-Rechner.. numerische Formeln. Funktionen: fmtNum, convert, calcDownload, setExample. Konstanten: units, abbrs, val, idx, bytesIEC, bytesSI, iec, si, diff, diffPct. Formeln/Operationen: val = parseFloat(document.getElementById('size-input').value); idx = parseInt(document.getElementById('unit-select').value); bytesIEC = val * Math.pow(1024, idx); bytesSI = val * Math.pow(1000, idx); iec = bytesIEC / Math.pow(1024, i); si = bytesSI / Math.pow(1000, i); diff = Math.abs(iec-si); diffPct = si > 0 ? (diff/si*100).toFixed(2)+'%' : '–'; rowClass = i===idx ? ' class="source-row"' : ''; mb = parseFloat(document.getElementById('dl-size').value)\|\|0 |
| 34 | Transferzeit Rechner | `daten-transferzeit-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Dateigroesse in GB (size, number, default 20)<br>Bandbreite in Mbit/s (mbit, number, default 100)<br>Overhead in Prozent (overhead, number, default 10) | Upload- oder Download-Zeit aus Dateigroesse und Bandbreite berechnen.. Prozentrechnung; Zeit-/Dauerrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: bits = n('size') * 1024 * 8 * (1 + n('overhead') / 100); seconds = bits / Math.max(0.001, n('mbit')) |
| 35 | Datum Rechner – Tage zwischen zwei Daten berechnen | `datum-rechner` | resources/views/tools/datum-rechner.blade.php | d1 (d1, date)<br>d2 (d2, date)<br>add-start (add-start, date)<br>z.B. 30 oder -14 (add-days, number)<br>z.B. 6 (add-months, number)<br>wd-date (wd-date, date) | Datum Rechner online: Tage zwischen zwei Daten berechnen, Datum addieren oder subtrahieren. Wie viele Tage bis Weihnachten? Kostenloser Datumsrechner.. Datums-/Zeitrechnung; Regex/Text-Parsing; numerische Formeln. Funktionen: fmtFull, getKW, countWorkdays, showTab, calcDiff, quickTo, quickFromToday, calcAdd, calcWeekday. Konstanten: DAYS_DE, MONTHS_DE, dt, day, y1, end, dow, v1, v2, d1. Formeln/Operationen: ms = d2 - d1; days = Math.round(ms / 86400000); abs = Math.abs(days); t = new Date(now.getFullYear(), month - 1, day); now = new Date(), t = new Date(now.getTime() + days * 86400000); v = document.getElementById('add-start').value; days = parseInt(document.getElementById('add-days').value) \|\| 0; months = parseInt(document.getElementById('add-months').value) \|\| 0; v = document.getElementById('wd-date').value |
| 36 | Datumsrechner | `datumsrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Startdatum (date, date, default 2026-05-19)<br>Tage plus/minus (days, number, default 30) | Tage zu einem Datum addieren oder abziehen.. Zeit-/Dauerrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: start = new Date(value('date')); next = new Date(start) |
| 37 | Deckungsbeitrag Rechner | `deckungsbeitrag-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Fixkosten Euro (fixed, number, default 2000)<br>Preis pro Einheit Euro (price, number, default 49)<br>Variable Kosten pro Einheit Euro (variable, number, default 18) | Break-even-Menge und Umsatz aus Fixkosten, Preis und variablen Kosten berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: contribution = n('price') - n('variable'); units = contribution > 0 ? Math.ceil(n('fixed') / contribution) : 0 |
| 38 | Text Decoder – Base64, URL, HTML, Hex & SHA256 | `decoder` | resources/views/tools/decoder.blade.php | Text eingeben… (inp, textarea)<br>out (out, textarea) | Text online kodieren und dekodieren: Base64, URL-Encoding, HTML-Entities, Hex und SHA-256. Live im Browser, kein Server nötig.. Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: setMode, sha256, run, swapIO, clearIO, copyOut. Konstanten: htmlEnc, htmlDec, d, toHex, fromHex, buf, inp, errEl, inp, val. Formeln/Operationen: htmlEnc = t=>t.replace(/[& "']/g,c=>({'&':'&amp; fromHex = t=>t.replace(/\s+/g,'').match(/.{1,2}/g).map(b=>String.fromCharCode(parseInt(b,16))).join(''); buf = await crypto.subtle.digest('SHA-256',new TextEncoder().encode(t)); btn = document.querySelector('.t-copy-btn') |
| 39 | DNS Record Spicker | `dns-record-spicker` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Record Typ (record, select, default A, Optionen: A=A/AAAA=AAAA/CNAME=CNAME/MX=MX/TXT=TXT) | DNS-Record-Typen kurz erklaert.. Ausgabe als Kennzahlen-Tabelle. Formeln: info = { |
| 40 | Docker Image Size Rechner | `docker-image-size-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Image-Groesse MB (size, number, default 850)<br>Nodes/Server (nodes, number, default 6)<br>Deploys pro Tag (deploys, number, default 4)<br>Download Mbit/s pro Node (mbit, number, default 200) | Image-Pull-Zeit, Registry-Speicher und Deploy-Traffic abschaetzen.. Zeit-/Dauerrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: totalMb = n('size') * n('nodes') * n('deploys'); pullSeconds = n('size') * 8 / Math.max(0.001, n('mbit')) |
| 41 | Domain Ideen Generator | `domain-ideen-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Keyword (keyword, text, default tool)<br>Stil (style, select, default modern, Optionen: modern=Modern/tech=Tech/short=Kurz) | Domain-Ideen aus Keyword, Branche und Stil erzeugen.. Textanalyse/Regex/String-Parsing. Formeln: keyword = value('keyword').toLowerCase().replace(/[^a-z0-9]/g, '') \|\| 'projekt'; prefixes = value('style') === 'tech' ? ['get', 'try', 'cloud', 'stack'] : value('style') === 'short' ? ['go', 'up', 'io', 'my'] : ['hello', 'smart', 'bright', 'next']; suffixes = value('style') === 'tech' ? ['hub', 'lab', 'base', 'kit'] : value('style') === 'short' ? ['ly', 'io', 'app', 'x'] : ['studio', 'pilot', 'works', 'flow']; ideas = [...prefixes.map(p => ${p}${keyword}.de), ...suffixes.map(s => ${keyword}${s}.de)] |
| 42 | DPI Pixel Rechner | `dpi-pixel-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Breite Pixel (pxw, number, default 2480)<br>Hoehe Pixel (pxh, number, default 3508)<br>DPI (dpi, number, default 300) | Printgroesse, Pixel und DPI umrechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: inchW = n('pxw') / Math.max(1, n('dpi')); inchH = n('pxh') / Math.max(1, n('dpi')) |
| 43 | DPI Rechner | `dpi-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Breite in Pixel (width, number, default 3000)<br>Hoehe in Pixel (height, number, default 2000)<br>DPI/PPI (dpi, number, default 300) | Druckgroesse aus Pixeln und DPI berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: dpi = Math.max(1, n('dpi')); widthCm = n('width') / dpi * 2.54; heightCm = n('height') / dpi * 2.54 |
| 44 | Drehmoment Umrechner | `drehmoment-umrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Drehmoment in Nm (nm, number, default 120) | Nm, ft-lb und in-lb umrechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: nm = n('nm') |
| 45 | Dreisatz Rechner – Verhältnisrechnung online | `dreisatz-rechner` | resources/views/tools/dreisatz-rechner.blade.php | d-a (d-a, number, default 3)<br>d-b (d-b, number, default 12)<br>d-c (d-c, number, default 7)<br>i-a (i-a, number, default 4)<br>i-b (i-b, number, default 6)<br>i-c (i-c, number, default 8)<br>t-factor (t-factor, number, default 2.5)<br>t-from (t-from, number, default 1)<br>t-to (t-to, number, default 12) | Dreisatz online berechnen: direkter und indirekter Dreisatz, Umrechnungen, Einheitenumrechner und Verhältnistabelle. Kostenlos und lokal.. numerische Formeln. Funktionen: setMode, fmt, calc, calcI, calcT. Konstanten: a, b, c, x, a, b, c, x, factor, from. Formeln/Operationen: a = parseFloat(document.getElementById('d-a').value)\|\|0; b = parseFloat(document.getElementById('d-b').value)\|\|0; c = parseFloat(document.getElementById('d-c').value)\|\|0; x = a ? b*c/a : 0; a = parseFloat(document.getElementById('i-a').value)\|\|0; b = parseFloat(document.getElementById('i-b').value)\|\|0; c = parseFloat(document.getElementById('i-c').value)\|\|0; x = c ? a*b/c : 0; factor = parseFloat(document.getElementById('t-factor').value)\|\|1; from = parseInt(document.getElementById('t-from').value)\|\|1 |
| 46 | Duplikate entfernen – Doppelte Zeilen löschen | `duplikate-entfernen` | resources/views/tools/duplikate-entfernen.blade.php | Zeilen eingeben oder einfügen… (dup-inp, textarea)<br>dup-out (dup-out, textarea)<br>dup-case (dup-case, checkbox)<br>dup-trim (dup-trim, checkbox)<br>dup-empty (dup-empty, checkbox)<br>dup-keep-last (dup-keep-last, checkbox) | Doppelte Zeilen aus Listen entfernen: Groß/Kleinschreibung ignorieren, Leerzeichen trimmen, Duplikate anzeigen oder behalten. Kostenlos im Browser.. Regex/Text-Parsing; numerische Formeln. Funktionen: setOutputMode, getLines, analyze, downloadOut, clearAll, loadExample, escH. Konstanten: lines, icase, keepLast, key, counts, k, seen, src, k, dups. Formeln/Operationen: lines = document.getElementById('dup-inp').value.split('\n'); icase = document.getElementById('dup-case').checked; keepLast = document.getElementById('dup-keep-last').checked; dupCount = lines.length - unique.length; val = document.getElementById('dup-out').value |
| 47 | eBay Gewinn Rechner | `ebay-gewinn-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Verkaufspreis in Euro (sale, number, default 80)<br>Einkauf/Artikelkosten in Euro (cost, number, default 35)<br>Gebuehren in Prozent (fee, number, default 11)<br>Versand/Verpackung in Euro (shipping, number, default 5) | Verkaufserloes, Gebuehren, Versand und Gewinn berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: fee = n('sale') * n('fee') / 100; profit = n('sale') - n('cost') - fee - n('shipping') |
| 48 | Eier Kochzeit Rechner | `eier-kochzeit-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Eiergroesse (size, select, default m, Optionen: s=S/m=M/l=L)<br>Gargrad (style, select, default wachsweich, Optionen: weich=weich/wachsweich=wachsweich/hart=hart)<br>Start (fridge, select, default fridge, Optionen: room=Zimmertemperatur/fridge=aus dem Kuehlschrank) | Kochzeit fuer weiche, wachsweiche oder harte Eier grob berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: base = { weich: 4.5, wachsweich: 6.5, hart: 9.5 }[value('style')] ?? 6.5; sizeAdd = { s: -0.5, m: 0, l: 0.8 }[value('size')] ?? 0; fridgeAdd = value('fridge') === 'fridge' ? 0.8 : 0; minutes = base + sizeAdd + fridgeAdd |
| 49 | Einheiten Umrechner – Länge, Gewicht, Temperatur, Geschwindigkeit | `einheiten-rechner` | resources/views/tools/einheiten-rechner.blade.php | val (val, number, default 1)<br>from (from, select)<br>to (to, select) | Einheiten Umrechner online: Meilen in km, Zoll in cm, Fahrenheit in Celsius, kg in Pfund, m/s in km/h und mehr. Live umrechnen, kostenlos.. numerische Formeln. Funktionen: populateSelects, showCat, toC, fromC, convert, swap. Konstanten: CATS, TEMP_LABELS, from, c, v, f, units, units, from, tmp. Formeln: DOM-/String-Operationen je Tool |
| 50 | Einheitenpreis Rechner | `einheitenpreis` | resources/views/tools/einheitenpreis.blade.php | price (price, number, default 3.49)<br>amount (amount, number, default 750)<br>unit (unit, select) | Preis pro Kilogramm, Liter oder Stueck vergleichen und Angebote besser einordnen.. Clientseitiges Browser-Tool. Funktionen: calc. Formeln/Operationen: base = unit.value==='Stueck'?+amount.value:+amount.value/1000,resultValue=(+price.value/(base\|\|1)) |
| 51 | Einkaufsliste Generator | `einkaufsliste-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Mahlzeiten, je Zeile eine (meals, textarea, default Pasta\nSalat\nFruehstueck)<br>Extras, je Zeile eins (extras, textarea, default Kaffee\nObst) | Aus Mahlzeiten und Extras eine einfache Einkaufsliste erzeugen.. Textanalyse/Regex/String-Parsing. Formeln: meals = value('meals').split(/\n+/).map(s => s.trim()).filter(Boolean); extras = value('extras').split(/\n+/).map(s => s.trim()).filter(Boolean); basics = ['Salz/Pfeffer pruefen', 'Oel/Butter pruefen'] |
| 52 | E-Mail Betreff Checker | `email-betreff-checker` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Betreff (subject, text, default 20 neue kostenlose Webtools sind online) | Betreffzeile auf Laenge, Wortzahl und Vorschau pruefen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: subject = value('subject'); words = subject.trim().split(/\s+/).filter(Boolean).length; status = subject.length <= 50 ? 'Gut fuer viele Inboxen' : subject.length <= 70 ? 'Ok, aber eher lang' : 'Sehr lang'; hasNumber = /\d/.test(subject); hasQuestion = subject.includes('?'); hasBang = subject.includes('!') |
| 53 | E-Mail Pruefer | `email-pruefer` | resources/views/tools/email-pruefer.blade.php | email (email, input, default name@example.com) | E-Mail-Adressen lokal auf grundlegende Syntax pruefen.. Clientseitiges Browser-Tool. Funktionen: check. Formeln/Operationen: ok = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email.value) |
| 54 | Emoji Entferner | `emoji-entferner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Text (text, textarea, default Hallo 👋 das ist ein Test 🚀 mit Emojis 😊) | Emojis aus Text entfernen und saubere Version kopieren.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: output = value('text').replace(/[\p{Extended_Pictographic}\uFE0F]/gu, '').replace(/\s{2,}/g, ' ').trim() |
| 55 | FAQ Schema Generator | `faq-schema-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Frage? Antwort, je Zeile (faq, textarea, default Was ist kotsch.tech? Eine Website mit kostenlosen Webtools.\nSind die Tools kostenlos? Ja.) | FAQPage JSON-LD aus Fragen und Antworten erzeugen.. JSON/Schema-Erzeugung; Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: questions = value('faq').split(/\n+/).map(line => line.trim()).filter(Boolean).map(line => {; parts = line.split('?'); at = String.fromCharCode(64); schema = { [at + 'context']: 'https://schema.org', [at + 'type']: 'FAQPage', mainEntity: questions.map(item => ({ [at + 'type']: 'Question', name: item.q, acceptedAnswer: { [at + 'type']: 'Answer', text: item.a } })) } |
| 56 | Farb Konverter – HEX RGB HSL CMYK umrechnen | `farb-konverter` | resources/views/tools/farb-konverter.blade.php | colorPicker (colorPicker, color, default #10b981)<br>hex (hex, text, default #10b981)<br>rgb (rgb, text)<br>hsl (hsl, text)<br>cmyk (cmyk, text) | Farben online umrechnen: HEX zu RGB, HSL, CMYK und zurück. Farbwähler, Kontrastverhältnis WCAG und beliebte Farbpaletten – kostenlos.. Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: hexToRgb, rgbToHex, rgbToHsl, rgbToCmyk, hslToRgb, luminance, cr, updateAll, fromPicker, fromHex, fromRGB, fromHSL, copyVal. Konstanten: SWATCHES, n, max, d, k, c, b, hex, lum, cw. Formeln/Operationen: n = parseInt(hex,16); max = Math.max(r,g,b),min=Math.min(r,g,b); d = max-min; k = 1-Math.max(r,g,b); c = (1-Math.abs(2*l-1))*s,x=c*(1-Math.abs((h/60)%2-1)),m=l-c/2; b = Math.max(l1,l2),d=Math.min(l1,l2); cwPass = parseFloat(cw)>=4.5,cbPass=parseFloat(cb)>=4.5; m = val.match(/(\d+)[,\s]+(\d+)[,\s]+(\d+)/); m = val.match(/(\d+)[,\s]+(\d+)%?[,\s]+(\d+)%?/) |
| 57 | Farbkontrast Rechner - WCAG Kontrast pruefen | `farbkontrast` | resources/views/tools/farbkontrast.blade.php | fg (fg, color, default #0f172a)<br>bg (bg, color, default #ffffff) | Pruefe den Kontrast zweier Farben nach WCAG und sieh sofort, ob AA und AAA erreicht werden.. numerische Formeln. Funktionen: lum, update. Formeln/Operationen: a = [1,3,5].map(i=>parseInt(h.slice(i,i+2),16)/255).map(v=>v<=.03928?v/12.92:((v+.055)/1.055)**2.4); r = (Math.max(lum(fg.value),lum(bg.value))+.05)/(Math.min(lum(fg.value),lum(bg.value))+.05) |
| 58 | Farbkontrast Checker | `farbkontrast-checker` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Textfarbe (fg, color, default #111827)<br>Hintergrundfarbe (bg, color, default #ffffff) | Kontrast zwischen Textfarbe und Hintergrund nach WCAG grob pruefen.. Farb-/CSS-Berechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: l1 = luminance(value('fg')); l2 = luminance(value('bg')); ratio = (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05); preview = <div class="result" style="background:${escapeHtml(value('bg'))} |
| 59 | Farbpalette Generator | `farbpalette-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Basisfarbe (color, color, default #2563eb) | Aus einer Basisfarbe passende Farbpalette erzeugen.. Farb-/CSS-Berechnung. Formeln: base = value('color'); rgb = hexToRgb(base).map(v => Math.round(v * 255)); colors = [base, rgb(${rgb.map(v => Math.max(0, v - 45)).join(', ')}), rgb(${rgb.map(v => Math.min(255, v + 45)).join(', ')}), rgb(${rgb[2]}, ${rgb[0]}, ${rgb[1]}), rgb(${255 - rgb[0]}, ${255 - rgb[1]}, ${255 - rgb[2]})] |
| 60 | Flächen Rechner – Fläche und Umfang berechnen | `flaechen-rechner` | resources/views/tools/flaechen-rechner.blade.php | z.B. 10 (rect-a, number)<br>z.B. 5 (rect-b, number)<br>z.B. 7 (circ-r, number)<br>z.B. 8 (tri-a, number)<br>z.B. 6 (tri-h, number)<br>6 (trap-a, number)<br>10 (trap-b, number)<br>4 (trap-h, number)<br>8 (rh-e, number)<br>6 (rh-f, number)<br>9 (par-a, number)<br>5 (par-h, number)<br>8 (ell-a, number)<br>5 (ell-b, number) | Flächen Rechner: Fläche und Umfang von Rechteck, Kreis, Dreieck, Trapez, Raute und Parallelogramm live berechnen. Formeln und Ergebnisse sofort.. Hash/Krypto-API; numerische Formeln. Funktionen: showResult, showShape, calcRect, calcCirc, calcTri, calcTrap, calcRhom, calcPar, calcEll. Konstanten: f, el, a, r, a, a, e, a, a, perim. Formeln/Operationen: f = n => n.toLocaleString('de-DE',{maximumFractionDigits:4}); a = +document.getElementById('rect-a').value,b=+document.getElementById('rect-b').value; r = +document.getElementById('circ-r').value; a = +document.getElementById('tri-a').value,h=+document.getElementById('tri-h').value; a = +document.getElementById('trap-a').value,b=+document.getElementById('trap-b').value,h=+document.getElementById('trap-h'); e = +document.getElementById('rh-e').value,f2=+document.getElementById('rh-f').value; a = +document.getElementById('par-a').value,h=+document.getElementById('par-h').value; a = +document.getElementById('ell-a').value,b=+document.getElementById('ell-b').value; perim = Math.PI*(3*(a+b)-Math.sqrt((3*a+b)*(a+3*b))) |
| 61 | Fluid Spacing Generator | `fluid-spacing-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Min Viewport px (minvw, number, default 360)<br>Max Viewport px (maxvw, number, default 1200)<br>Min Wert px (min, number, default 18)<br>Max Wert px (max, number, default 42) | Fluid CSS clamp() fuer Schriftgroessen und Abstaende erzeugen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: slope = (n('max') - n('min')) / Math.max(1, n('maxvw') - n('minvw')) * 100; intercept = n('min') - slope * n('minvw') / 100; css = clamp(${n('min')}px, ${num.format(intercept)}px + ${num.format(slope)}vw, ${n('max')}px) |
| 62 | Freelancer Stundensatz Rechner | `freelancer-stundensatz-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Zielbetrag pro Monat in Euro (target, number, default 4500)<br>Monatliche Kosten in Euro (costs, number, default 1200)<br>Arbeitstage pro Monat (days, number, default 18)<br>Abrechenbare Stunden pro Tag (hours, number, default 5) | Zielumsatz, Kosten, Arbeitstage und abrechenbare Zeit in Stundensatz umrechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: needed = n('target') + n('costs'); hours = n('days') * n('hours') |
| 63 | Freelancer Tagessatz Rechner | `freelancer-tagessatz-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Ziel-Einkommen pro Jahr Euro (target, number, default 60000)<br>Betriebskosten pro Jahr Euro (costs, number, default 12000)<br>Arbeitstage pro Jahr (days, number, default 220)<br>Abrechenbare Auslastung Prozent (util, number, default 70) | Noetigen Tagessatz aus Zielgehalt, Kosten, Urlaub und Auslastung berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: billable = n('days') * n('util') / 100; rate = (n('target') + n('costs')) / Math.max(1, billable) |
| 64 | Gehaltsrechner – Nettogehalt aus Brutto berechnen | `gehaltsrechner` | resources/views/tools/gehaltsrechner.blade.php | z.B. 3500 (brutto, number, default 3500)<br>klasse (klasse, select)<br>z.B. 40 (hours, number, default 40)<br>kirche (kirche, checkbox) | Gehaltsrechner: Nettolohn aus Bruttogehalt schnell berechnen. Steuerklasse, Kirchensteuer, Krankenversicherung – einfache Orientierung ohne Steuerberater.. numerische Formeln. Funktionen: setPeriod, showPeriod, calc. Konstanten: eur, taxRates, labels, hoursPerMonth, brutto, klasse, kirche, lstRate, lst, soli. Formeln/Operationen: eur = n => n.toLocaleString('de-DE', {style:'currency',currency:'EUR'}); labels = {month: 'Nettolohn / Monat', year: 'Nettolohn / Jahr', hour: 'Nettolohn / Stunde'}; hoursPerMonth = cachedHours * (52 / 12); brutto = parseFloat(document.getElementById('brutto').value) \|\| 0; klasse = parseInt(document.getElementById('klasse').value); lst = brutto * lstRate; soli = lst > 1200 ? lst * 0.055 : 0; kircheSt = kirche ? lst * 0.09 : 0; rv = brutto * 0.093, kv = brutto * 0.073, pv = brutto * 0.017, av = brutto * 0.013; netto = Math.max(0, brutto - lst - soli - kircheSt - rv - kv - pv - av) |
| 65 | Geschwindigkeit Umrechner | `geschwindigkeit-umrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Geschwindigkeit in km/h (kmh, number, default 100) | km/h, mph, m/s und Knoten umrechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: kmh = n('kmh') |
| 66 | Grillfleisch Rechner | `grillfleisch-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Personen (people, number, default 8)<br>Hunger (hunger, select, default normal, Optionen: leicht=leicht/normal=normal/gross=gross)<br>Vegetarische Gaeste (veggie, number, default 2) | Fleisch, Beilagen und vegetarische Menge fuer Grillpartys schaetzen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: grams = { leicht: 220, normal: 300, gross: 400 }[value('hunger')] ?? 300; meatPeople = Math.max(0, n('people') - n('veggie')) |
| 67 | Hackepeter Rechner – Mettrechner für Partys | `hackepeter` | resources/views/tools/hackepeter.blade.php | persons (persons, number, default 10)<br>mett-type (mett-type, select) | Hackepeter Rechner: Wie viel Mett brauche ich? Berechne Mett, Brötchen, Zwiebeln, Bier und mehr für deine Party. Kostenloser Mettrechner online.. Regex/Text-Parsing; numerische Formeln. Funktionen: setPersons, buildToggles, toggleIng, calc, copyList. Konstanten: INGS, div, ing, persons, gpp, totalG, totalKg, active, qty, display. Formeln/Operationen: persons = Math.max(1,parseInt(document.getElementById('persons').value)\|\|1); gpp = parseInt(document.getElementById('mett-type').value)\|\|150; totalG = persons*gpp; totalKg = totalG/1000; qty = ing.ratio*totalG; display = qty>=1?Math.ceil(qty).toLocaleString('de-DE'):qty.toFixed(1).replace('.',','); persons = Math.max(1,parseInt(document.getElementById('persons').value)\|\|1); gpp = parseInt(document.getElementById('mett-type').value)\|\|150; totalG = persons*gpp; qty = ing.ratio*totalG |
| 68 | Hash Generator – SHA-1, SHA-256, SHA-512, MD5 | `hash-generator` | resources/views/tools/hash-generator.blade.php | Text hier eingeben – Hashes werden live berechnet… (hash-inp, textarea)<br>opt-upper (opt-upper, checkbox)<br>file-inp (file-inp, file)<br>Nachricht… (hmac-msg, textarea)<br>Geheimer Schlüssel (hmac-key, text)<br>hmac-algo (hmac-algo, select)<br>HMAC-Ergebnis… (hmac-out, text)<br>Ersten Hash einfügen… (cmp-a, text)<br>Zweiten Hash einfügen… (cmp-b, text) | Text und Dateien online hashen mit SHA-1, SHA-256, SHA-512 und MD5. Hash-Vergleich, HMAC, Datei-Hash – alles lokal per Web Crypto API.. Hash/Krypto-API; Regex/Text-Parsing. Funktionen: setMode, digest, md5, safeAdd, bitRotate, md5cmn, md5ff, md5gg, md5hh, md5ii, computeAll, renderHashes, setAllEmpty, handleFile. Konstanten: hashes, buf, l, bytes, len8, words, text, enc, bytes, upper. Formeln/Operationen: l = (x&0xffff)+(y&0xffff); a = 1732584193,b=-271733879,c=-1732584194,d=271733878; text = document.getElementById('hash-inp').value; upper = document.getElementById('opt-upper').checked; upper = document.getElementById('opt-upper')?.checked; el = document.getElementById('v-'+k); msg = document.getElementById('hmac-msg').value; key = document.getElementById('hmac-key').value; algo = document.getElementById('hmac-algo').value; a = document.getElementById('cmp-a').value.trim().toLowerCase() |
| 69 | Hashtag Generator | `hashtag-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Keywords, je Zeile oder Komma (keywords, textarea, default web tools\nseo\nkotsch tech) | Hashtags aus Keywords fuer Social Media erzeugen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: tags = value('keywords').split(/[,\n]+/).map(s => s.trim().toLowerCase().replace(/[^a-z0-9äöüß]+/gi, '')).filter(Boolean).map(s => '#' + s) |
| 70 | Haushaltsbuch – Einnahmen & Ausgaben verwalten | `haushaltsbuch` | resources/views/tools/haushaltsbuch.blade.php | z.B. 2800 (inc-lohn, number)<br>z.B. 200 (inc-sonstig, number) | Kostenloses Haushaltsbuch online: Einnahmen und Ausgaben erfassen, Budget überwachen und Sparquote berechnen. Daten werden lokal gespeichert.. localStorage Persistenz; JSON Parsing/Serialisierung; Hash/Krypto-API; numerische Formeln. Funktionen: calc, saveData, resetData, loadData. Konstanten: fmtEur, COLORS, LABELS, income, inputs, catVals, v, balance, pct, balCard. Formeln/Operationen: fmtEur = n => n.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }); income = (parseFloat(document.getElementById('inc-lohn').value) \|\| 0); inputs = document.querySelectorAll('.cat-input'); v = parseFloat(inp.value) \|\| 0; balance = income - totalExp; pct = income > 0 ? Math.min(Math.round((totalExp / income) * 100), 200) : 0; balCard = document.getElementById('s-balance-card'); balVal = document.getElementById('s-balance'); fill = document.getElementById('progress-fill'); chartDiv = document.getElementById('chart-bars') |
| 71 | Haushaltsbudget Rechner | `haushaltsbudget-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Einnahmen pro Monat in Euro (income, number, default 3200)<br>Fixkosten in Euro (fixed, number, default 1400)<br>Variable Kosten in Euro (variable, number, default 900) | Einnahmen, Fixkosten, variable Kosten und Sparquote berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: spent = n('fixed') + n('variable'); rest = n('income') - spent |
| 72 | Heizkosten Rechner | `heizkosten-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Wohnflaeche in m2 (area, number, default 85)<br>Verbrauch kWh pro m2/Jahr (usage, number, default 120)<br>Preis pro kWh in Euro (price, number, default 0.12)<br>Grundpreis pro Jahr in Euro (base, number, default 180) | Heizkosten nach Wohnflaeche, Verbrauch und Energiepreis schaetzen.. Ausgabe als Kennzahlen-Tabelle. Formeln: kwh = n('area') * n('usage'); total = kwh * n('price') + n('base') |
| 73 | Herzfrequenz Rechner – Pulszonen berechnen | `herzfrequenz` | resources/views/tools/herzfrequenz.blade.php | z.B. 30 (age, number)<br>z.B. 60 (resting, number) | Herzfrequenz Rechner kostenlos: Maximalen Puls und 5 Trainingszonen berechnen. Optimaler Pulsbereich für Fettverbrennung, Ausdauer und Maximalkraft.. Hash/Krypto-API; numerische Formeln. Funktionen: calcZoneBpm, calc. Konstanten: zonesDef, age, resting, useKarvonen, hrMax, karvNote, karvInfo, bpmLow, bpmHigh, barW. Formeln/Operationen: age = parseInt(document.getElementById('age').value); resting = parseInt(document.getElementById('resting').value); hrMax = 220 - age; karvNote = document.getElementById('karvonen-note'); karvInfo = document.getElementById('karvonen-info'); barW = Math.round((z.pctHigh - z.pctLow) * 100 * 5) |
| 74 | Hitzeindex Rechner | `hitzeindex-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Temperatur in Celsius (temp, number, default 32)<br>Relative Luftfeuchtigkeit in Prozent (humidity, number, default 60) | Gefuehlte Hitze aus Temperatur und Luftfeuchtigkeit schaetzen.. Ausgabe als Kennzahlen-Tabelle. Formeln: c = n('temp'); rh = n('humidity'); f = c * 9 / 5 + 32; hiF = -42.379 + 2.04901523 * f + 10.14333127 * rh - 0.22475541 * f * rh - 0.00683783 * f * f - 0.05481717 * rh * rh + 0.00122874 * f * f * rh + 0.00085282 * f * rh * rh - 0.00000199 * f * f * rh * rh; hiC = (hiF - 32) * 5 / 9 |
| 75 | hreflang Generator | `hreflang-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Sprachcode=URL, je Zeile (pairs, textarea, default de=https://kotsch.tech/de\n en=https://kotsch.tech/en) | hreflang-Link-Tags fuer mehrsprachige Seiten erzeugen.. Textanalyse/Regex/String-Parsing. Formeln: tags = value('pairs').split(/\n+/).map(line => line.trim()).filter(Boolean).map(line => { |
| 76 | HSL Farb Generator | `hsl-farb-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Hue 0-360 (h, number, default 220)<br>Saturation % (s, number, default 80)<br>Lightness % (l, number, default 55) | HSL-Farbe aus Hue, Saturation und Lightness erzeugen.. Farb-/CSS-Berechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: h = ((n('h') % 360) + 360) % 360; s = Math.max(0, Math.min(100, n('s'))); l = Math.max(0, Math.min(100, n('l'))); css = hsl(${num.format(h)} ${num.format(s)}% ${num.format(l)}%) |
| 77 | htaccess Redirect Generator | `htaccess-redirect-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Alter Pfad (from, text, default /alte-seite)<br>Neue URL oder Pfad (to, text, default https://kotsch.tech/neue-seite) | 301-Redirect-Regeln fuer .htaccess erzeugen.. 301-Redirect-Regeln fuer .htaccess erzeugen.. Formeln: from = value('from').startsWith('/') ? value('from') : '/' + value('from'); rule = Redirect 301 ${from} ${value('to')} |
| 78 | HTML Entities – Escapen & Dekodieren | `html-entities` | resources/views/tools/html-entities.blade.php | <h1 (ent-inp, textarea)<br>ent-out (ent-out, textarea) | HTML Entities online: Sonderzeichen escapen, HTML-Entities dekodieren, Entity-Referenz-Tabelle und live Vorschau. Kostenlos im Browser.. Regex/Text-Parsing; numerische Formeln. Funktionen: setMode, escapeHTML, decodeHTML, encodeAll, process, swapFields, clearAll, copyField, buildTable, insertEntity. Konstanten: ENTITIES, labels, ta, cp, inp, replaced, inp, out, val, tbody. Formeln/Operationen: inp = document.getElementById('ent-inp').value; replaced = (inp.length - out.length === 0) ? 0 : Math.abs(inp.split('').filter((_,i)=>inp[i]!==out[i]).length); inp = document.getElementById('ent-inp'); out = document.getElementById('ent-out'); tbody = document.querySelector('#entity-table tbody'); ta = document.getElementById('ent-inp') |
| 79 | HTML Minifier | `html-minifier` | config/webtools_extra.php + resources/views/tools/quick.blade.php | HTML (html, textarea, default <div>\n  <!-- Kommentar -->\n  <strong>Hallo</strong>\n</div>) | HTML grob minifizieren und Leerraum reduzieren.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: output = value('html').replace(/<!--[\s\S]*?-->/g, '').replace(/>\s+</g, '><').replace(/\s{2,}/g, ' ').trim() |
| 80 | HTML Minifier Light | `html-minifier-light` | config/webtools_extra.php + resources/views/tools/quick.blade.php | HTML (html, textarea, default <div>\n  <h1>Hallo</h1>\n  <p>Text</p>\n</div>) | HTML leicht minifizieren und Groesse vergleichen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: raw = value('html'); mini = raw.replace(/<!--[\s\S]*?-->/g, '').replace(/>\s+</g, '><').replace(/\s{2,}/g, ' ').trim(); saved = raw.length ? (1 - mini.length / raw.length) * 100 : 0 |
| 81 | HTTP Status Code Spicker | `http-status-code-spicker` | config/webtools_extra.php + resources/views/tools/quick.blade.php | HTTP Code (code, number, default 404) | HTTP-Statuscodes schnell nachschlagen und erklaeren.. Ausgabe als Kennzahlen-Tabelle. Formeln: info = { |
| 82 | Hundejahre Rechner | `hundejahre-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Alter des Hundes in Jahren (age, number, default 5)<br>Groesse (size, select, default medium, Optionen: small=klein/medium=mittel/large=gross) | Hundealter grob in Menschenjahre umrechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: age = Math.max(0, n('age')); multiplier = { small: 4.5, medium: 5.5, large: 6.5 }[value('size')] ?? 5.5; human = age <= 1 ? 15 : age <= 2 ? 24 : 24 + (age - 2) * multiplier |
| 83 | IBAN Pruefer | `iban-pruefer` | config/webtools_extra.php + resources/views/tools/quick.blade.php | IBAN (iban, text, default DE89370400440532013000) | IBAN lokal pruefen und Laendercode, Pruefziffer und Laenge anzeigen.. Textanalyse/Regex/String-Parsing; IBAN Mod-97-Pruefziffer; Ausgabe als Kennzahlen-Tabelle. Formeln: check = calcIban(value('iban')); iban = value('iban').toUpperCase().replace(/\s+/g, '') |
| 84 | Inflations Rechner | `inflations-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Betrag in Euro (amount, number, default 1000)<br>Inflation pro Jahr in Prozent (rate, number, default 3)<br>Jahre (years, number, default 10) | Kaufkraftverlust und zukuenftigen Preis durch Inflation berechnen.. Potenz/Zinseszins/Exponentialrechnung; Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: future = n('amount') * Math.pow(1 + n('rate') / 100, n('years')); factor = Math.pow(1 + n('rate') / 100, n('years')) |
| 85 | Meine IP-Adresse – IPv4, Standort & ISP anzeigen | `ip-adresse` | resources/views/tools/ip-adresse.blade.php | keine expliziten Form-Felder erkannt / Canvas/UI/Buttons | Deine IP-Adresse sofort anzeigen. IPv4, Standort, ISP, Zeitzone und Netzwerkinfos – kostenlos und ohne Installation.. Hash/Krypto-API; externe Browser-API/fetch. Funktionen: copyIP, loadData. Konstanten: FIELDS, btn, res, d, rows, val, row. Formeln/Operationen: btn = document.querySelector('#result-state .t-btn'); res = await fetch('https://ipapi.co/json/'); rows = document.getElementById('info-rows') |
| 86 | JavaScript Minifier | `javascript-minifier` | config/webtools_extra.php + resources/views/tools/quick.blade.php | JavaScript (js, textarea, default function hello(name) {\n  console.log('Hallo ' + name);\n}) | JavaScript Snippets grob minifizieren.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: output = value('js').replace(/\/\*[\s\S]*?\*\//g, '').replace(/\/\/.*$/gm, '').replace(/\s+/g, ' ').replace(/\s*([{}() |
| 87 | JSON Formatter – Formatieren, Validieren & Minifizieren | `json-formatter` | resources/views/tools/json-formatter.blade.php | { (inp, textarea) | JSON online formatieren, validieren und minifizieren. Schlüssel sortieren, Baumansicht, Fehleranzeige und Copy-Funktion – kostenlos im Browser.. JSON Parsing/Serialisierung; Regex/Text-Parsing; numerische Formeln. Funktionen: autoFormat, showErr, hideErr, parse, format, minify, sortKeys, sortObj, countKeys, maxDepth, updateStats, escHTML, syntaxHL, renderTree. Konstanten: e, raw, pretty, mini, sorted, pretty, o, el, pad, keys. Formeln/Operationen: btn = document.querySelector('.t-copy-btn') |
| 88 | JSON Validator | `json-validator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | JSON (json, textarea, default {"name":"kotsch.tech","tools":40}) | JSON formatieren, pruefen und lesbar einruecken.. JSON/Schema-Erzeugung; Ausgabe als Kennzahlen-Tabelle. Formeln: formatted = JSON.stringify(JSON.parse(value('json')), null, 2) |
| 89 | JWT Decoder – JSON Web Token analysieren | `jwt-decoder` | resources/views/tools/jwt-decoder.blade.php | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c (jwt-inp, textarea) | JWT Token online dekodieren: Header, Payload und Claims übersichtlich anzeigen. Ablaufdatum-Prüfung, Algorithmus-Info und Base64-Dekodierung – 100% lokal.. Datums-/Zeitrechnung; JSON Parsing/Serialisierung; Regex/Text-Parsing. Funktionen: b64decode, decode, renderClaims, copySection, escT, clearAll, loadExample. Konstanten: CLAIM_HINTS, raw, errEl, parts, partsEl, expWrap, expDate, expired, hint, data. Formeln/Operationen: raw = document.getElementById('jwt-inp').value.trim(); errEl = document.getElementById('jwt-err'); partsEl = document.getElementById('jwt-parts'); expWrap = document.getElementById('exp-badge-wrap'); expDate = new Date(decoded.payload.exp * 1000) |
| 90 | Kaffee Wasser Rechner | `kaffee-wasser-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Wasser in ml (water, number, default 500)<br>Ratio Wasser : Kaffee (ratio, number, default 16) | Kaffee- und Wassermenge nach Bruehverhaeltnis berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: coffee = n('water') / Math.max(1, n('ratio')) |
| 91 | Kalenderwochen Rechner | `kalenderwochen-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Datum (date, date, default 2026-05-19) | Kalenderwoche fuer ein Datum nach ISO berechnen.. Zeit-/Dauerrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: date = new Date(value('date')); tmp = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())); day = tmp.getUTCDay() \|\| 7; yearStart = new Date(Date.UTC(tmp.getUTCFullYear(), 0, 1)); week = Math.ceil((((tmp - yearStart) / 86400000) + 1) / 7) |
| 92 | Kalorienrechner – Tagesbedarf berechnen | `kalorienrechner` | resources/views/tools/kalorienrechner.blade.php | sex (sex, select)<br>z.B. 30 (age, number)<br>z.B. 175 (height, number)<br>z.B. 75 (weight, number)<br>activity (activity, select) | Kalorienrechner: Täglichen Kalorienbedarf kostenlos berechnen. Basalstoffwechsel und Gesamtkalorienbedarf nach Alter, Größe, Gewicht und Aktivität.. numerische Formeln. Funktionen: setGoal, calc, updateGoal. Konstanten: goals, age, h, w, err, errors, sex, act, bmr, loseV. Formeln/Operationen: age = parseInt(document.getElementById('age').value); h = parseInt(document.getElementById('height').value); w = parseInt(document.getElementById('weight').value); err = document.getElementById('kcal-error'); act = parseFloat(document.getElementById('activity').value); bmr = sex === 'm' ? 10*w + 6.25*h - 5*age + 5 : 10*w + 6.25*h - 5*age - 161; loseV = Math.max(1000, tdee - 500); kcal = Math.max(1000, tdee + g.offset); protein = Math.round(kcal * 0.30 / 4); fat = Math.round(kcal * 0.25 / 9) |
| 93 | Katzenjahre Rechner | `katzenjahre-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Alter der Katze in Jahren (age, number, default 7) | Katzenalter grob in Menschenjahre umrechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: age = Math.max(0, n('age')); human = age <= 1 ? 15 : age <= 2 ? 24 : 24 + (age - 2) * 4 |
| 94 | Keyword Dichte Rechner | `keyword-dichte-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Keyword (keyword, text, default webtools)<br>Text (text, textarea, default Webtools helfen im Alltag. Gute Webtools sind schnell, kostenlos und direkt nutzbar.) | Keyword-Haeufigkeit und Dichte in einem Text berechnen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: text = value('text').toLowerCase(); keyword = value('keyword').toLowerCase().trim(); words = text.match(/[a-zA-Z0-9äöüÄÖÜß]+/g) ?? []; count = keyword ? (text.match(new RegExp(keyword.replace(/[.*+?^${}()\|[\]\\]/g, '\\$&'), 'g')) ?? []).length : 0; density = words.length ? count / words.length * 100 : 0; sentences = text.split(/[.!?]+/).filter(s => s.trim()).length |
| 95 | Kleidergroessen Umrechner | `kleidergroessen-umrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | EU Groesse (eu, number, default 40) | EU-Konfektionsgroessen grob in international und US umrechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: eu = n('eu'); intl = eu <= 34 ? 'XS' : eu <= 38 ? 'S' : eu <= 42 ? 'M' : eu <= 46 ? 'L' : eu <= 50 ? 'XL' : 'XXL+' |
| 96 | Körperfett Rechner – Körperfettanteil berechnen | `koerperfett-rechner` | resources/views/tools/koerperfett-rechner.blade.php | z.B. 178 (height, number)<br>z.B. 80 (weight, number)<br>z.B. 38 (neck, number)<br>z.B. 85 (waist, number)<br>z.B. 95 (hip, number) | Körperfett Rechner kostenlos: Körperfettanteil nach der US-Navy-Methode berechnen. Für Männer und Frauen – schnell, einfach und ohne Geräte.. Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: setGender, renderCatTable, calc. Konstanten: catsM, catsF, hipField, cats, tbody, h, w, neck, waist, hip. Formeln/Operationen: hipField = document.getElementById('hip-field'); tbody = document.getElementById('cat-tbody'); h = parseFloat(document.getElementById('height').value); w = parseFloat(document.getElementById('weight').value); neck = parseFloat(document.getElementById('neck').value); waist = parseFloat(document.getElementById('waist').value); hip = parseFloat(document.getElementById('hip').value); log1 = Math.log10(waist - neck); log2 = Math.log10(h); log1 = Math.log10(waist + hip - neck) |
| 97 | Kosten pro Person Rechner | `kosten-pro-person` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Gesamtbetrag in Euro (total, number, default 86.4)<br>Personen (people, number, default 4)<br>Trinkgeld in Prozent (tip, number, default 10) | Rechnung, Trinkgeld und Kosten pro Person schnell aufteilen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: total = n('total') * (1 + n('tip') / 100); tip = n('total') * n('tip') / 100 |
| 98 | Kredit Rechner – Zinsen & Rate berechnen | `kredit-rechner` | resources/views/tools/kredit-rechner.blade.php | z.B. 10000 (amount, number, default 10000)<br>z.B. 5.5 (rate, number, default 5.5)<br>z.B. 60 (months, number, default 60)<br>z.B. 5 (years, number) | Kredit Rechner kostenlos: Monatliche Rate, Gesamtzinsen und Tilgungsplan berechnen. Einfacher Kreditrechner für Darlehen, Autokredit und mehr.. Regex/Text-Parsing; numerische Formeln. Funktionen: syncYears, calc. Konstanten: eur, pct, y, P, r, n, monthly, total, interest, ratio. Formeln/Operationen: eur = n => n.toLocaleString('de-DE', {style:'currency', currency:'EUR', maximumFractionDigits:2}); pct = n => n.toFixed(1).replace('.',',') + ' %'; y = parseFloat(document.getElementById('years').value); P = parseFloat(document.getElementById('amount').value); r = parseFloat(document.getElementById('rate').value) / 100 / 12; n = parseInt(document.getElementById('months').value); monthly = r > 0 ? P * r * Math.pow(1+r,n) / (Math.pow(1+r,n)-1) : P/n; total = monthly * n; interest = total - P; ratio = interest / total * 100 |
| 99 | Kreditkarten Zinsen Rechner | `kreditkarten-zinsen-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Saldo in Euro (balance, number, default 1200)<br>Jahreszins in Prozent (apr, number, default 18.9)<br>Monate (months, number, default 6) | Zinskosten fuer Kreditkartensaldo und Teilzahlung schaetzen.. Potenz/Zinseszins/Exponentialrechnung; Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: monthly = n('apr') / 100 / 12; interest = n('balance') * (Math.pow(1 + monthly, n('months')) - 1) |
| 100 | Kreditrechner | `kreditrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Kreditsumme in Euro (amount, number, default 15000)<br>Effektiver Jahreszins in Prozent (rate, number, default 5.5)<br>Laufzeit in Monaten (months, number, default 60) | Monatsrate, Zinskosten und Gesamtkosten fuer Kredite berechnen.. Potenz/Zinseszins/Exponentialrechnung; Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: monthlyRate = n('rate') / 100 / 12; months = Math.max(1, n('months')); payment = monthlyRate ? n('amount') * monthlyRate / (1 - Math.pow(1 + monthlyRate, -months)) : n('amount') / months; total = payment * months |
| 101 | Leasing Rechner | `leasing-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Listenpreis in Euro (list, number, default 42000)<br>Monatsrate in Euro (rate, number, default 299)<br>Laufzeit in Monaten (months, number, default 36)<br>Anzahlung in Euro (down, number, default 0) | Leasingfaktor, Gesamtkosten und effektive Monatskosten berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: total = n('rate') * n('months') + n('down'); effective = total / Math.max(1, n('months')); factor = n('list') ? (n('rate') / n('list') * 100) : 0 |
| 102 | Lesbarkeitsrechner | `lesbarkeitsrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Text (text, textarea, default Kurze Saetze sind oft leichter lesbar. Dieses Tool prueft deinen Text und gibt dir eine schnelle Einschaetzung.) | Textlaenge, Satzlaenge und grobe Lesbarkeit analysieren.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: text = value('text'); words = text.match(/[A-Za-zÄÖÜäöüß0-9]+/g) ?? []; sentences = text.split(/[.!?]+/).filter(s => s.trim().length > 0); avg = words.length / Math.max(1, sentences.length); score = avg <= 12 ? 'leicht' : avg <= 20 ? 'mittel' : 'schwer'; chars = text.length; longWords = words.filter(w => w.length >= 12).length |
| 103 | Lorem Ipsum Generator – Platzhaltertext erstellen | `lorem-ipsum` | resources/views/tools/lorem-ipsum.blade.php | li-type (li-type, select)<br>li-count (li-count, number, default 3)<br>li-wordlen (li-wordlen, number, default 12)<br>li-startlorem (li-startlorem, checkbox)<br>li-out (li-out, textarea) | Lorem Ipsum Generator online: Wörter, Sätze, Absätze, HTML oder Deutsch-Blindtext erstellen. Sofort kopieren – kostenlos im Browser.. Zufallsgenerator; Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: pick, cap, setLang, getWord, makeSentence, makeParagraph, generate, copyOutput, downloadTxt. Konstanten: LOREM, DE, len, words, pos, sentCount, type, count, avgLen, startLorem. Formeln/Operationen: len = Math.max(4, Math.round(avgLen * (0.7 + Math.random()*0.6))); pos = 3 + Math.floor(Math.random()*3); sentCount = 3 + Math.floor(Math.random()*4); type = document.getElementById('li-type').value; count = Math.min(50, Math.max(1, parseInt(document.getElementById('li-count').value)\|\|3)); avgLen = Math.min(30, Math.max(5, parseInt(document.getElementById('li-wordlen').value)\|\|12)); startLorem = document.getElementById('li-startlorem').checked && lang !== 'de'; wordCount = result.trim().split(/\s+/).length; val = document.getElementById('li-out').value; val = document.getElementById('li-out').value |
| 104 | Lorem Ipsum Generator Pro | `lorem-ipsum-generator-pro` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Absaetze (paragraphs, number, default 3)<br>Saetze pro Absatz (sentences, number, default 4) | Lorem-Ipsum-Absatztext mit Satz- und Absatzanzahl erzeugen.. Lorem-Ipsum-Absatztext mit Satz- und Absatzanzahl erzeugen.. Formeln: source = ['Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Praesent vitae sapien non arcu facilisis luctus.', 'Integer posuere erat a ante venenatis dapibus.', 'Donec ullamcorper nulla non metus auctor fringilla.', 'Curabitur blandit tempus porttitor.']; paragraphs = Array.from({ length: Math.max(1, Math.min(20, Math.round(n('paragraphs')))) }, (_, p) => { |
| 105 | Makro Rechner | `makro-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Kalorien pro Tag (calories, number, default 2200)<br>Protein in g (protein, number, default 160)<br>Fett in g (fat, number, default 70) | Protein, Fett und Kohlenhydrate aus Kalorienziel berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: proteinCal = n('protein') * 4; fatCal = n('fat') * 9; carbCal = Math.max(0, n('calories') - proteinCal - fatCal) |
| 106 | Marge Rechner | `marge-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Einkaufspreis/Kosten in Euro (cost, number, default 40)<br>Verkaufspreis in Euro (price, number, default 79) | Marge, Aufschlag und Gewinn fuer Produkte berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: profit = n('price') - n('cost') |
| 107 | Markdown zu HTML | `markdown-html-konverter` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Markdown (markdown, textarea, default # Titel\n\n**Fett** und ein [Link](https://kotsch.tech).) | Einfaches Markdown in HTML umwandeln.. Einfaches Markdown in HTML umwandeln.. Formeln: html = simpleMarkdown(value('markdown')) |
| 108 | Markdown Preview – Live-Vorschau & HTML-Export | `markdown-preview` | resources/views/tools/markdown-preview.blade.php | # Hallo Welt&#10;&#10;Schreib hier dein **Markdown**… (md-inp, textarea) | Markdown online schreiben und live als HTML vorschauen. Toolbar, Syntax-Highlighting, Wortanzahl und HTML-Export – kostenlos im Browser.. Regex/Text-Parsing; numerische Formeln. Funktionen: escHTML, mdToHTML, render, wrap, insertLine, insertLink, copyHTML, copyMD, clearAll, loadExample, hello. Konstanten: items, items, th, rows, md, words, chars, mins, ta, s. Formeln/Operationen: items = block.split('\n').filter(Boolean).map(l=>` ${l.replace(/^\s*[-*+]\s/,'')} `).join(''); items = block.split('\n').filter(Boolean).map(l=>` ${l.replace(/^\s*\d+\.\s/,'')} `).join(''); th = hRow.split('\|').filter(Boolean).map(c=>` ${c.trim()} `).join(''); rows = body.trim().split('\n').map(r=>` ${r.split('\|').filter(Boolean).map(c=>` ${c.trim()} `).join('')} `).join(''); md = document.getElementById('md-inp').value; words = md.trim()?md.trim().split(/\s+/).length:0; mins = Math.max(1,Math.round(words/200)); ta = document.getElementById('md-inp'); ta = document.getElementById('md-inp'); lineStart = ta.value.lastIndexOf('\n',s-1)+1 |
| 109 | Meeting Kosten Rechner | `meeting-kosten-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Teilnehmer (people, number, default 6)<br>Dauer in Minuten (minutes, number, default 45)<br>Durchschnittlicher Stundensatz in Euro (rate, number, default 45) | Kosten eines Meetings nach Teilnehmern, Dauer und Stundensatz berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: hours = n('minutes') / 60; total = n('people') * hours * n('rate') |
| 110 | Mehrwertsteuer Rechner – MwSt berechnen | `mehrwertsteuer` | resources/views/tools/mehrwertsteuer.blade.php | z.B. 100,00 (amount, number)<br>rate (rate, radio)<br>z.B. 5 (custom-rate, number) | Mehrwertsteuer Rechner kostenlos: MwSt berechnen mit 19% oder 7%. Netto zu Brutto und Brutto zu Netto umrechnen – schnell und einfach.. Hash/Krypto-API; numerische Formeln. Funktionen: setMode, setRate, calc. Konstanten: fmtEur, amount, currentRate. Formeln/Operationen: fmtEur = n => n.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }); amount = parseFloat(document.getElementById('amount').value) |
| 111 | Meta Description Checker | `meta-description-checker` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Meta Description (description, textarea, default Kostenloser Rechner fuer Stromkosten: Watt, Laufzeit und kWh-Preis eingeben und Energiekosten sofort berechnen.) | Meta Description Laenge, Snippet und CTA-Qualitaet pruefen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: desc = value('description'); status = desc.length < 90 ? 'Eher kurz' : desc.length > 160 ? 'Eher lang' : 'Guter Bereich'; words = desc.trim().split(/\s+/).filter(Boolean).length |
| 112 | Meta Robots Generator | `meta-robots-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Indexierung (indexing, select, default index, Optionen: index=index/noindex=noindex)<br>Links (following, select, default follow, Optionen: follow=follow/nofollow=nofollow) | Meta-Robots-Tag fuer Indexierung und Linkverfolgung erzeugen.. Meta-Robots-Tag fuer Indexierung und Linkverfolgung erzeugen.. Formeln: tag = <meta name="robots" content="${value('indexing')}, ${value('following')}"> |
| 113 | Meta Title Checker | `meta-title-checker` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Meta Title (title, text, default Stromkosten Rechner kostenlos - kWh Kosten berechnen) | SEO Title Laenge, Vorschau und Optimierung schnell pruefen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: title = value('title'); status = title.length < 35 ? 'Eher kurz' : title.length > 60 ? 'Eher lang' : 'Guter Bereich'; words = title.trim().split(/\s+/).filter(Boolean).length |
| 114 | Mietrendite Rechner | `mietrendite-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Kaufpreis in Euro (price, number, default 250000)<br>Kaufnebenkosten in Euro (buyCosts, number, default 25000)<br>Kaltmiete pro Monat in Euro (rent, number, default 950)<br>Nicht umlagefaehige Kosten/Jahr in Euro (costs, number, default 1200) | Brutto- und Nettomietrendite fuer Immobilien berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: invest = n('price') + n('buyCosts'); annualRent = n('rent') * 12; annualNet = annualRent - n('costs') |
| 115 | Morse Code Übersetzer – Text zu Morse & zurück | `morse` | resources/views/tools/morse.blade.php | z.B. SOS (input, textarea)<br>output (output, textarea) | Morse Code online übersetzen: Text zu Morsecode und Morsecode zurück zu Text. Live-Übersetzung und Audio-Wiedergabe. Kostenlos im Browser.. Regex/Text-Parsing. Funktionen: setDir, translate, copyOutput, clearAll, playMorse. Konstanten: alphabet, reverse, val, val, btn, morseStr, ctx, unit, beep, osc. Formeln/Operationen: alphabet = {a:'.-',b:'-...',c:'-.-.',d:'-..',e:'.',f:'..-.',g:'--.',h:'....',i:'..',j:'.---',k:'-.-',l:'.-..',m:'--',n:'-.',o:'---'; btn = document.querySelector('.t-copy-btn'); t = ctx.currentTime+0.1 |
| 116 | Nebenkosten Rechner | `nebenkosten-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Wohnflaeche in m2 (area, number, default 70)<br>Nebenkosten pro Monat in Euro (monthly, number, default 220) | Nebenkosten pro Quadratmeter, Monat und Jahr berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: yearly = n('monthly') * 12 |
| 117 | Newsletter ROI Rechner | `newsletter-roi-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Empfaenger (subs, number, default 5000)<br>Open Rate Prozent (open, number, default 35)<br>Click Rate Prozent (ctr, number, default 5)<br>Conversion Prozent (conv, number, default 3)<br>Warenkorbwert Euro (aov, number, default 49) | Newsletter-Umsatz aus Liste, Open Rate, Klickrate und Conversion schaetzen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: opens = n('subs') * n('open') / 100; clicks = opens * n('ctr') / 100; sales = clicks * n('conv') / 100; revenue = sales * n('aov') |
| 118 | Notendurchschnitt Rechner | `notendurchschnitt-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Noten (grades, textarea, default 1,7; 2,3; 2,0; 1,3) | Notendurchschnitt aus mehreren Noten schnell berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: grades = parseNumbers(value('grades')); avg = grades.reduce((a,b) => a + b, 0) / Math.max(1, grades.length); min = Math.min(...grades); max = Math.max(...grades); sorted = [...grades].sort((a,b) => a-b); median = sorted.length ? sorted[Math.floor(sorted.length / 2)] : 0 |
| 119 | Online Notizblock – Notizen im Browser speichern | `notizblock` | resources/views/tools/notizblock.blade.php | Suchen… (find-inp, text)<br>Ersetzen durch… (replace-inp, text)<br>Fang einfach an zu tippen – Notizen werden automatisch gespeichert… (notepad, textarea)<br>notepad (notepad, textarea) | Notizblock online: Notizen direkt im Browser schreiben und automatisch speichern. Mehrere Tabs, Markdown-Modus, Suchen & Ersetzen, Download – kein Konto nötig.. localStorage Persistenz; Datums-/Zeitrechnung; JSON Parsing/Serialisierung; Regex/Text-Parsing; numerische Formeln. Funktionen: getActiveTab, saveTabs, saveContent, renderTabs, switchTab, addTab, removeTab, onInput, updateStats, fmt, fmtLine, toggleMono, toggleMd, renderMd. Konstanten: tab, dot, now, el, tab, name, val, words, lines, ta. Formeln/Operationen: activeTabId = parseInt(localStorage.getItem('nz_active') \|\| '1'); nextId = Math.max(...tabs.map(t=>t.id)) + 1; dot = document.getElementById('save-dot'); now = new Date().toLocaleTimeString('de-DE',{hour:'2-digit',minute:'2-digit'}); el = document.getElementById('note-tabs'); name = prompt('Tab-Name:', 'Notiz ' + nextId); words = val.trim() ? val.trim().split(/\s+/).length : 0; wrap = {bold:'**',italic:'_',strike:'~~',code:'`'}[type]; area = document.getElementById('editor-area'); pane = document.getElementById('md-pane') |
| 120 | Open Graph Preview | `open-graph-preview` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Titel (title, text, default kotsch.tech Webtools)<br>Beschreibung (description, textarea, default Kostenlose Online-Tools fuer Alltag, SEO, Finanzen und Produktivitaet.)<br>URL (url, url, default https://kotsch.tech/webtools)<br>Bild-URL optional (image, url, default ) | Social Media Vorschau fuer Titel, Beschreibung, URL und Bild bauen.. Social Media Vorschau fuer Titel, Beschreibung, URL und Bild bauen.. Formeln: image = value('image') |
| 121 | Pace Rechner | `pace-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Distanz in km (km, number, default 10)<br>Stunden (hours, number, default 0)<br>Minuten (minutes, number, default 50)<br>Sekunden (seconds, number, default 0) | Laufpace, Geschwindigkeit und Zielzeit berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: totalSeconds = n('hours') * 3600 + n('minutes') * 60 + n('seconds'); paceSeconds = totalSeconds / Math.max(0.01, n('km')); paceMin = Math.floor(paceSeconds / 60); paceSec = Math.round(paceSeconds % 60).toString().padStart(2, '0') |
| 122 | Packliste Generator | `packliste-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Reisetyp (type, select, default urlaub, Optionen: urlaub=Urlaub/business=Business Trip/camping=Camping/weekend=Wochenende)<br>Tage (days, number, default 7)<br>Extras, je Zeile eins (extras, textarea, default Medikamente\nLadegeraete) | Packliste fuer Reise, Camping, Business Trip oder Wochenende erstellen.. Textanalyse/Regex/String-Parsing. Formeln: base = ['Ausweis/Reisepass', 'Geld/Karten', 'Handy', 'Ladegeraet', 'Hygieneartikel', 'Unterwaesche', 'Socken']; clothing = [${Math.max(1, n('days'))} Oberteile, ${Math.ceil(Math.max(1, n('days')) / 2)} Hosen/Roecke, 'Schuhe']; type = value('type'); extraByType = {; extras = value('extras').split(/\n+/).map(s => s.trim()).filter(Boolean); list = [...base, ...clothing, ...(extraByType[type] \|\| []), ...extras] |
| 123 | Passphrase Generator – Sichere Passphrases erstellen | `passphrase-generator` | resources/views/tools/passphrase-generator.blade.php | word-count (word-count, range, default 4)<br>lang (lang, select)<br>opt-cap (opt-cap, checkbox)<br>opt-num (opt-num, checkbox)<br>opt-sym (opt-sym, checkbox) | Passphrase Generator online: Merkbare Passwortsätze aus deutschen und englischen Wörtern. Zahlen, Sonderzeichen und mehr – 100% lokal im Browser.. Zufallsgenerator; Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: setSep, getWordList, pick, generate, addHistory, renderHistory, copyPhrase, escH. Konstanten: DE_WORDS, EN_WORDS, lang, n, words, cap, addNum, addSym, entropy, colors. Formeln/Operationen: sep = '-'; n = parseInt(document.getElementById('word-count').value); cap = document.getElementById('opt-cap').checked; addNum = document.getElementById('opt-num').checked; addSym = document.getElementById('opt-sym').checked; entropy = Math.round(n * Math.log2(words.length) + (addNum?7:0) + (addSym?3:0)); idx = Math.min(4, Math.floor(entropy/20)); pct = Math.min(100, entropy*1.2); html = parts.map((w,i) => ` ${w} `).join(` ${sep\|\|''} `); extra = (addNum ? ` ${sep} <span style="color:#7c3aed |
| 124 | Passwort-Check – Stärke analysieren & verbessern | `password-check` | resources/views/tools/password-check.blade.php | Passwort eingeben… (pw, password) | Passwort-Stärke live prüfen: Entropie, Crack-Zeiten, Pattern-Erkennung (Wörterbuch, Tastaturmuster, Sequenzen). Lokal im Browser, keine Übertragung.. Zufallsgenerator; Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: normLeet, charsetSize, hasKbd, hasSeq, fmtNum, fmtDur, analyze, reset, toggleVis, genPassphrase, useGenerated. Konstanten: COMMON, WORDS_DB, KBD_ROWS, LEET, WORDS, rates, l, u, a, pw. Formeln/Operationen: rates = {slow:100/3600,fast:100,cpu:1e8,gpu:1e12}; a = s/size; entropy = cs>0?Math.log2(Math.pow(cs,len)):0; adj = Math.max(0,entropy-penalty); guesses = Math.max(1,Math.pow(2,adj)); score = Math.min(100,Math.round((adj/90)*100)); color = score>=72?'var(--accent)':score>=48?'#f59e0b':'#ef4444'; mode = findings.length?'Pattern-Angriff':'Bruteforce'; deg = Math.round(score*3.6); rw = ()=>WORDS[Math.floor(Math.random()*WORDS.length)] |
| 125 | Passwort Generator – Sicheres Passwort erstellen | `passwort-generator` | resources/views/tools/passwort-generator.blade.php | pw-output (pw-output, textarea)<br>length (length, range, default 16)<br>opt-upper (opt-upper, checkbox)<br>opt-lower (opt-lower, checkbox)<br>opt-num (opt-num, checkbox)<br>opt-sym (opt-sym, checkbox)<br>opt-ambig (opt-ambig, checkbox)<br>opt-nodups (opt-nodups, checkbox)<br>pin-length (pin-length, range, default 4)<br>pin-nodups (pin-nodups, checkbox)<br>custom-chars (custom-chars, text, default ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%-_)<br>custom-length (custom-length, range, default 20)<br>pw-count (pw-count, range, default 1) | Passwort Generator kostenlos: Sichere Passwörter mit einem Klick generieren. Länge, Sonderzeichen, PIN-Modus, benutzerdefinierte Zeichen – 100% lokal im Browser.. Datums-/Zeitrechnung; Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: setMode, buildCharset, getLen, noDups, genOne, generate, updateStrength, updateStats, copyPw, copyAll, addHistory, renderHistory, useHistPw, clearHistory. Konstanten: chars, unique, noDupsMode, arr, idx, chars, len, count, pw, multi. Formeln/Operationen: chars = document.getElementById('custom-chars').value; arr = new Uint32Array(len * 3); idx = arr[i++] % pool.length; count = parseInt(document.getElementById('pw-count').value); multi = document.getElementById('pw-multi'); multiWrap = document.getElementById('pw-multi-wrap'); id = 'pw-row-' + i; entropy = Math.round(len * Math.log2(poolSize \|\| 2)); pct = Math.min(100, Math.round(score / 7 * 100)); idx = Math.min(4, Math.floor(pct / 25)) |
| 126 | PayPal Gebuehren Rechner | `paypal-gebuehren-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Betrag in Euro (amount, number, default 100)<br>Gebuehr in Prozent (percent, number, default 2.49)<br>Fixgebuehr in Euro (fixed, number, default 0.35) | Gebuehren, Nettoauszahlung und noetigen Bruttopreis grob berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: fee = n('amount') * n('percent') / 100 + n('fixed'); net = n('amount') - fee; needed = (n('amount') + n('fixed')) / Math.max(0.01, 1 - n('percent') / 100) |
| 127 | Pixel REM Rechner | `pixel-rem-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Pixel (px, number, default 24)<br>Root-Fontsize px (root, number, default 16) | Pixel und rem fuer CSS umrechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: rem = n('px') / Math.max(1, n('root')) |
| 128 | Pizzateig Rechner | `pizzateig-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Anzahl Pizzen (balls, number, default 4)<br>Teiggewicht pro Pizza in g (weight, number, default 260)<br>Hydration in Prozent (hydration, number, default 65) | Mehl, Wasser, Salz und Hefe fuer Pizzateig berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: total = n('balls') * n('weight'); flour = total / (1 + n('hydration') / 100 + 0.025 + 0.005); water = flour * n('hydration') / 100; salt = flour * 0.025; yeast = flour * 0.005 |
| 129 | Pomodoro Timer – Fokus & Produktivität | `pomodoro` | resources/views/tools/pomodoro.blade.php | Neue Aufgabe hinzufügen… (task-inp, text)<br>custom-work (custom-work, number, default 25)<br>custom-short (custom-short, number, default 5)<br>custom-long (custom-long, number, default 15) | Pomodoro Timer online: 25 Minuten Arbeiten, 5 Minuten Pause. Aufgabenliste, anpassbare Zeiten, Statistiken und Benachrichtigungen – kostenlos im Browser.. localStorage Persistenz; Datums-/Zeitrechnung; JSON Parsing/Serialisierung; Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln; SVG/Diagramm-Rendering. Funktionen: pad, updateDisplay, updateCircle, setMode, toggleTimer, tick, autoNext, resetTimer, skipMode, updateDots, updateStats, playBeep, requestNotif, sendNotif. Konstanten: dateKey, CIRC, circle, m, btn, next, c, show, d, ctx. Formeln/Operationen: sessions = parseInt(localStorage.getItem('pomo_sess_' + dateKey) \|\| '0'); focusMins = parseInt(localStorage.getItem('pomo_focus_' + dateKey) \|\| '0'); CIRC = 2 * Math.PI * 88; circle = document.getElementById('prog-circle'); m = Math.floor(remaining/60), s = remaining%60; btn = document.getElementById('tab-' + mode); c = document.getElementById('session-dots'); show = Math.min(sessions, 12); inp = document.getElementById('task-inp'); list = document.getElementById('task-list') |
| 130 | Preis pro Quadratmeter Rechner | `preis-pro-quadratmeter-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Preis in Euro (price, number, default 350000)<br>Flaeche in m2 (area, number, default 92) | Kaufpreis oder Miete pro Quadratmeter berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: sqm = n('price') / Math.max(1, n('area')) |
| 131 | Primzahl-Check – Primzahltest & Primfaktorzerlegung | `primzahl-check` | resources/views/tools/primzahl-check.blade.php | z.B. 97 (checkInput, number)<br>z.B. 100 (sieveInput, number, default 100) | Primzahl-Check online: Prüfe ob eine Zahl eine Primzahl ist. Primfaktorzerlegung, Teiler, nächste Primzahlen und Sieb des Eratosthenes. Kostenlos.. Zufallsgenerator; numerische Formeln. Funktionen: isPrime, primeFactors, countDivisors, getDivisors, getNeighbourPrimes, checkPrime, runSieve. Konstanten: f, d, result, raw, err, n, prime, factors, factHtml, divCount. Formeln/Operationen: c = n+dir; n = parseInt(raw); factHtml = prime ? String(n) : Object.entries(factors).map(([p,e])=>e>1?`${p} ${e} `:p).join(' × '); limit = parseInt(document.getElementById('sieveInput').value)\|\|0; sieve = new Array(limit+1).fill(true); j = i*i |
| 132 | Promillerechner | `promillerechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Gewicht in kg (weight, number, default 80)<br>Koerperfaktor (gender, select, default m, Optionen: m=maennlich / 0,7/w=weiblich / 0,6)<br>Reiner Alkohol in Gramm (alcohol, number, default 24)<br>Stunden seit Trinkbeginn (hours, number, default 2) | Promille grob nach Gewicht, Geschlecht und Alkoholmenge schaetzen.. Ausgabe als Kennzahlen-Tabelle. Formeln: factor = value('gender') === 'w' ? 0.6 : 0.7; peak = n('alcohol') / (Math.max(1, n('weight')) * factor); current = Math.max(0, peak - n('hours') * 0.15) |
| 133 | Prozent Rechner – Prozentuale Änderung & Aufschlag | `prozent-aenderung` | resources/views/tools/prozent-aenderung.blade.php | ch-old (ch-old, number, default 80)<br>ch-new (ch-new, number, default 100)<br>mk-base (mk-base, number, default 100)<br>mk-pct (mk-pct, number, default 20)<br>dc-price (dc-price, number, default 199.99)<br>dc-pct (dc-pct, number, default 25)<br>sh-val (sh-val, number, default 35)<br>sh-tot (sh-tot, number, default 200)<br>vt-net (vt-net, number, default 100)<br>vt-rate (vt-rate, select)<br>it-cap (it-cap, number, default 1000)<br>it-rate (it-rate, number, default 5)<br>it-years (it-years, number, default 10)<br>it-contrib (it-contrib, number, default 0) | Prozent online berechnen: Prozentuale Änderung, Aufschlag, Rabatt, Anteil, Mehrwertsteuer und Zinseszins. Alles lokal im Browser.. Hash/Krypto-API; numerische Formeln. Funktionen: setMode, fmt, fmtE, setResult, calc. Konstanten: el, o, n, pct, diff, arrow, base, pct, added, total. Formeln/Operationen: el = document.getElementById('pct-main-result'); o = parseFloat(document.getElementById('ch-old').value)\|\|0; n = parseFloat(document.getElementById('ch-new').value)\|\|0; pct = (n-o)/o*100; diff = n-o; base = parseFloat(document.getElementById('mk-base').value)\|\|0; pct = parseFloat(document.getElementById('mk-pct').value)\|\|0; added = base * pct / 100; total = base + added; price = parseFloat(document.getElementById('dc-price').value)\|\|0 |
| 134 | Prozent Rechner – Prozent berechnen online | `prozent-rechner` | resources/views/tools/prozent-rechner.blade.php | z.B. 19 (p1a, number)<br>z.B. 100 (p1b, number)<br>z.B. 25 (p2a, number)<br>z.B. 200 (p2b, number)<br>z.B. 20 (p3a, number)<br>z.B. 50 (p3b, number) | Prozent Rechner kostenlos: Prozent berechnen, Prozentwert, Grundwert und Prozentsatz direkt im Browser. Einfacher Prozentrechner für alle Fälle.. Hash/Krypto-API; numerische Formeln. Funktionen: setOk, setErr, c1, c2, c3. Konstanten: n, el, el, e, a, b, a, b, res, a. Formeln/Operationen: n = v => Number.isFinite(v) ? v.toLocaleString('de-DE', {maximumFractionDigits: 6}) : '–'; e = document.getElementById('e' + id.slice(1)); a = parseFloat(document.getElementById('p1a').value); b = parseFloat(document.getElementById('p1b').value); a = parseFloat(document.getElementById('p2a').value); b = parseFloat(document.getElementById('p2b').value); res = a / b * 100; a = parseFloat(document.getElementById('p3a').value); b = parseFloat(document.getElementById('p3b').value); res = b / a * 100 |
| 135 | QR-Code Generator – QR Code kostenlos erstellen | `qr-generator` | resources/views/tools/qr-generator.blade.php | https://kotsch.tech (url-val, url, default https://kotsch.tech)<br>Beliebiger Text… (text-val, textarea)<br>Mein WLAN (wifi-ssid, text)<br>Passwort (wifi-pass, text)<br>wifi-enc (wifi-enc, select)<br>name@beispiel.de (email-to, email)<br>Betreff (email-sub, text)<br>Nachrichtentext… (email-body, textarea)<br>Max (vc-first, text)<br>Mustermann (vc-last, text)<br>+49 123 456789 (vc-phone, tel)<br>max@beispiel.de (vc-email, email)<br>https://… (vc-url, url)<br>qr-fg (qr-fg, color, default #0f172a)<br>qr-bg (qr-bg, color, default #ffffff) | QR-Code Generator kostenlos: QR Code online erstellen für URLs, Text, WLAN und mehr. Sofort im Browser generieren, kein Konto nötig. QR Code herunterladen.. Hash/Krypto-API; Canvas/Bild/QR-Erzeugung; SVG/Diagramm-Rendering. Funktionen: setMode, setSize, getContent, autoGen, generateQR, downloadQR, downloadSVG. Konstanten: s, p, e, to, sub, body, params, f, l, content. Formeln/Operationen: s = document.getElementById('wifi-ssid').value; p = document.getElementById('wifi-pass').value; e = document.getElementById('wifi-enc').value; to = document.getElementById('email-to').value; sub = document.getElementById('email-sub').value; body = document.getElementById('email-body').value; f = document.getElementById('vc-first').value; l = document.getElementById('vc-last').value; err = document.getElementById('qr-error'); out = document.getElementById('qr-output') |
| 136 | Rabatt Rechner – Wie viel spare ich | `rabatt-rechner` | resources/views/tools/rabatt-rechner.blade.php | z.B. 99.99 (r1a, number)<br>z.B. 20 (r1b, number)<br>z.B. 120 (r2a, number)<br>z.B. 84 (r2b, number)<br>z.B. 199 (r3a, number)<br>z.B. 15 (r3b, number) | Rabatt Rechner: Wie viel kostet etwas nach dem Rabatt? Ersparnis, Sale-Preis und Rabatt-Prozent sofort berechnen. Kostenlos online.. Hash/Krypto-API; numerische Formeln. Funktionen: c1, c2, c3. Konstanten: eur, pct, a, b, sale, a, b, p, a, b. Formeln/Operationen: eur = n => n.toLocaleString('de-DE', {style:'currency', currency:'EUR'}); pct = n => n.toLocaleString('de-DE', {maximumFractionDigits:2}) + ' %'; a = parseFloat(document.getElementById('r1a').value); b = parseFloat(document.getElementById('r1b').value); sale = a * (1 - b/100), save = a - sale; a = parseFloat(document.getElementById('r2a').value); b = parseFloat(document.getElementById('r2b').value); p = (a - b) / a * 100; a = parseFloat(document.getElementById('r3a').value); b = parseFloat(document.getElementById('r3b').value) |
| 137 | Regex Escape Tool | `regex-escape-tool` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Text (text, textarea, default https://kotsch.tech/webtools?x=1&y=2) | Text fuer sichere Regex-Literale escapen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: raw = value('text'); escaped = raw.replace(/[.*+?^${}()\|[\]\\]/g, '\\$&') |
| 138 | Regex Match Tester | `regex-match-tester` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Regex Pattern (pattern, text, default \b\w+@\w+\.\w+\b)<br>Testtext (text, textarea, default Kontakt: hallo@kotsch.tech oder support@example.com) | Regulaere Ausdruecke gegen Text testen und Treffer zaehlen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: regex = new RegExp(value('pattern'), 'g'); matches = Array.from(value('text').matchAll(regex)).map(m => m[0]) |
| 139 | Regex Tester – Reguläre Ausdrücke live testen | `regex-tester` | resources/views/tools/regex-tester.blade.php | z.B. \b\w+@\w+\.\w+\b (rx-pattern, text)<br>gim (rx-flags, text, default g)<br>Gib deinen Test-Text hier ein… (rx-text, textarea)<br>z.B. [$1] (rx-replace, text)<br>rx-result (rx-result, textarea) | Reguläre Ausdrücke online testen und debuggen. Live-Highlighting, Match-Liste, Capture Groups, Ersetzung und Preset-Bibliothek – kostenlos im Browser.. Regex/Text-Parsing. Funktionen: loadPreset, runRx, runReplace, copyResult, escHTML. Konstanten: PRESETS, p, COLORS, pattern, flags, text, errEl, matches, numGroups, hlEl. Formeln/Operationen: COLORS = ['rx-0','rx-1','rx-2','rx-3','rx-4']; pattern = document.getElementById('rx-pattern').value; flags = document.getElementById('rx-flags').value; text = document.getElementById('rx-text').value; errEl = document.getElementById('rx-err'); matches = [...text.matchAll(new RegExp(pattern,flags.includes('g')?flags:flags+'g'))]; numGroups = matches.length>0?(matches[0].length-1):0; hlEl = document.getElementById('rx-highlighted'); list = document.getElementById('groups-list'); pattern = document.getElementById('rx-pattern').value |
| 140 | Reifendruck Umrechner | `reifendruck-umrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Druck in bar (bar, number, default 2.4) | bar, psi und kPa fuer Reifendruck umrechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: bar = n('bar') |
| 141 | Reisekosten Rechner | `reisekosten-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Strecke in km (km, number, default 240)<br>Verbrauch l/100 km (consumption, number, default 6.5)<br>Spritpreis pro Liter in Euro (fuel, number, default 1.82)<br>Maut/Parken/Zusatzkosten in Euro (extra, number, default 0)<br>Personen (people, number, default 1) | Fahrtkosten mit Strecke, Verbrauch, Spritpreis und Zusatzkosten berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: liters = n('km') / 100 * n('consumption'); total = liters * n('fuel') + n('extra') |
| 142 | Rendite Rechner | `rendite-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Einsatz/Kaufpreis in Euro (buy, number, default 1000)<br>Rueckfluss/Verkaufspreis in Euro (sell, number, default 1250)<br>Gebuehren/Kosten in Euro (costs, number, default 20) | Rendite, Gewinn und prozentuale Performance berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: profit = n('sell') - n('buy') - n('costs'); netSell = n('sell') - n('costs') |
| 143 | Rente Rechner – Altersvorsorge & Zinseszins berechnen | `rente-rechner` | resources/views/tools/rente-rechner.blade.php | z.B. 10 000 (start, number, default 10000)<br>z.B. 200 (monthly, number, default 200)<br>z.B. 7 (interest, number, default 7)<br>z.B. 30 (years, number, default 30) | Rente Rechner kostenlos: Altersvorsorge mit Zinseszins berechnen. Endkapital, Einzahlungen und Zinsgewinn auf einen Blick – einfach und schnell.. Hash/Krypto-API; numerische Formeln. Funktionen: calc. Konstanten: fmtEur, start, monthly, annualRate, years, monthlyRate, rows, interest, endCapital, totalPaid. Formeln/Operationen: fmtEur = n => n.toLocaleString('de-DE', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 }); start = parseFloat(document.getElementById('start').value) \|\| 0; monthly = parseFloat(document.getElementById('monthly').value) \|\| 0; annualRate = parseFloat(document.getElementById('interest').value) / 100 \|\| 0; years = parseInt(document.getElementById('years').value) \|\| 0; monthlyRate = annualRate / 12; interest = capital * monthlyRate; maxVal = Math.max(totalPaid, gain, 1); tbody = document.getElementById('breakdown-body'); showFirst = Math.min(5, years) |
| 144 | Rezept Umrechner | `rezept-umrechner` | resources/views/tools/rezept-umrechner.blade.php | oldp (oldp, number, default 4)<br>newp (newp, number, default 6)<br>amount (amount, number, default 250)<br>unit (unit, input, default g) | Rezeptmengen fuer mehr oder weniger Portionen proportional umrechnen.. Clientseitiges Browser-Tool. Funktionen: calc. Formeln/Operationen: v = (+amount.value*(+newp.value\|\|1))/(+oldp.value\|\|1) |
| 145 | Ringgroessen Umrechner | `ringgroessen-umrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Innendurchmesser in mm (diameter, number, default 17.2) | Ring-Innendurchmesser und EU-Ringgroesse umrechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: circumference = n('diameter') * Math.PI |
| 146 | ROAS Rechner | `roas-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Umsatz in Euro (revenue, number, default 2500)<br>Werbekosten in Euro (adcost, number, default 500)<br>Marge in Prozent (margin, number, default 40) | Return on Ad Spend, Umsatz, Kosten und Ziel-ROAS berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: roas = n('revenue') / Math.max(0.01, n('adcost')); gross = n('revenue') * n('margin') / 100; profit = gross - n('adcost') |
| 147 | robots.txt Generator | `robots-txt-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Website (site, url, default https://kotsch.tech)<br>Disallow Pfade, je Zeile einer (disallow, textarea, default /admin\n/login) | robots.txt mit Sitemap, Allow und Disallow Regeln erzeugen.. Textanalyse/Regex/String-Parsing. Formeln: site = (value('site') \|\| 'https://example.com').replace(/\/$/, ''); dis = value('disallow').split(/\n+/).map(s => s.trim()).filter(Boolean).map(p => Disallow: ${p}).join('\n'); txt = User-agent: *\nAllow: /\n${dis}\n\nSitemap: ${site}/sitemap.xml |
| 148 | Römische Zahlen Konverter – Arabisch ↔ Römisch | `roemische-zahlen` | resources/views/tools/roemische-zahlen.blade.php | arabic (arabic, number, default 2026)<br>z.B. XIV (roman-in, text, default MMXXVI) | Römische Zahlen online umwandeln: Arabisch in Römisch und zurück, Tabelle 1–100, Jahreszahlen, Schreibregeln. Kostenlos im Browser.. Zufallsgenerator; Datums-/Zeitrechnung; numerische Formeln. Funktionen: toRoman, fromRomanStr, getBreakdown, fromArabic, fromRoman, setVal, showTable. Konstanten: MAP, COLORS, parts, n, roman, parts, s, n, parts, tbody. Formeln/Operationen: n = parseInt(document.getElementById('arabic').value)\|\|0; s = document.getElementById('roman-in').value; tbody = document.getElementById('roman-tbody'); sym = symParts.map(p=>p.r).join('+') |
| 149 | Schlafrechner – Beste Aufwachzeit berechnen | `schlaf-rechner` | resources/views/tools/schlaf-rechner.blade.php | sleep-time (sleep-time, time, default 23:00)<br>wake-time (wake-time, time, default 07:00) | Schlafrechner: Berechne die optimale Aufwach- oder Einschlafzeit basierend auf 90-Minuten-Schlafzyklen. Wach frisch und erholt auf.. Regex/Text-Parsing; numerische Formeln. Funktionen: switchTab, calculate. Konstanten: FALL_ASLEEP, t, t, grid, h, timeStr, hours, isBest, card. Formeln/Operationen: t = document.getElementById('sleep-time').value; t = document.getElementById('wake-time').value; grid = document.getElementById('cycle-grid'); h = Math.floor(minutes / 60), m = minutes % 60; timeStr = String(h).padStart(2,'0') + ':' + String(m).padStart(2,'0'); hours = (c * CYCLE / 60).toFixed(1).replace('.',',') |
| 150 | Schuhgroessen Umrechner | `schuhgroessen-umrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | EU Groesse (eu, number, default 42) | EU-Schuhgroessen grob in UK und US umrechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: eu = n('eu') |
| 151 | Schwangerschaftsrechner | `schwangerschaftsrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Erster Tag der letzten Periode (lastPeriod, date, default 2026-01-01)<br>Zykluslaenge in Tagen (cycle, number, default 28) | Geburtstermin und aktuelle Schwangerschaftswoche grob berechnen.. Zeit-/Dauerrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: start = new Date(value('lastPeriod')); due = new Date(start); weeks = Math.max(0, Math.floor(daysBetween(start, new Date()) / 7)); days = Math.max(0, daysBetween(start, new Date()) % 7) |
| 152 | Seitenverhaeltnis Rechner | `seitenverhaeltnis` | resources/views/tools/seitenverhaeltnis.blade.php | w (w, number, default 1920)<br>h (h, number, default 1080)<br>nw (nw, number, default 1280)<br>nh (nh, number) | Seitenverhaeltnis berechnen und neue Bildgroessen proportional umrechnen.. numerische Formeln. Funktionen: gcd, calc. Formeln/Operationen: a = +w.value,b=+h.value,g=gcd(a,b) |
| 153 | Server Kosten Rechner | `server-kosten-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Serverpreis pro Monat (base, number, default 12)<br>Traffic TB pro Monat (traffic, number, default 2)<br>Preis pro TB (trafficprice, number, default 4)<br>Backup/Lizenzen pro Monat (backup, number, default 8) | Server-, Traffic-, Backup- und Lizenzkosten monatlich und jaehrlich berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: monthly = n('base') + n('traffic') * n('trafficprice') + n('backup') |
| 154 | Sitemap URL Liste Generator | `sitemap-url-liste-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | URLs, je Zeile eine (urls, textarea, default https://kotsch.tech/\nhttps://kotsch.tech/webtools) | URL-Liste in einfache XML-Sitemap umwandeln.. JSON/Schema-Erzeugung; Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: urls = value('urls').split(/\n+/).map(s => s.trim()).filter(Boolean); xml = <?xml version="1.0" encoding="UTF-8"?>\n<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n${urls.map(url =>   <url><loc>${escapeHtml(url)}</loc></url>).join('\n')}\n</urlset> |
| 155 | Skonto Rechner | `skonto-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Rechnungsbetrag in Euro (amount, number, default 1250)<br>Skonto in Prozent (discount, number, default 2) | Skonto, Zahlbetrag und Ersparnis fuer Rechnungen berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: saved = n('amount') * n('discount') / 100 |
| 156 | Slug Generator – URL-freundliche Slugs erstellen | `slug-generator` | resources/views/tools/slug-generator.blade.php | Mein toller Artikel-Titel… (slug-input, text)<br>opt-lower (opt-lower, checkbox)<br>opt-umlauts (opt-umlauts, checkbox)<br>opt-special (opt-special, checkbox)<br>v-kebab (v-kebab, input)<br>v-snake (v-snake, input)<br>v-camel (v-camel, input)<br>v-pascal (v-pascal, input)<br>v-dot (v-dot, input)<br>v-title (v-title, input)<br>v-screaming (v-screaming, input)<br>v-upper (v-upper, input) | Wandle Text in URL-freundliche Slugs um: kebab-case, snake_case, camelCase, PascalCase, dot.case, SCREAMING – mit Umlaut-Umwandlung und Sofort-Vorschau.. Regex/Text-Parsing. Funktionen: replaceUmlauts, buildTokens, capitalize, updateSlugs, copyVariant. Konstanten: UMLAUT_MAP, tokens, tokens, lower, tokensLower, val, orig. Formeln/Operationen: s = document.getElementById('slug-input').value; tokens = s.trim().split(/[\s\-_]+/).filter(Boolean); lower = document.getElementById('opt-lower').checked |
| 157 | Solar Ertrag Rechner | `solar-ertrag-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Anlagengroesse kWp (kwp, number, default 8)<br>Jahresertrag kWh/kWp (yield, number, default 950)<br>Eigenverbrauch in Prozent (self, number, default 35)<br>Strompreis Euro/kWh (price, number, default 0.32)<br>Investition in Euro (cost, number, default 12000) | PV-Ertrag, Eigenverbrauch und Amortisation grob berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: yearly = n('kwp') * n('yield'); own = yearly * n('self') / 100; saving = own * n('price'); payback = saving > 0 ? n('cost') / saving : 0 |
| 158 | Sparziel Rechner | `sparziel-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Sparziel in Euro (target, number, default 5000)<br>Bereits gespart in Euro (current, number, default 500)<br>Monatliche Sparrate in Euro (monthly, number, default 250) | Monatliche Sparrate oder Dauer bis zum Sparziel berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: remaining = Math.max(0, n('target') - n('current')); months = n('monthly') > 0 ? Math.ceil(remaining / n('monthly')) : 0 |
| 159 | Spiegelschrift Generator – Text spiegeln, flippen, ROT13 | `spiegelschrift` | resources/views/tools/spiegelschrift.blade.php | Text hier eingeben… (input, textarea) | Text spiegeln, flippen, umkehren – Spiegelschrift online generieren. Plus ROT13, Binär, Bubble-Text und mehr. Kostenlos im Browser.. Regex/Text-Parsing. Funktionen: esc, transform. Konstanten: flipMap, bubbleLo, bubbleUp, TRANSFORMS, code, code, input, container, result, card. Formeln: DOM-/String-Operationen je Tool |
| 160 | SQL Formatter | `sql-formatter` | config/webtools_extra.php + resources/views/tools/quick.blade.php | SQL (sql, textarea, default select id,name from users where active=1 order by created_at desc) | SQL grob formatieren und lesbarer machen.. Textanalyse/Regex/String-Parsing. Formeln: formatted = value('sql') |
| 161 | Statistik-Rechner – Mittelwert, Median, Standardabweichung Online | `statistik-rechner` | resources/views/tools/statistik-rechner.blade.php | Zahlen eingeben, z. B.:&#10;2, 4, 6, 8, 10&#10;oder eine Zahl pro Zeile (dataInput, textarea)<br>liveToggle (liveToggle, checkbox) | Statistische Kennzahlen online berechnen: Mittelwert, Median, Modus, Varianz, Standardabweichung, Quartile, Min, Max und mehr. Kostenlos und direkt im Browser.. Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln; SVG/Diagramm-Rendering. Funktionen: toggleLive, parseNumbers, round, fmt, percentile, calculate, renderBarChart, clearAll, loadExample. Konstanten: tokens, nums, n, s, n, idx, low, high, errEl, raw. Formeln/Operationen: tokens = raw.trim().split(/[\s,; n = parseFloat(t.replace(',', '.')); s = parseFloat(n.toPrecision(10)).toString(); idx = (p / 100) * (n - 1); low = Math.floor(idx); high = Math.ceil(idx); nums = parseNumbers(raw); sorted = [...nums].sort((a, b) => a - b); sum = nums.reduce((a, b) => a + b, 0); mean = sum / n |
| 162 | Stromkosten Rechner | `stromkosten-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Leistung in Watt (watt, number, default 800)<br>Stunden pro Tag (hours, number, default 4)<br>Tage (days, number, default 30)<br>Strompreis pro kWh in Euro (price, number, default 0.32) | Stromkosten fuer Geraete, Tage und kWh-Preis sofort berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: kwh = n('watt') / 1000 * n('hours') * n('days'); dayKwh = n('watt') / 1000 * n('hours') |
| 163 | Stundenlohn Rechner | `stundenlohn-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Monatsgehalt brutto/netto in Euro (salary, number, default 3200)<br>Wochenstunden (hours, number, default 40) | Stundenlohn aus Monatsgehalt, Wochenstunden und Urlaub berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: monthlyHours = n('hours') * 4.348; hourly = n('salary') / Math.max(1, monthlyHours) |
| 164 | Taschenrechner – Wissenschaftlicher Rechner Online | `taschenrechner` | resources/views/tools/taschenrechner.blade.php | sciToggle (sciToggle, checkbox) | Kostenloser Online-Taschenrechner mit wissenschaftlichen Funktionen, Verlauf und Tastaturunterstützung. Sin, Cos, Tan, Wurzel, Potenz und mehr.. Hash/Krypto-API; numerische Formeln; SVG/Diagramm-Rendering. Funktionen: updateDisplay, showError, calcDigit, calcDot, calcInput, calcEquals, compute, opLabel, formatNum, calcClear, calcCE, calcBackspace, calcPlusMinus, calcPercent. Konstanten: display, exprEl, next, val, res, val, res, v, v, v. Formeln/Operationen: next = current === '0' ? d : current + d; val = parseFloat(current); val = parseFloat(current); v = parseFloat(current) * -1; v = prevValue !== null ? (prevValue * parseFloat(current)) / 100 : parseFloat(current) / 100; v = parseFloat(current); label = {sin:'sin(',cos:'cos(',tan:'tan(',sqrt:'√(',log:'log(',ln:'ln(',inv:'1/'}[fn] \|\| fn |
| 165 | Taupunkt Rechner | `taupunkt-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Temperatur in Celsius (temp, number, default 22)<br>Relative Luftfeuchtigkeit in Prozent (humidity, number, default 55) | Taupunkt aus Temperatur und relativer Luftfeuchtigkeit berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: a = 17.62, b = 243.12; gamma = Math.log(Math.max(1, n('humidity')) / 100) + (a * n('temp')) / (b + n('temp')); dew = (b * gamma) / (a - gamma); spread = n('temp') - dew |
| 166 | Temperatur Rechner – Celsius Fahrenheit Kelvin umrechnen | `temperatur` | resources/views/tools/temperatur.blade.php | Temperatur (temp-input, number, default 20) | Temperatur umrechnen: Celsius in Fahrenheit, Kelvin, Réaumur und Rankine. Thermometer-Visualisierung, Referenzpunkte und Formeln. Kostenlos im Browser.. numerische Formeln. Funktionen: toCelsius, fromCelsius, fmt, setUnit, convert, updateThermometer, setRef. Konstanten: formulas, raw, celsius, res, MIN, pct, btn. Formeln/Operationen: raw = parseFloat(document.getElementById('temp-input').value); pct = Math.min(100, Math.max(0, (c-MIN)/(MAX-MIN)*100)); btn = document.getElementById('unit-C') |
| 167 | Text Bereiniger – Text aufräumen & formatieren | `text-bereiniger` | resources/views/tools/text-bereiniger.blade.php | Text eingeben oder einfügen… (tb-inp, textarea)<br>tb-out (tb-out, textarea)<br>op-ws (op-ws, checkbox)<br>op-lines (op-lines, checkbox)<br>op-trim (op-trim, checkbox)<br>op-html (op-html, checkbox)<br>op-urls (op-urls, checkbox)<br>op-emails (op-emails, checkbox)<br>op-nums (op-nums, checkbox)<br>op-punct (op-punct, checkbox)<br>op-emoji (op-emoji, checkbox)<br>op-win (op-win, checkbox) | Text bereinigen: Leerzeichen normalisieren, HTML-Tags entfernen, Sonderzeichen filtern, Großschreibung ändern, Zeilenumbrüche vereinheitlichen. Kostenlos im Browser.. Regex/Text-Parsing. Funktionen: toggle, get, process, applyCase, swapFields, downloadOut, clearAll, loadExample. Konstanten: el, inp, inp, val, a. Formeln/Operationen: t = document.getElementById('tb-inp').value; inp = document.getElementById('tb-inp').value; inp = document.getElementById('tb-inp'); val = document.getElementById('tb-out').value |
| 168 | Text Diff – Zwei Texte vergleichen | `text-diff` | resources/views/tools/text-diff.blade.php | Originaltext hier einfügen… (text-a, textarea)<br>Geänderten Text einfügen… (text-b, textarea)<br>diff-ignore-case (diff-ignore-case, checkbox)<br>diff-ignore-ws (diff-ignore-ws, checkbox)<br>diff-word (diff-word, checkbox)<br>diff-context (diff-context, checkbox) | Text Diff online: Zwei Texte Zeile für Zeile vergleichen. Live-Vergleich, Wort-Diff, Statistik, Syntaxhervorhebung. Kostenlos im Browser.. Regex/Text-Parsing; numerische Formeln. Funktionen: lcs, wordDiff, escH, runDiff, clearAll, loadExample. Konstanten: m, dp, result, wa, wb, ops, ignoreCase, ignoreWs, useWordDiff, onlyChanges. Formeln/Operationen: dp = Array.from({length:m+1}, () => new Uint32Array(n+1)); wa = rem.split(/(\s+)/); wb = add.split(/(\s+)/); a = document.getElementById('text-a').value; b = document.getElementById('text-b').value; ignoreCase = document.getElementById('diff-ignore-case').checked; ignoreWs = document.getElementById('diff-ignore-ws').checked; useWordDiff = document.getElementById('diff-word').checked; onlyChanges = document.getElementById('diff-context').checked |
| 169 | Text Tonalitaet Checker | `text-tonalitaet-checker` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Text (text, textarea, default Du willst bessere Texte schreiben? Dieses Tool gibt dir schnell ein Gefuehl fuer Ton und Struktur!) | Text auf Laenge, Ausrufe, Fragen, Du/Sie-Anteil und Ton grob pruefen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: text = value('text'); words = text.match(/[a-zA-Z0-9äöüÄÖÜß]+/g) ?? []; sentences = text.split(/[.!?]+/).filter(s => s.trim()).length; du = (text.match(/\b(du\|dir\|dich\|dein\|deine)\b/gi) ?? []).length; sie = (text.match(/\b(Sie\|Ihnen\|Ihr\|Ihre)\b/g) ?? []).length; bangs = (text.match(/!/g) ?? []).length; questions = (text.match(/\?/g) ?? []).length |
| 170 | Text Tools – Groß/Klein, umkehren, camelCase & mehr | `text-tools` | resources/views/tools/text-tools.blade.php | Text hier eingeben… (inp, textarea)<br>out (out, textarea) | Text online transformieren: Groß-/Kleinbuchstaben, umkehren, camelCase, PascalCase, Slug, sortieren und mehr. Live und kostenlos im Browser.. Regex/Text-Parsing. Funktionen: makeStats, renderStats, updateStats, apply, copyOut, swapTexts, clearAll. Konstanten: words, v, val, btn, inp. Formeln/Operationen: words = text.trim()?text.trim().split(/\s+/).length:0; btn = document.getElementById('copy-btn') |
| 171 | Tilgungsrechner | `tilgungsrechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Darlehensbetrag in Euro (amount, number, default 250000)<br>Sollzins in Prozent (interest, number, default 3.8)<br>Anfaengliche Tilgung in Prozent (repayment, number, default 2) | Anfaengliche Rate, Zinsanteil und Tilgung fuer Darlehen berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: annualRate = n('amount') * (n('interest') + n('repayment')) / 100; interest = n('amount') * n('interest') / 100; principal = annualRate - interest |
| 172 | Online Timer & Stoppuhr – Countdown kostenlos | `timer` | resources/views/tools/timer.blade.php | t-h (t-h, number, default 0)<br>t-m (t-m, number, default 5)<br>t-s (t-s, number, default 0) | Online Timer und Stoppuhr kostenlos: Countdown einstellen, Stoppuhr mit Rundenzeiten starten. Alarm-Ton beim Ablauf. Direkt im Browser.. numerische Formeln. Funktionen: switchMode, playAlarm, pad, fmtTimer, setTimer, timerToggle, timerReset, fmtSw, swDisplay, swToggle, swLap, swReset. Konstanten: ctx, osc, tot, h, h, h, h, lapTime, list, row. Formeln/Operationen: tot = Math.max(0,Math.ceil(tenths/10)); h = Math.floor(tot/3600),m=Math.floor((tot%3600)/60),s=tot%60; h = parseInt(document.getElementById('t-h').value)\|\|0,m=parseInt(document.getElementById('t-m').value)\|\|0,s=parseInt(documen; h = parseInt(document.getElementById('t-h').value)\|\|0,m=parseInt(document.getElementById('t-m').value)\|\|0,s=parseInt(documen; h = Math.floor(t/36000),m=Math.floor((t%36000)/600),s=Math.floor((t%600)/10),d=t%10; lapTime = swTenths-lapStart; list = document.getElementById('lap-list') |
| 173 | To-Do Liste – Aufgaben online verwalten | `to-do` | resources/views/tools/to-do.blade.php | Neue Aufgabe eingeben… (task-input, text) | To-Do Liste online: Aufgaben erstellen, abhaken und verwalten. Automatisch gespeichert im Browser. Einfache und schnelle Task-Liste – kostenlos.. localStorage Persistenz; JSON Parsing/Serialisierung; Hash/Krypto-API; Regex/Text-Parsing. Funktionen: load, save, addTask, toggleTask, deleteTask, clearDone, setFilter, render, escHtml, dragStart, dragOver, dragLeave, dragDrop. Konstanten: input, text, t, list, empty, open, fromIdx, toIdx. Formeln/Operationen: input = document.getElementById('task-input'); list = document.getElementById('task-list'); empty = document.getElementById('empty-state') |
| 174 | Trinkgeld Rechner – Tip Calculator auf Deutsch | `trinkgeld-rechner` | resources/views/tools/trinkgeld-rechner.blade.php | z.B. 42.50 (bill, number)<br>tip-slider (tip-slider, range, default 10)<br>tip-pct (tip-pct, number, default 10)<br>persons (persons, number, default 1)<br>round (round, select) | Trinkgeld Rechner: Wie viel Trinkgeld geben? Rechnungsbetrag und Prozentsatz eingeben – Trinkgeld, Gesamtbetrag und Aufteilung sofort berechnet.. numerische Formeln. Funktionen: setTip, sliderInput, pctInput, calc, copyResult. Konstanten: fmt, bill, pct, persons, roundStep, tip, actualTip, tip, btn. Formeln/Operationen: fmt = n=>n.toLocaleString('de-DE',{style:'currency',currency:'EUR'}); pct = parseFloat(document.getElementById('tip-pct').value)\|\|0; persons = Math.max(1,parseInt(document.getElementById('persons').value)\|\|1); tip = bill*pct/100; total = bill+tip; actualTip = total-bill; tip = document.getElementById('r-tip').textContent,total=document.getElementById('r-total').textContent,pp=document.getElement; btn = document.querySelector('.t-btn.ghost.full') |
| 175 | Unix Timestamp Rechner – Unixzeit umwandeln | `unixzeit-rechner` | resources/views/tools/unixzeit-rechner.blade.php | z.B. 1716239022 (ts-inp, number)<br>dt-inp (dt-inp, datetime-local)<br>Timestamp A (cmp-a, number)<br>Timestamp B (cmp-b, number) | Unix Timestamp online umwandeln: Sekunden seit 1970 in Datum und zurück. Live-Uhr, Zeitzone, ISO 8601, relative Zeit und Vergleich zweier Timestamps.. Datums-/Zeitrechnung; numerische Formeln. Funktionen: pad, getWeek, relative, fromTs, fromDate, compareTs, useNow, copyField, updateLive. Konstanten: DAYS, date, week1, diff, d, v, d, ts, a, b. Formeln/Operationen: diff = (Date.now()-d.getTime())/1000; v = document.getElementById('ts-inp').value.trim(); n = parseInt(v); d = new Date(n*1000); v = document.getElementById('dt-inp').value; ts = Math.floor(d.getTime()/1000); a = parseInt(document.getElementById('cmp-a').value)\|\|0; b = parseInt(document.getElementById('cmp-b').value)\|\|0; diff = Math.abs(a-b); ts = Math.floor(Date.now()/1000) |
| 176 | Uptime Rechner | `uptime-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Uptime in Prozent (sla, number, default 99.9) | Erlaubte Ausfallzeit fuer 99%, 99.9%, 99.99% und eigene SLA berechnen.. Prozentrechnung; Zeit-/Dauerrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: down = Math.max(0, 100 - n('sla')) / 100 |
| 177 | URL Encoder & Decoder – URLs kodieren und dekodieren | `url-encoder` | resources/views/tools/url-encoder.blade.php | Text oder URL zum Kodieren… (enc-inp, textarea)<br>enc-out (enc-out, textarea)<br>Kodierten Text einfügen… (dec-inp, textarea)<br>dec-out (dec-out, textarea)<br>Text eingeben… (b64-inp, textarea)<br>b64-out (b64-out, textarea)<br>https://example.com/path?foo=bar&baz=qux#section (parse-inp, text) | URL Encoder und Decoder online: encodeURIComponent, encodeURI, Base64 und URL-Parser. Query-String aufschlüsseln – kostenlos und lokal im Browser.. Hash/Krypto-API; Regex/Text-Parsing; SVG/Diagramm-Rendering. Funktionen: setMode, setEncType, doEncode, doDecode, doB64Enc, doB64Dec, doB64EncUrl, parseURL, copyField, escH. Konstanten: inp, diff, inp, err, inp, err, inp, err, inp, err. Formeln/Operationen: inp = document.getElementById('enc-inp').value; diff = out.length - inp.length; inp = document.getElementById('dec-inp').value; err = document.getElementById('dec-err'); inp = document.getElementById('b64-inp').value; err = document.getElementById('b64-err'); inp = document.getElementById('b64-inp').value.trim(); err = document.getElementById('b64-err'); inp = document.getElementById('b64-inp').value; err = document.getElementById('b64-err') |
| 178 | URL Encoder Decoder | `url-encoder-decoder` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Modus (mode, select, default encode, Optionen: encode=Encodieren/decode=Decodieren)<br>Text oder URL (text, textarea, default https://kotsch.tech/?q=web tools) | URLs und Query-Werte encodieren oder decodieren.. URL/Parameter-Erzeugung; Ausgabe als Kennzahlen-Tabelle. Formeln: output = value('mode') === 'encode' ? encodeURIComponent(value('text')) : decodeURIComponent(value('text')) |
| 179 | Urlaubsanspruch Rechner | `urlaubsanspruch-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Urlaubstage bei 5-Tage-Woche (fullDays, number, default 30)<br>Eigene Arbeitstage pro Woche (workDays, number, default 4)<br>Beschaeftigungsmonate im Jahr (months, number, default 12) | Urlaubstage bei Teilzeit oder unterjaehrigem Start grob berechnen.. Ausgabe als Kennzahlen-Tabelle. Formeln: days = n('fullDays') / 5 * n('workDays') * Math.min(12, Math.max(0, n('months'))) / 12 |
| 180 | UTM Generator | `utm-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Ziel-URL (url, url, default https://kotsch.tech)<br>utm_source (source, text, default newsletter)<br>utm_medium (medium, text, default email)<br>utm_campaign (campaign, text, default mai-aktion) | UTM Tracking Links fuer Kampagnen, Social Media und Newsletter erstellen.. URL/Parameter-Erzeugung; Ausgabe als Kennzahlen-Tabelle. Formeln: url = new URL(value('url') \|\| 'https://example.com') |
| 181 | UUID Generator – UUIDs v1, v4, v7 & ULID erstellen | `uuid-generator` | resources/views/tools/uuid-generator.blade.php | count-slider (count-slider, range, default 5)<br>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (analyze-inp, text) | UUID Generator online: UUID v4, v7, Nil-UUID und ULID im Browser erstellen. Bulk-Generierung, Format-Optionen, Zeitstempel-Analyse – kostenlos und lokal.. Zufallsgenerator; Datums-/Zeitrechnung; Regex/Text-Parsing; numerische Formeln. Funktionen: setType, setFmt, uuidV4, uuidV7, nilUUID, ulid, applyFmt, generate, renderList, copySingle, copyAll, analyzeUUID, escH. Konstanten: fmtChips, stats, r, now, ms, rand, hex, v7, ULID_CHARS, now. Formeln/Operationen: fmtChips = document.getElementById('fmt-chips'); r = Math.random()*16\|0; v7 = ms + '7' + hex.slice(1,4) + (((parseInt(hex[4],16)&3)\|8).toString(16)) + hex.slice(5); count = parseInt(document.getElementById('count-slider').value); el = document.getElementById('uuid-list'); badges = { v4:'badge-v4', v7:'badge-v7', nil:'badge-nil', ulid:'badge-ulid' }; val = document.getElementById('analyze-inp').value.trim(); out = document.getElementById('analyze-out'); rows = document.getElementById('analyze-rows'); clean = val.replace(/[{}]/g,'').toLowerCase() |
| 182 | Verbrauch pro 100 km Rechner | `verbrauch-pro-100km-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Gefahrene km (km, number, default 650)<br>Getankte Liter (liters, number, default 42) | Spritverbrauch pro 100 km aus Litern und Strecke berechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: consumption = n('liters') / Math.max(1, n('km')) * 100 |
| 183 | Viewport Rechner | `viewport-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Pixelwert (px, number, default 320)<br>Viewport Breite px (width, number, default 1440)<br>Viewport Hoehe px (height, number, default 900) | px in vw, vh, vmin und vmax umrechnen.. Prozentrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: direkte Umrechnung/Validierung; siehe switch-case |
| 184 | Währungsrechner – Devisen umrechnen | `waehrungsrechner` | resources/views/tools/waehrungsrechner.blade.php | from-currency (from-currency, select)<br>to-currency (to-currency, select)<br>z.B. 100 (amount, number, default 100) | Währungsrechner kostenlos: EUR, USD, GBP, CHF, JPY und mehr umrechnen. Schnelle Währungsumrechnung mit aktuellen Richtkursen vom Mai 2025.. Hash/Krypto-API; numerische Formeln. Funktionen: toEur, fromEur, fmtAmt, calc, swapCurrencies. Konstanten: rates, symbols, decimals, from, to, amount, inEur, result, rateDisplay, amounts. Formeln/Operationen: from = document.getElementById('from-currency').value; to = document.getElementById('to-currency').value; amount = parseFloat(document.getElementById('amount').value) \|\| 0; tbody = document.getElementById('qt-body'); from = document.getElementById('from-currency'); to = document.getElementById('to-currency') |
| 185 | Wasserrechner – Täglichen Wasserbedarf berechnen | `wasserrechner` | resources/views/tools/wasserrechner.blade.php | z.B. 75 (weight, number)<br>activity (activity, radio, default 1.0)<br>activity (activity, radio, default 1.3)<br>activity (activity, radio, default 1.6)<br>climate (climate, radio, default 0)<br>climate (climate, radio, default 0.5) | Wasserrechner kostenlos: Wie viel Wasser pro Tag sollte ich trinken? Berechne deinen individuellen Wasserbedarf nach Gewicht, Aktivität und Klima.. Hash/Krypto-API; numerische Formeln; SVG/Diagramm-Rendering. Funktionen: calc, setGlassFill. Konstanten: weight, activity, climate, liters, glasses, fillPct, rect, wave, glassH, fillH. Formeln/Operationen: weight = parseFloat(document.getElementById('weight').value); activity = parseFloat(document.querySelector('input[name="activity"]:checked').value); climate = parseFloat(document.querySelector('input[name="climate"]:checked').value); liters = Math.round(((weight * 0.035 * activity) + climate) * 10) / 10; glasses = Math.round(liters / 0.2); fillPct = Math.min(Math.max((liters - 1) / 3, 0.15), 0.95); rect = document.getElementById('water-rect'); wave = document.getElementById('water-wave'); fillH = glassH * pct; yPos = 110 - fillH |
| 186 | Windchill Rechner | `windchill-rechner` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Temperatur in Celsius (temp, number, default 2)<br>Wind in km/h (wind, number, default 25) | Gefuehlte Temperatur aus Lufttemperatur und Wind berechnen.. Potenz/Zinseszins/Exponentialrechnung; Ausgabe als Kennzahlen-Tabelle. Formeln: t = n('temp'); v = Math.max(4.8, n('wind')); wc = 13.12 + 0.6215 * t - 11.37 * Math.pow(v, 0.16) + 0.3965 * t * Math.pow(v, 0.16) |
| 187 | WLAN Passwort Generator | `wlan-passwort-generator` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Laenge (length, number, default 24) | Sicheres WLAN-Passwort mit einfacher Lesbarkeit erzeugen.. Ausgabe als Kennzahlen-Tabelle. Formeln: chars = 'ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789!@#%+-_'; length = Math.max(12, Math.min(80, Math.round(n('length')))); bytes = new Uint32Array(length); password = Array.from(bytes, b => chars[b % chars.length]).join('') |
| 188 | Wort Häufigkeit – Wörter zählen & analysieren | `wort-haeufigkeit` | resources/views/tools/wort-haeufigkeit.blade.php | Text hier einfügen… (wf-inp, textarea)<br>wf-top (wf-top, range, default 20)<br>wf-minlen (wf-minlen, range, default 2)<br>wf-stop (wf-stop, checkbox)<br>wf-case (wf-case, checkbox) | Wort- und Zeichenhäufigkeit im Text analysieren: Rangfolge, Wortwolken-Daten, Stoppwörter filtern, Exportieren. Kostenlos und lokal im Browser.. Regex/Text-Parsing; numerische Formeln. Funktionen: analyze, updateStats, renderWords, showTab, exportCsv, loadExample, escH. Konstanten: STOPWORDS, raw, icase, useStop, top, minLen, normalized, tokens, filtered, wordMap. Formeln/Operationen: raw = document.getElementById('wf-inp').value; icase = document.getElementById('wf-case').checked; useStop = document.getElementById('wf-stop').checked; top = parseInt(document.getElementById('wf-top').value); minLen = parseInt(document.getElementById('wf-minlen').value); tokens = (normalized.match(/[a-zA-ZäöüÄÖÜß]+/g) \|\| []).filter(w => w.length >= minLen); totalWords = (raw.match(/\S+/g)\|\|[]).length; uniqueWords = new Set((raw.match(/[a-zA-ZäöüÄÖÜß]+/g)\|\|[]).map(w=>w.toLowerCase())).size; sents = (raw.match(/[.!?]+/g)\|\|[]).length \|\| (raw.trim() ? 1 : 0); total = wordData.reduce((s,[,n])=>s+n,0) |
| 189 | Wort Zähler & Text Analysator – Zeichen zählen | `wort-zaehler` | resources/views/tools/wort-zaehler.blade.php | Text hier einfügen… (txt, textarea) | Wörter, Zeichen, Sätze zählen – live. Häufigste Wörter, Lesezeit, Twitter/LinkedIn-Limit-Checker. Kostenloser Text Analyzer online.. Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: updateBar, analyze, copyText. Konstanten: STOPWORDS, pct, bar, text, trimmed, words, wordCount, chars, charsNo, sentences. Formeln/Operationen: pct = Math.min(100,(chars/limit)*100); words = trimmed?trimmed.split(/\s+/):[]; charsNo = text.replace(/\s/g,'').length; sentences = trimmed?(text.match(/[.!?]+/g)\|\|[]).length:0; paragraphs = trimmed?text.split(/\n\s*\n/).filter(p=>p.trim()).length\|\|1:0; readTime = wordCount===0?0:Math.max(1,Math.ceil(wordCount/200)); avgWord = wordCount?Math.round(charsNo/wordCount*10)/10:0; unique = new Set(words.map(w=>w.toLowerCase().replace(/[^a-zäöü]/g,''))).size; k = w.toLowerCase().replace(/[^a-zäöü]/g,''); top = Object.entries(freq).sort((a,b)=>b[1]-a[1]).slice(0,15) |
| 190 | Würfel & Münze – Online Würfelrechner | `wuerfel` | resources/views/tools/wuerfel.blade.php | dice-count (dice-count, number, default 2)<br>dice-type (dice-type, select)<br>+/- (dice-mod, number, default 0)<br>Option 1&#10;Option 2&#10;Option 3 (pick-list, textarea)<br>pick-count (pick-count, number, default 1)<br>pick-unique (pick-unique, checkbox) | Online Würfeln: W4, W6, W8, W10, W12, W20, W100 – einzeln oder mehrfach. Münze werfen, Zufallsauswahl aus Liste. Statistiken und Verlauf.. Zufallsgenerator; Datums-/Zeitrechnung; Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: showPane, rollDice, renderDiceHistory, updateDiceStats, flipCoin, renderCoinHistory, doPick, escH. Konstanten: DICE_EMOJIS, count, sides, mod, results, rawSum, sum, emojiEl, now, coin. Formeln/Operationen: count = Math.min(20, Math.max(1, parseInt(document.getElementById('dice-count').value)\|\|1)); sides = parseInt(document.getElementById('dice-type').value); mod = parseInt(document.getElementById('dice-mod').value)\|\|0; results = Array.from({length:count}, () => Math.floor(Math.random()*sides)+1); rawSum = results.reduce((a,b)=>a+b,0); sum = rawSum + mod; emojiEl = document.getElementById('dice-emoji'); now = new Date().toLocaleTimeString('de-DE',{hour:'2-digit',minute:'2-digit',second:'2-digit'}); isKopf = Math.random() < 0.5; lines = document.getElementById('pick-list').value.split('\n').map(l=>l.trim()).filter(Boolean) |
| 191 | YouTube Titel Checker | `youtube-titel-checker` | config/webtools_extra.php + resources/views/tools/quick.blade.php | YouTube Titel (title, text, default 20 kostenlose Webtools, die wirklich jeder braucht) | YouTube-Titel auf Laenge und Klickwirkung grob pruefen.. Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: title = value('title'); words = title.trim().split(/\s+/).filter(Boolean).length; status = title.length <= 60 ? 'Sehr gut fuer Vorschau' : title.length <= 80 ? 'Ok, aber lang' : 'Zu lang' |
| 192 | Zahlensystem Konverter – Binär Dezimal Hex Oktal | `zahlensystem` | resources/views/tools/zahlensystem.blade.php | Zahl eingeben… (num-input, text)<br>custom-base-val (custom-base-val, number, default 12) | Zahlensystem Konverter online: Dezimal, Binär, Oktal, Hexadezimal und benutzerdefinierte Basis gleichzeitig umrechnen. Mit Gruppenformat und Validierung.. Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: setBase, highlightSource, clearResults, onInput, copyVal, buildRefTable, quickSet. Konstanten: validChars, el, raw, err, base, valid, bin, padLen, binPadded, binFmt. Formeln/Operationen: validChars = { 10:/^-?[0-9]*$/, 2:/^[01]*$/, 8:/^[0-7]*$/, 16:/^[0-9a-fA-F]*$/ }; raw = document.getElementById('num-input').value.trim(); err = document.getElementById('error-msg'); base = currentBase === 'custom' ? parseInt(document.getElementById('custom-base-val').value)\|\|10 : currentBase; padLen = Math.ceil(bin.length/8)*8; binFmt = binPadded.match(/.{1,4}/g).join(' '); customBase = parseInt(document.getElementById('custom-base-val').value)\|\|10; valMap = { dec:'val-dec', bin:'val-bin', oct:'val-oct', hex:'val-hex', custom:'val-custom' } |
| 193 | Zeichen-Info – Unicode, HTML-Entity & Zeichendetails | `zeichen-info` | resources/views/tools/zeichen-info.blade.php | A (char-input, text) | Zeichen-Info online: Unicode-Codepoint, HTML-Entity, UTF-8-Bytes, CSS-Escape, Kategorie und mehr zu jedem Zeichen. Emoji, Sonderzeichen, Mathe.. Hash/Krypto-API; Regex/Text-Parsing. Funktionen: getCategory, getUtf8Bytes, showCharInfo, onCharInput, pickChar, buildSet, copyField. Konstanten: UNICODE_NAMES, HTML_ENTITIES, bytes, cp, cpHex, val, codePoints, char, el, btn. Formeln/Operationen: char = codePoints[codePoints.length-1] |
| 194 | Zeichenlimit Pruefer | `zeichenlimit-pruefer` | config/webtools_extra.php + resources/views/tools/quick.blade.php | Plattform (platform, select, default x, Optionen: x=X / Twitter Post/instagram=Instagram Caption/linkedin=LinkedIn Post/title=Meta Title/description=Meta Description)<br>Text (text, textarea, default Dein Text fuer Social Media oder SEO kommt hier hinein.) | Textlaenge fuer X, Instagram, LinkedIn, Meta Title und Description pruefen.. Prozentrechnung; Textanalyse/Regex/String-Parsing; Ausgabe als Kennzahlen-Tabelle. Formeln: limits = { x: 280, instagram: 2200, linkedin: 3000, title: 60, description: 160 }; limit = limits[value('platform')] ?? 280; length = value('text').length; text = value('text'); words = text.trim().split(/\s+/).filter(Boolean).length |
| 195 | Zeilen Sortieren – Text alphabetisch sortieren | `zeilen-sortierer` | resources/views/tools/zeilen-sortierer.blade.php | Zeilen eingeben oder einfügen… (zs-inp, textarea)<br>zs-out (zs-out, textarea)<br>zs-dedup (zs-dedup, checkbox)<br>zs-trim (zs-trim, checkbox)<br>zs-empty (zs-empty, checkbox)<br>zs-case (zs-case, checkbox)<br>zs-sep (zs-sep, select)<br>zs-num (zs-num, select) | Zeilen alphabetisch, numerisch oder nach Länge sortieren. Duplikate entfernen, umkehren, mischen – kostenlos und lokal im Browser.. Zufallsgenerator; Regex/Text-Parsing; numerische Formeln. Funktionen: getLines, doSort, applySort, downloadOut, clearAll, loadExample. Konstanten: lines, icase, dedup, numMode, key, j, before, seen, k, dupCount. Formeln/Operationen: lines = document.getElementById('zs-inp').value.split('\n'); icase = document.getElementById('zs-case').checked; dedup = document.getElementById('zs-dedup').checked; numMode = document.getElementById('zs-num').value; i = result.length-1; j = Math.floor(Math.random()*(i+1)); dupCount = lines.length - result.length; sepVal = document.getElementById('zs-sep').value; avg = result.length ? Math.round(result.reduce((s,l)=>s+l.length,0)/result.length) : 0; val = document.getElementById('zs-out').value |
| 196 | Weltuhr – Live-Uhrzeiten weltweit | `zeitzonen` | resources/views/tools/zeitzonen.blade.php | keine expliziten Form-Felder erkannt / Canvas/UI/Buttons | Weltzeituhr online: Aktuelle Uhrzeiten in Berlin, London, New York, Tokio, Sydney und weiteren Städten. Live-Anzeige mit automatischer Zeitzonenerkennung.. Datums-/Zeitrechnung; Hash/Krypto-API. Funktionen: updateClocks. Konstanten: cities, grid, now, tf, df. Formeln/Operationen: grid = document.getElementById('city-grid'); tf = new Intl.DateTimeFormat('de-DE', {; df = new Intl.DateTimeFormat('de-DE', { |
| 197 | Zufallszahl Generator – Würfeln, Münzwurf & Lotto | `zufallszahl` | resources/views/tools/zufallszahl.blade.php | rmin (rmin, number, default 1)<br>rmax (rmax, number, default 100)<br>rcount (rcount, number, default 1)<br>dice-type (dice-type, select)<br>Option A&#10;Option B&#10;Option C (list-input, textarea) | Zufallszahl Generator kostenlos: Zufällige Zahl generieren, würfeln mit verschiedenen Würfeln, Münze werfen und Lotto-Zahlen. Alles auf einmal.. Zufallsgenerator; Hash/Krypto-API; Regex/Text-Parsing; numerische Formeln. Funktionen: rnd, generate, renderHistory, rollDice, flipCoin, lotto, pickFromList. Konstanten: DICE_FACES, min, max, count, nums, result, sides, val, disp, heads. Formeln/Operationen: count = Math.min(20,parseInt(document.getElementById('rcount').value)\|\|1); result = count===1?nums[0].toLocaleString('de-DE'):nums.join(' · '); sides = parseInt(document.getElementById('dice-type').value); disp = document.getElementById('dice-res'); sorted = [...nums].sort((a,b)=>a-b); lines = document.getElementById('list-input').value.split('\n').map(l=>l.trim()).filter(Boolean); pick = lines[rnd(0,lines.length-1)] |

## Hinweise zu Grenzen

Diese Datei ist aus Code extrahiert und technisch verdichtet. Bei individuellen Blade-Tools nennt sie die wichtigsten JS-Funktionen und erkannten Formeln; Detailpruefung bleibt im jeweiligen Blade-File. Bei Quick-Tools sind Eingaben direkt aus `config/webtools_extra.php` und Formeln aus dem passenden `switch case` in `quick.blade.php` abgeleitet.
