Import, clean, and edit
data in your app.
The client-side data importer and spreadsheet editor for React, Vue, Angular, and any framework. 1M+ rows. No server. No usage limits. $0 to start.
$ npm install updog Data importer and editor in action.
Import files, fix errors, edit — all in the browser.
Bring your own AI.
Users describe the problem, the AI writes the fix. Your model, your prompt, your data, your rules.
- Plug in any LLM backend
- We never see your prompts
- Context-aware suggestions based on your schema
The full feature set.
Every feature. Every plan. No gates.
1M+ rows
Canvas rendering, virtual scrolling, Web Worker filtering.
Client or server mode
Keep everything in the browser, or delegate to your backend.
Any frontend framework
Native React component. Web Component wrapper for Vue, Angular, Svelte, or plain HTML.
White-label
Strip all Updog branding. Your users never know we're here.
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.
Dynamic columns
Imported file has columns your schema doesn't? Users create them on the fly.
Add / delete rows
Insert above, insert below, duplicate, delete.
Column transforms
Split, merge, trim, uppercase, lowercase. Bulk operations that stay fast at scale.
Typed cell editors
Text, number, date picker, select dropdown. Each column gets the right input control.
Inline editing
Click a cell, start typing. Tab, Enter, arrow keys — it works like a spreadsheet.
Copy / paste
Cells, ranges, rows. Paste from Excel or Google Sheets. Cut moves data, not just copies.
Fill handle
Drag to fill. Source values tile cyclically across the target range.
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.
Built-in validators
Required, unique, type checks.
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.
Sticky columns
Pin columns so identifiers stay visible while users scroll horizontally.
CSS theming
Every element styled through CSS variables. Match your design system, not ours.
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.
Bring your own AI
Stream chat responses into the grid. Your model, your prompts, your data stays yours.
Pricing.
Every plan includes every feature. No credit card required.
Dev
Perfect for local development and personal side projects.
- Development domains
- All features
- Community Support
Team
Per production domain. Subdomains included. No bundled tiers.
- Add domains as you grow
- All features
- Email Support
Enterprise
Complex requirements, compliance, and custom SLAs.
- Custom terms
- All features
- SLA
Frequently Asked Questions
Everything you need to know about Updog.
Is it really 100% client-side?
Yes. Parsing, validation, transformation, and editing all happen 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. Import messy files and clean them up. Or load existing data and let users edit it — with undo/redo, find & replace, copy/paste, fill handle, and built-in transformation functions.
How does pricing work?
$0 for development. $99/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, define your columns, render the component. Under 10 minutes to a working import flow.