Schema Column Mapper

Schema Column Mapper

Build a target table from named CSV columns. Each target field has its own mapping and validation rules.

UTF-8 input:1 MiB ·5,000 rows ·32 columns ·100,000 cells. Target fields:32. Plan:64 KiB. Complete report:8 MiB and 9,000 issues. Text limits count UTF-16 code units.

1. Read the source table

2. Define the target schema

Fields run independently against the original source. Their order sets the output columns. Editing a rule clears the previous result. Names bind exactly, including case; no Unicode normalization is applied.

Pipeline: expression → optional trim → case → default only when empty → required/type validation. Optional empties become null. Decimal remains exact text (18 whole/12 fractional digits); integer uses the safe-integer range. Boolean: true/false. Date: real YYYY-MM-DD, years 0001–9999.

Target fields
Import a saved mapping

Import replaces the current target-field plan only after validation. Failure or cancellation preserves the plan. JSON text edits clear the old result but are applied only by Import mapping. A plan may contain literal/default input values.

Start by reading a source table or loading the example.

Comments & questions

Schema Column Mapper

Prepare a table for a specific import contract. Define target fields, connect them to named source columns, and choose explicit transformations and types. Run the plan to separate valid output rows from rows that need repair while keeping the original parsed cells in a complete report. No database connection or arbitrary script execution is involved.

Key features

  • Four mapping operations: copy one column, insert a literal, join ordered columns, or choose the first nonempty column
  • Named target fields with string, safe integer, exact decimal text, boolean or Gregorian date types
  • Explicit trimming, letter case, empty-value defaults and required-field checks
  • Logical CSV record numbers and field-specific errors; original values retained in the full JSON report
  • Reusable strict mapping JSON plus separate valid-output and rejected-source CSV downloads

How to use

  1. Paste CSV or select a UTF-8 CSV/TSV file, choose its delimiter and read the table.
  2. Use the initial source-column fields or add target fields; set their names, types and mapping operations.
  3. Order source references and choose trimming, letter case, required values and optional defaults.
  4. Run the mapping and inspect valid and invalid records. Changing input or rules clears the previous result.
  5. Download the mapping plan, all valid output rows, all rejected source rows or the complete JSON report.

Use cases

  • Combine given and family names into a destination full_name column while preserving text IDs
  • Use a backup contact column only when the preferred source is empty under the selected trim rule
  • Reject invalid dates and numbers before preparing a CSV import for another system
  • Save one named-column mapping and reuse it when the source columns appear in a different order

Frequently asked questions

How is this different from the JSON CSV converter or cleaning workbench?

The JSON CSV converter changes serialization, flattening and inferred types. The cleaning workbench applies a sequence of operations to an existing table. This tool defines a separate ordered target schema, maps named inputs into each target field, and reports required-value and type failures before exporting only valid rows.

What order do transformations and defaults follow?

The selected expression reads only original source cells. Then optional trim and letter-case conversion run. A default is used only if that result is empty and receives the same transformations. Required and type checks run last. An invalid nonempty value is reported rather than silently replaced. Coalesce checks candidate emptiness using the trim setting and uses the first available column.

How are numbers, booleans and dates validated?

Integer accepts signed whole digits within the JSON safe-integer range. Decimal accepts up to 18 integer digits and 12 fractional digits, with no exponent or thousands separator, and returns canonical exact text. Boolean requires true or false after selected transformations. Dates require real Gregorian YYYY-MM-DD dates from year 0001 through 9999.

Which rows are downloaded, and can values be lost?

The valid-output CSV contains every fully valid row in target-field order. The rejected CSV contains every invalid row’s original parsed cells and issue details. The JSON report contains both groups, their converted values, originals and rules. Preview filters and 25-row pages never limit downloads. Optional empty output values become null in JSON and blank CSV cells; keep the report to retain that distinction and the original cells.

Can the saved mapping be reused, and what JSON is accepted?

The column-mapping-v1 plan binds exact header names, not positions. Missing referenced columns stop the run. It allows 1–32 unique target fields and 1–8 ordered references for join/coalesce, including repeated references. Unknown properties, decoded duplicate JSON keys, unsupported operations and plans over 64 KiB are rejected. The plan is declarative; it does not execute JavaScript.

What are the limits and CSV export conventions?

Input is limited to 1 MiB,5,000 rows,32 columns and 100,000 data cells. The complete report is limited to 8 MiB and 9,000 issues; exceeding a limit stops the entire run. CSV exports use a UTF-8 BOM, quoted cells and CRLF. Formula-like string cells receive an apostrophe prefix; JSON preserves raw text. Spreadsheet software may still infer types, so import identifier and exact-decimal columns as text.

Privacy

Source cells, mapping rules and reports stay in this page’s memory. This tool does not upload them or save them to browser storage or URLs. Download before leaving if you want to keep a plan. Reports and rejected-row files contain original input values; a plan may also contain literal values or defaults. Cancelling or changing input prevents an older result from being applied, although an operating-system file read already in progress may finish.

Related Tools

JSON ↔ CSVFind & ReplaceJSON FormatterWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderURL EncoderSQL FormatterCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →