Turkish-locale fake data: TCKN, IBAN, credit card, plate, address, company, passport — all locally in your browser
- 30+ data types: TCKN, VKN, IBAN (16 banks), credit card with Luhn + CVV + expiry, MERSIS, SMMM, SGK, KEP email, phone, address, plate, postal code, passport, driver's license, company name, and more
- 🧑 Persona mode — generate a single coherent identity where TCKN, name, email, IBAN, credit card, address and every other field all match the same fictional person
- 🎲 Deterministic seed — same seed → same persona; reproducible test data for regression testing
- 🧩 Regex custom patterns —
[A-Z]{3}-\d{5}style custom IDs/SKUs - ⬇ Bulk CSV export — 25-persona CSV in one click
- 🔗 Persona share code —
dhp:v1:…base64 shareable persona (no server)
- Right-click menu — on
<input>,<textarea>,<select>,contenteditable - ⚡ Smart form fill — scans the page, heuristically matches labels/names/placeholders to persona fields, fills them all
- 📌 Smart autofill (single field) — detects the most likely data type for the focused input and fills it
- 🎲 Random option on selects — one-click random choice on native
<select> - 🖱️ Drag-to-fill — drag any data card onto a page input (native browser drop)
- 💾 Form snapshot / replay — capture the form state on a URL, restore it later (per-origin)
- Side Panel — persistent panel with smart-fill button for the active tab
- Popup search —
/shortcut to filter data cards by label - Keyboard shortcut —
Ctrl+Shift+D(macOS:Cmd+Shift+D) opens the popup - Drag-to-reorder favorites — native HTML5 drag-drop
- Session history — last 20 generated values, accessible from popup
- Automatic dark mode —
prefers-color-schemewith full CSS token system - Action badge — short code of the latest generated value
- No
<all_urls>content script — pure on-demand injection viachrome.scripting.executeScript - Domain blacklist — glob patterns (
*.banka.com.tr) that disable the extension on sensitive sites storage.sync→local→localStoragefallback — favorites sync across devices; extension is fully offline
| 💳 Financial / Business | 👤 Personal | 📍 Address & Docs | 📝 Text |
|---|---|---|---|
| TC Kimlik No | Ad / Soyad / Ad Soyad | Tam Adres | 50 / 100 / 250 / 500 char |
| Vergi Kimlik No | E-posta | Ülke | Lorem Ipsum |
| IBAN (16 banka) | KEP E-posta | İl / İlçe | Regex pattern (özel) |
| SGK Sicil No | Kullanıcı Adı | Mahalle / Cadde / Sokak | |
| SMMM Sicil No | Telefon (GSM) | Bina No / Daire No | |
| MERSIS No | Doğum Tarihi | Posta Kodu | |
| Firma Adı | Plaka | ||
| Kredi Kartı (Luhn) | Ehliyet Sınıfı + No | ||
| CVV / Son Kullanma | Pasaport No |
git clone https://github.com/osmnnl/TestDataHelper.git
cd TestDataHelper
npm install
npm run buildThen in Chrome:
- Go to
chrome://extensions/and enable Developer mode - Click Load unpacked and select the
dist/folder
- Right-click any input / select / contenteditable
Data Helper→ pick category → pick data type, orData Helper → ⚡ Bu formu persona ile doldurto fill the entire form, orData Helper → 📌 Akıllı doldurto auto-detect the data type for the focused field
Click the toolbar icon (or Ctrl+Shift+D):
- Persona tab — view/regenerate the consistent identity, copy fields individually, export as JSON or CSV, use a seed for reproducible output
- Favoriler / Finansal / Kişisel / Metin / Geçmiş — browse, filter (
/), copy, favorite - ⚙ Ayarlar — JSON backup/restore, domain blacklist, persona share-code import, form snapshots
Click ⇨ in the popup header to promote the UI to a persistent side panel with a top-level "⚡ Fill this tab's form" button.
- Frontend: React 19 + TypeScript + Vite
- Extension: Chrome Manifest V3 (service worker, no background page)
- Styling: Vanilla CSS with a light/dark token system
| Permission | Why |
|---|---|
storage |
Persist favorites, settings, session history — all local |
contextMenus |
Add the "Data Helper" right-click menu |
activeTab |
Write generated data into the currently active tab — only when the user clicks a menu item |
scripting |
One-shot fill function injection on user action |
sidePanel |
Open the persistent side panel UI (Chrome 114+) |
No <all_urls> content script, no host_permissions, no remote code.
- All data is generated locally — no network calls, no analytics, no tracking
- Credit card numbers pass the Luhn checksum but are not tied to real accounts — test-only
- Right-click menu injection is user-gesture triggered via
activeTab - Domain blacklist lets you disable the extension entirely on sensitive hosts (banking, healthcare) — glob syntax:
*.banka.com.tr - See PRIVACY.md for full policy
MIT — see LICENSE.
- Fork this repo
- Create a feature branch (
git checkout -b feature/new-feature) - Commit your changes
- Push and open a Pull Request
- Developer: GitHub
- Email: [email protected]
⭐ Star the project if you find it useful!