AppKatz Kits
Small tools. Useful outcomes.
Data preparation · Kit 001

Import Template Mapper

Turn the CSV you have into the template you need. Match columns, check the details, and take a cleaner import file with you.

Free to useWorks offlineNo sign-inOne HTML file
Synthetic contacts · ready in one click
CSV mapper workspace

1. Load your CSVs

Source records on the left. Destination headers or a sample template on the right.

Source data

Your records
Choose before loading
No source loaded · UTF-8 CSV, up to 10 MiB

Target template

Your output shape
Sample rows are reference only
No template loaded · first record supplies output headers
Made for: preparing a contact list, product catalog, or migration export for another system’s CSV template.
Values stay as text, including 00123 and long IDs. Spreadsheet apps can still reformat a downloaded CSV; import identifier columns as Text. Dates are never guessed.

2. Map & validate

Every output field needs an explicit choice. Arrows change the output column order.

JSON · mappings and rules, no source records
Start with two CSVsLoad your source and target, or try the synthetic example above.

3. Review & export

Only valid rows go into the mapped file. Rejected rows keep their original values and reasons.

Waiting for validation
A preview before you commitValidate your mappings to see accepted records and actionable exceptions.

A little guidance goes a long way

Keep this file. Your next import starts with the same workflow.

Built-in field guide

How to use this kit

About this AppKatz Kit

AppKatz Kits · Import Template Mapper · v1.0. Original implementation authored for AppKatz, 2026. The AppKatz logo, wordmark, tool identity, source attribution, recipe identifier, and human-readable review reports carry the AppKatz identity. Mapped CSV data stays free of branding rows and added columns.

These visible touches deter casual copying; client-side code remains inspectable and can be modified. There is no activation check, tracking, anti-debugging, or restriction on normal keyboard and copy behavior. No third-party code or assets are included.

  1. Choose the delimiter and load a UTF-8 source CSV. Load your destination’s header row or sample CSV.
  2. Map each target to a source field, constant, or intentional blank. “Match exact names” is an optional starting point.
  3. Add transformations and rules. Choose MDY or DMY explicitly for slash dates. Reorder columns if needed.
  4. Validate, review exceptions, and download the accepted file and rejected-row report.
  5. Save the recipe for next time. Load both CSVs before importing a recipe.

This checks the rules you select. It does not guarantee acceptance by a third-party system. Check that system’s current import requirements.

Examples & rule behavior

Identifier: 00123 stays 00123. No numeric coercion is performed.

Date: 03/04/2026 becomes 2026-03-04 with MDY, or 2026-04-03 with DMY. ISO requires YYYY-MM-DD; slash formats allow one or two digits, with a four-digit year.

Example data: five synthetic contacts show quoted commas, Unicode, a multiline note, an invalid date, a missing email, duplicate IDs, an enum mismatch, and a formula-like note. One row passes the supplied rules.

How rules decide what passes

Required rejects empty or whitespace-only final values. Optional date and enum rules skip only an exactly empty value. Enums are case-sensitive, one exact value per line; spaces are significant. Uniqueness is case-sensitive and checks final non-empty values across all source records. Every occurrence of a duplicate is rejected, including matches on otherwise invalid rows. No automatic deduplication or repair occurs.

CSV width mismatches reject the affected source record; malformed quoting rejects the entire file. Truly blank records are kept, not silently skipped. Source record numbers count CSV records, so embedded newlines do not change the numbering.

Limits, privacy & troubleshooting

Hard limits: 10 MiB per CSV, 50,000 data records, 100 columns, 1,000,000 cells including headers, and 100,000 characters per field; 200 per header. Transformed values are capped at 20 Mi characters total; validation reasons at 5 Mi characters. A recipe is limited to 1 MiB. Processing runs in a worker; Cancel discards the in-progress operation.

Verified on Windows with Chrome 154: a source with 50,000 rows × 19 columns (8.55 MB; 950,019 cells including headers), cancellable processing, downloads, and 390 px layout. Engine boundary tests also covered exactly 10 MiB, 100 columns, 1,000,000 cells, and 100,000-character fields. Other browsers and physical mobile devices are not yet qualified.

Verified local processing: source inspection and a Chrome network audit of loading, mapping, validation, recipes and downloads observed no outgoing HTTP(S) or WebSocket requests. This file has no external assets, analytics, ad scripts, or storage API; its content security policy blocks outgoing connections. This verification covers this standalone file, not browser extensions or a future hosting page.

File and recipe troubleshooting

One giant column usually means the wrong delimiter: choose it and reload the file. Duplicate or blank headers must be fixed upstream; header spelling and spaces are preserved. Invalid UTF-8, UTF-16 and NUL bytes are rejected; re-save as UTF-8 CSV.

Recipes require exact, ordered source and target headers. Renamed, missing, added or reordered columns block the import; the current setup is retained. Remap and save a new recipe after reviewing the new schema. Recipes include constants and rules, which may contain sensitive text; store and share them accordingly.

The kit keeps data in memory only. Reloading or clearing the workspace removes the current setup; downloaded files remain on your device. A failed or cancelled import keeps the last successful setup. Choosing a different export policy may alter values or expose formula risk. Apostrophe escaping is a precaution, not a guarantee across every spreadsheet program.

Use a current desktop browser with JavaScript, Web Workers, TextDecoder and Blob downloads. Locked-down browsers may block local workers or downloads. Mobile layout is supported, but large-file performance on mobile has not been qualified. This version does not read XLSX, infer delimiters, merge files, evaluate formulas, or validate destination-specific business rules.