Client-side CSV importer
and spreadsheet editor SDK
First-class React package with a Web Component for Angular, Vue, Svelte, and vanilla JS. 100% client-side, no backend required, no per-import fees.
100% client-side React-first, framework-agnostic Flat $199/domain/month
What's Updog?
Nothing much, just the fastest way to import, edit, and manage your data without compromises.
Every feature on every plan.
Import, edit, validate, ship — all included. Including on the free plan.
Five import formats
CSV, XLSX, TSV, JSON, XML. Drop a file, get structured data.
Smart column matching
Auto-maps imported columns to your schema. Fuzzy matching, synonyms, or your own callback.
Value mapping
Map imported values to the options your columns expect.
Multi-source merging
Import multiple files into one grid. Each source tracked, toggled, or removed independently.
Upsert by primary key
Second import? Existing rows update in place. New rows append. No duplicates.
1M+ rows
Canvas rendering, virtual scrolling, Web Worker filtering.
Dynamic columns
Imported file has columns your schema doesn't? Users create them on the fly.
Inline editing
Click a cell, start typing. Tab, Enter, arrow keys — it works like a spreadsheet.
Typed cell editors
Text, number, date picker, select dropdown. Each column gets the right input control.
Add / delete rows
Insert above, insert below, duplicate, delete.
Copy / paste
Cells, ranges, rows. Paste from Excel or Google Sheets.
Fill handle
Drag to fill. Source values repeat across the target range.
100% client-side
Everything runs in the browser. No backend, no data leaves the user's machine.
Undo / redo
Every edit, paste, transform, and delete goes on the stack. Full command history.
Find & replace
Search across all cells. Case-sensitive, exact match, column-scoped. Replace one or all.
Column sorting
Ascending, descending, or clear. Stable sort, locale-aware.
Configurable filters
Select lists, number ranges, date ranges. Define per column, users control from the sidebar.
Column transforms
Split, merge, trim, and more. Bulk operations at 1M-row scale.
Formulas
Spreadsheet-style expressions on columns. Concat, split, substring, substitute — recompute live as data changes.
Bring your own AI
Clean messy data with a prompt. Split names, normalize dates, fix casing. Your model, your prompt, your data.
Built-in validators
Required, unique, type checks. Errors surface inline — users fix them in place.
Custom validators
Write your own validation function per column.
Cross-field validation
Declare dependent fields. When one cell changes, related cells re-validate automatically.
Display formatters
Show "$1,000" in the cell. Store "1000" underneath. Formatters are display-only.
Input transformers
Normalize on entry. Trim whitespace, parse numbers, format dates — before they hit the store.
Clean exports
CSV, XLSX, TSV, JSON, XML. Validated and formatted. Ready for your pipeline.
White-label
Match your brand colors, fonts, and design system. Every Updog plan includes full white labeling at no extra cost.
Any frontend framework
Native React component. Web Component wrapper for Vue, Angular, Svelte, or plain HTML.
Sticky columns
Pin columns so identifiers stay visible while users scroll horizontally.
Accessibility
Shadow table for screen readers. ARIA roles, live regions, full keyboard navigation.
i18n & RTL
Override every string. Right-to-left layout where the locale demands it.
Read-only mode
One prop. The grid becomes view-only. No editing, no deletion, no import.
No data processor agreement required.
User data is parsed, validated, and edited in the user's browser. It never reaches our infrastructure or anyone else's. That removes the GDPR data processor relationship, the DPA review, and the data residency conversation entirely.
Flat pricing.
Same price at 100 imports as at 100,000. 14-day free trial. No credit card.
Dev
Local development and personal projects.
- Development domains
- All features
- Community support
Team
Subdomains included. No bundled tiers.
- Add domains as you grow
- All features
- Email support
$199 flat per production domain. Predictable from your first import to your millionth. No per-import fees, no row caps, no usage tiers.
Frequently Asked Questions
Everything you need to know about Updog.
Is it really 100% client-side?
Yes. Parsing, validation, transformation, and editing all run in the browser. Your users' data never leaves their machine. No server, no data residency, no third-party processing.
How many rows can it handle?
1M+ rows with no lag or flicker. Canvas-based rendering with virtual scrolling — only visible cells are painted.
Which frameworks are supported?
React as a first-class component. For Vue, Svelte, Angular, or any other framework — a Web Component that works anywhere.
What file formats can users import?
CSV, Excel, JSON, TSV, and XML. Users can also paste directly from Google Sheets or Excel, and merge multiple files into one import.
Is it just an importer or also an editor?
Both. Take a messy file and clean it up. Or start with data you already have. Users get undo/redo, find & replace, copy/paste, fill handle, and built-in transformation functions.
How does pricing work?
$0 for development. $199/domain/mo for production. No bundled tiers. Every plan includes every feature. No per-row fees. No per-import fees. No usage caps.
Can I remove all Updog branding?
Yes, on every plan including free. No logos, no "Powered by" badges. Full CSS theming — override any visual element to match your brand.
How does the AI assistant work?
You own the prompt. Choose any LLM provider, write a prompt that returns a transformation function. That function is applied against the data — locally, in the browser.
Do I need SOC 2 or compliance audits?
No. Data never leaves the browser, so there is nothing to audit. No PII exposure to third parties. No data residency concerns.
How fast is integration?
npm install @updog/data-editor, define your columns, render the component. Under 10 minutes to a working import flow.