The map of your Visual FoxPro codebase.
Carta reads everything in a VFP 9 project — including the binary .scx / .vcx / .frx / .dbc artifacts ordinary tools can't open — with no VFP runtime needed. Search, go-to-definition, call graph, ERD, impact analysis, form previews. In VS Code and a browser cockpit. Understand a 30-year codebase in an afternoon.
runs entirely local · offline license keys · no cloud, no telemetry
Reads the binaries
.scx forms, .vcx classes, .frx reports, the .dbc — parsed directly as DBF containers.
Builds the map
Search everything, call graph, schema/ERD, per-routine complexity.
Lives where you live
A real VS Code language server plus a browser cockpit — and Open in VFP everywhere.
Answers "what breaks?"
Change-impact for any table or symbol: screens, references, FK ripple, caller blast radius.
Product tour
See it work on a real codebase.
Five moments from the fictional Meridian Trading Co. demo project — recorded live from the cockpit, nothing staged.
Search inside the binaries.
Typing custid finds 53 hits — including matches inside binary
.scx forms — with previews, then one click to the editor or straight into VFP.

A language server for a language that never had one.
Hover GetNextID: signature, defining file:line, its own doc comment, and a
◂ 6 callers CodeLens — outline and breadcrumbs included.

Follow a screen to its data.
frmOrderEntry (very-high risk, cx 38) → a live data-flow diagram to its
6 tables, with per-method behavior. Click any table to see every screen that touches it.

"What breaks if I change this?"
Impact on orders: 5 screens, 117 code references (7 writes / 19 classified
reads) across 14 files, 5 FK-related tables — one query.

Render a form. VFP never runs.
Order Entry — 29 controls, grid, combos, bound totals — drawn straight from the
.scx binary's control geometry. Textboxes show their ControlSource.



.dbc.
CalcExtendedPrice cx 37).

Why Carta
Nobody else reads FoxPro this way.
VFP has had no modern tooling since 2007 — and half of every FoxPro app is locked inside binary DBF artifacts. Carta was built for exactly that.
Static by design
Everything Carta knows comes from the project's artifacts alone — nothing here
requires a running VFP. It works on any machine, and on projects VFP itself can't
currently open (a locked .pjx included). Anything live is deliberately
out of scope.
Reads the binaries
.scx / .vcx / .frx / .dbc are DBF containers; Carta parses them directly.
That means form previews without opening VFP and method-level search inside
binary forms — not just your .prg files.
No runtime, no install footprint
No VFP runtime, no cloud, no agent, no telemetry. Carta reads your project right on your machine — your source never leaves the building, which is exactly how confidential legacy code should be treated.
Answers the maintenance question
"What breaks if I change this?" Table → screens, classified read/write references, FK ripple. Symbol → transitive-caller blast radius. The question every legacy dev asks daily, answered in one query.
By the numbers
Measured, not promised.
Every figure below renders in the screenshots above — recorded from the Meridian demo project, never customer code.
to map Meridian: 33 files, 10 tables, 9 binary forms, ~2,400 data rows.
first full map of a 2,600-item production app — instant refreshes after that.
for custid — including matches inside binary .scx forms.
impact on orders: 5 screens, 7 writes / 19 classified reads across
14 files, 5 FK-related tables — one query.
frmOrderEntry — grid, combos, bound totals — rendered straight from the
.scx binary. VFP never runs.
complexity hotspots ranked per routine (CalcExtendedPrice), with relative
risk tiers per screen.
Get Carta
Carta is in private early access.
One edition, everything included. Tell us about your codebase and we'll set you up.
Everything Carta does
The full map, plus the bridge into a real, licensed VFP 9 IDE on your machine.
- Search everything — full-text + regex across source and binaries
- Go-to-definition, find-references, hover docs, call hierarchy, outline
- Call graph, schema/ERD, complexity hotspots, dead-code view
- Duplicate-code detection and lint — clones, hard-coded paths, leftover markers
- Impact analysis — tables and symbols
- Static form previews from the
.scx - VS Code extension + browser cockpit
- Open in VFP — any form, class, report, menu, or table jumps into its native designer
- Save & Recompile — edit a method in Carta, write it back into the binary form (guarded, backed up), recompile in VFP
- Live Console — a FoxPro REPL against a warm VFP session, plus compile-check and build APP/EXE
- Priority support from the team that builds it
FAQ
Fair questions, straight answers.
How does licensing work? Do I need to be online?
No. Carta uses offline, signed license keys — a self-contained statement of who bought what. There's no activation server and no phone-home. Your key covers every build released while it's current; when it lapses, those builds keep working forever — only newer builds ask you to renew.
Does any of my code leave my machine?
Never. Carta runs entirely on your machine — no cloud, no telemetry, nothing to sign in to. It's read-only by default, too: the only thing that ever writes to your project is the explicit, backed-up Save & Recompile action.
We're migrating away from VFP. Why would we buy tooling for it?
That's when you need the map most. Scoping a migration means knowing what's actually there: the ERD, the dead code, the dependency tangles, the complexity hotspots. Carta turns "we can't estimate what we can't see" into an assessment you can do in hours — and the map outlives the one developer who knew the system.
What platforms does it run on?
Windows x64 and Windows arm64. The bridge features drive a real VFP 9 IDE, which lives on Windows — so that's where Carta ships. The cockpit views run in any browser.
Do we have to leave FoxPro to use it?
No — Carta meets VFP developers where they live. Every view has Open in VFP: forms open in the Form Designer, classes in the Class Browser, tables in a Browse window. The real IDE stays for what it's uniquely good at; Carta adds everything it never had.