EARLY ACCESS PREVIEW · Payments open after store approval. Try the component now.
A SMALL COMPONENT FOR A FAMILIAR PROBLEM

Your CSV importer.
Your code. One payment.

Give your customers a clear path from messy spreadsheet to validated records. Embed the flow, own the source, and keep row data in their browser.

↳ Framework-independent ES modules↳ No API key or hosted parser↳ CSV + TSV, intentionally small
01 / THE WORKING COMPONENTUpload → Match → Correct → Export
BRING A FILE. OR BORROW OURS.

A real import flow.
Not an animated screenshot.

The sample contains deliberate errors. Match your columns, edit a cell and download the result. Nothing is uploaded to us.

Runs on this device. No analytics, no cloud AI, no background file uploads. Sample data is fictional.
01

Map the columns once.

Match familiar aliases automatically. Let the customer check each field before anything is sent to your app.

02

Make errors actionable.

Required fields, duplicates, enums and number ranges appear next to the cell. Correct it in place, then revalidate.

03

Keep your own boundary.

Parsing and validation run locally. Your callback decides where accepted records go. Rowframe has no data endpoint.

YOUR SCHEMA. YOUR CALLBACK.

Leave the import UI
to a small module.

No account, React provider or external stylesheet service. Copy the files into your app, define your fields, and own the integration.

Read the actual API →
app.mjsES MODULE
import { mountImporter }
  from './rowframe/widget.mjs';

mountImporter(container, {
  fields: [
    { key: 'sku', required: true,
      unique: true },
    { key: 'quantity',
      type: 'integer', min: 0 }
  ],
  onComplete: async (records) => {
    await yourImportAPI(records);
  }
});
A PRECISE FIRST RELEASE

Built for a smaller job.

Good fit: small B2B apps with UTF-8 CSV or TSV onboarding, up to 10,000 records / 5 MB, and a developer who owns the destination API.

Use another tool for: XLSX, PDF extraction, million-row files, managed connectors, server-side authorization or compliance certification. Always validate accepted records on your server.

Early access v0.1.1. Evaluate it with your own schema before adopting it. No paying-customer results are claimed.

PROPOSED LAUNCH PRICING

Buy the version.
Keep using it.

One-time source licenses for the purchased version. Both include the same component and examples. Checkout opens after merchant approval.

SINGLE PRODUCT
$249 once

For one commercial application.

  • Source files + TypeScript declarations
  • Self-host on your own domain
  • Unlimited use of the purchased version
  • Installation guide and examples
AGENCY
$599 once

For up to 10 client applications.

  • Everything in Single Product
  • Client project usage rights
  • Brand styling through CSS
  • No subscription to keep it running
BEFORE YOU BUILD

Clear edges.
Fewer surprises.

Is anything sent to a third party?

This demo does not transmit your file or row data. An integrator can send records to their own backend through onComplete. That backend’s handling is their responsibility.

Is this a free or open-source alternative?

Evaluation is free. Commercial source licenses are awaiting merchant approval. Free alternatives include react-spreadsheet-import and ImportCSV; review their current terms and framework requirements before choosing.

Does one payment include updates forever?

No. The license covers continued use of the purchased version. Future upgrades, installation services and a support SLA are not included. Read the license and refund terms.

Does it prevent every bad import?

No. It checks the schema you define. Your application must still enforce permissions, business rules and database validation. It does not guarantee that any third-party platform will accept a file.