Skip to content
PN Scripts

Developer tools

Vnosko

A React component that lets your users import CSV and Excel files: upload, match columns to your fields, fix errors right in the table, and receive clean, typed rows.

  • React 18/19
  • JavaScript
  • TypeScript types
  • CSV
  • XLSX
  • Coming soon
  • Free Lite out now

Coming soon

Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.

Get it on

The Lite edition is free and complete for what it does; the full edition adds more.

The review step in a made-up admin app: five customers, seven cells marked with reasons such as Not an e-mail address and Appears more than once

What it solves

The gap

Every app that accepts spreadsheets ends up with a fragile upload form that rejects whole files over one bad cell, while hosted import services charge per row or per month.

What it is

Vnosko gives your users a guided import that finds the columns, explains each problem and lets them fix it before your code ever sees the data, in a component you own.

How you use it

Spreadsheet imports your users can finish on their own, without a monthly import service.

A one-time, self-hosted import wizard for React developers building SaaS, admin panels and internal tools.

Who it is for

Use it when

  • A SaaS onboarding step that imports a customer's contact list from Excel
  • An admin panel where staff upload price lists or stock counts from suppliers
  • An internal tool that loads orders exported from another system as CSV

Built for

  • React developers building SaaS products, admin panels and internal tools
  • Agencies that build data-heavy web apps for clients

What is inside

Upload anything they have

Drag and drop or choose a CSV, TSV or XLSX file, or paste rows copied from Excel, Google Sheets or Numbers. The delimiter and the encoding are found, XLSX sheets can be picked, and old .xls files are refused with a clear message.

Columns matched for them

The heading row is found among the first ten, even under a title line, and each field gets the column whose heading matches its key, label or aliases best. Required fields without a column are pointed out, and the first values of each column are shown.

Errors fixed in place

Every cell is checked and converted: numbers like 1.250,50, dates like 15.10.2026, yes or ja as true, Premium as pro. Invalid cells say why and are fixed by typing; rows can be removed, filtered or skipped.

Clean rows for your code

onComplete receives plain objects keyed by your fields with typed values and a summary of what was skipped. The look comes from CSS variables, the texts from built-in English and Bulgarian or your own, and the core works without React too.

Specs

Availability
Coming soon
Vendor
PN Scripts
Type
Package
Platforms
JavaScript, React
Pricing
One-time purchase Price to be announced.
License
Proprietary
Deployment
An npm package file installed into your React app; runs in the browser, no server
Maturity
v1.0.0

Compatibility

Platform or runtime Supported versions Tested up to
React 18 or newer 18.3.1 and 19.3.1
Chrome 80 or newer headless Chrome (demo check)

Stack

  • React 18/19
  • JavaScript
  • TypeScript types
  • CSV
  • XLSX

Vnosko is coming soon

It is finished and tested. It is not on sale yet; this page will say where to get it when it is.

Coming soon

Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.

Questions

A React component and a React-free core that import CSV, TSV and XLSX files into your app: upload, column matching, cell-by-cell checks with fixes in a table, and clean typed rows for your code. It comes as a zip with the npm package file, its source, a demo and a README.

A React 18 or 19 app built with any bundler, and a browser with DecompressionStream for XLSX (Chrome 80+, Firefox 113+, Safari 16.4+). It installs from the package file in the zip; no server or account is involved.

A backend, saved drafts and undo, old binary .xls files, formulas recalculated, and nested objects. It was tested in jsdom and headless Chrome with React 18 and 19, not yet in Safari or Firefox or with files of many thousands of rows.

Made by PN Scripts, a studio that builds games and tools, in plain JavaScript with React as the only peer dependency, reading XLSX with the browser's own decompression. Created with AI assistance; the code was written for this product and checked by PN Scripts with 11 automated tests, a type check, a run in Chrome and a buyer check with React 18 and 19.

It is not on sale yet. When it is, this page will link to the store; PN Scripts does not take payment on this site.