Visual FoxPro: reading .dbf, .scx and .frx files after end of support
What each Visual FoxPro file holds, how to extract data from .dbf and .fpt files safely, and the traps that quietly corrupt a careless migration.
What each Visual FoxPro file holds, how to extract data from .dbf and .fpt files safely, and the traps that quietly corrupt a careless migration.
Who this is for
Anyone responsible for a Visual FoxPro application that still runs the business and that nobody will touch.
Question this answers
Can Visual FoxPro data and logic be recovered, and what is the safest order to do it in?
What you'll leave with
Visual FoxPro applications are frequently the best software in the building. They are fast, they were written by somebody who understood the business, and they have run for twenty years without much attention. That is precisely why nobody has dealt with them, and why the decision usually arrives as an emergency rather than a plan.
Microsoft shipped Visual FoxPro 9 in 2004, announced in 2007 that there would be no version 10, and ended extended support on 13 January 2015. There is no successor product and no migration path provided by the vendor.
What did not happen is the applications stopping. A compiled VFP application keeps running on current Windows, which is why so many are still in production a decade after support ended. The pressure comes from somewhere else: the person who wrote it retires, a Windows update breaks a printing or ODBC dependency, or an auditor asks where the data lives and who can access it.
| Extension | What it holds |
|---|---|
.dbf | A table. The actual data, in a documented format |
.cdx | Compound index for the matching .dbf |
.fpt | Memo fields. Notes, descriptions, long text |
.dbc, .dct, .dcx | Database container: relationships, rules, stored procedures |
.prg | Program source. Readable text |
.scx, .sct | Forms, including the code behind them |
.frx, .frt | Report definitions |
.vcx, .vct | Visual class libraries |
.pjx, .pjt | Project file, lists everything that belongs together |
.exe | The compiled application |
The .fpt file is the single most common cause of silent data loss. Memo fields do not live inside the .dbf, they live in a separate .fpt with the same base name. Copy or extract the .dbf on its own and every note, description and comment vanishes without any error being raised. Always move the pair together.
A useful detail: .scx, .frx, .vcx and
.pjx are themselves .dbf files with different
extensions. That means the forms, reports and class libraries can be opened and
read as tables, which is how their contents are recovered when the development
environment is not available.
The .dbf format is documented and old enough to be very widely
supported. You do not need Visual FoxPro installed to read it, which matters
because installing VFP on a current machine is its own small ordeal.
The practical sequence:
The business rules in a VFP application are not in one place, which is the main reason rebuilds get underestimated. Expect to find logic in all of these:
Because all four of those file types are readable as tables, the logic can be recovered systematically even without the development environment. It is methodical work rather than clever work.
Full rebuilds fail more often than staged ones, and Visual FoxPro happens to support a genuinely low-risk sequence:
Each step delivers something on its own. If the project stops after step one, you have still removed the largest risks, which is the mark of a sensible sequence rather than a hopeful one.
The honest summary: Visual FoxPro skills are getting rarer every year, and that is a real constraint on finding help. The data and the logic are not the constraint. Both are recoverable with documented formats and patience.
Meet the person
This guide comes from real projects. If it raises a question about your own system, you can ask the founder directly.
HELLO PEOPLE designs, builds and looks after AI, software, app and data solutions for Australian businesses, with senior expertise on every project and a scope agreed before work starts. For an older system, that means learning what it really does first, so nothing your business relies on is lost.
Since 2007, HELLO PEOPLE has delivered more than 100 projects from Perth for small and medium businesses across Australia: custom software and apps, system integrations, data migrations, reporting and dashboards, and AI that works inside the systems a business already runs.
I lead every engagement myself. I trained in accounting before moving into IT, hold accounting and IT professional qualifications and an MBA, and bring more than 20 years of experience across sales, service delivery, inventory and compliance. I am also a PhD candidate in AI at Curtin University, researching retrieval-augmented generation (RAG), so the technology is always judged by what it does for the business.
Small and boutique. The person who scopes the work is the person who does it, and the same person is there when the old system is switched off.
No ticket queue and no account manager in between. You hear back within one business day, usually sooner.
The upgrade is the start, not the end. When you need the next system, integration or report, you call the same person, who already knows your business.
Ask the author
Ask it here and it comes straight to Kasun, who wrote this. No sales call, no obligation, and a real answer even if the answer is that you do not need us.
Kasun Wijayamanna
Founder, replies within one business day
Tell us what you are comparing, replacing, or trying to improve. We will come back with a practical recommendation and realistic scope.
Built here. Your data stays here.
Thanks for reaching out. We will get back to you within one business day.
See what else we do