Primavera P6XERFile FormatsScheduling

XER File Format Explained: Open Primavera P6 Files Online

An XER file is Primavera P6's plain-text export of a full project schedule: tasks, logic, calendars, and resources. Here's how to open one without P6 installed.

July 11, 20268 min readKazinex Team

An XER file is Primavera P6's native export format: a plain-text, tab-delimited dump of an entire project schedule, including activities, logic, calendars, resources, and codes. It exists to move a whole schedule between P6 databases. You do not need Primavera P6 installed to read one. A browser-based schedule viewer, a format converter, or a free online XER tool will all open it. Below is what actually lives inside the file, why it behaves the way it does, and what to verify once it is open.

What is an XER file?

XER is the interchange format that Oracle Primavera P6 writes when you export a project. Despite the intimidating extension, an XER file is just structured text. Open one in Notepad and you will see readable table names, column headers, and rows separated by tab characters. There is no binary blob, no compression, and no zip container. That transparency is the reason so many third-party tools can parse XER without any Oracle software.

One XER file can contain a single project or several projects at once, along with the shared global data they depend on. That is the first thing to internalize: an XER is not a picture of one project in isolation. It is a slice of the P6 database.

What is actually inside an XER file?

The file is organized as a sequence of tables, each introduced by a marker in the first column. The layout looks like this:

  • ERMHDR — the header line, which records the P6 version, export date, database, and currency.
  • %T — the start of a table (followed by the table name).
  • %F — the field/column names for that table.
  • %R — a data row.
  • %E — end of file.

A short, illustrative excerpt reads something like:

ERMHDR	19.12	2026-07-11	Project	admin	Admin User	dbxDatabaseNoName	Project Management	USD
%T	TASK
%F	task_id	proj_id	wbs_id	clndr_id	task_code	task_name	task_type	...
%R	1001	100	200	1	A1000	Mobilize Site	TT_Task	...
%E

The schedule is reconstructed by joining these tables on their ID columns, exactly like a relational database. The tables you will meet most often:

Table What it holds
PROJECT Project-level settings: data date, project code, defaults
PROJWBS The Work Breakdown Structure hierarchy
CALENDAR Working-time calendars, holidays, and exceptions
TASK Activities: codes, names, durations, dates, float
TASKPRED Relationships (logic) between activities
RSRC The resource dictionary (labor, material, nonlabor)
TASKRSRC Resource assignments and units on activities
ACTVTYPE / ACTVCODE Activity code definitions and values
UDFTYPE / UDFVALUE User-defined fields and their values

TASK and TASKPRED are the heart of the schedule. Each row in TASK is one activity; each row in TASKPRED is one relationship, carrying a predecessor ID, a successor ID, a relationship type (PR_FS, PR_SS, PR_FF, PR_SF), and a lag. Rebuild those two tables correctly and you have the network.

Why does the XER format exist?

Primavera P6 stores projects in a central Oracle or SQL Server database, not in per-project files. XER solves the resulting problem: how do you hand a schedule to a client, a subcontractor, or an auditor who is on a different database? You export it to a self-contained file they can import into their own P6 instance.

That design goal explains why the file carries so much beyond activities. Calendars, resources, roles, cost accounts, and activity codes are all included so the receiving database can reconstruct the project faithfully. Oracle also offers a P6 XML export, which is more structured and travels better across versions, but XER remains the default currency of schedule exchange on most projects because it is compact and universally supported.

The quirks that trip people up

XER is simple to read and surprisingly easy to misread. A few behaviors deserve attention.

Encoding. XER files are typically written in a Windows ANSI code page (commonly Windows-1252), not UTF-8. Accented characters, currency symbols, and non-Latin text can therefore arrive mangled if a tool assumes UTF-8. If activity names look corrupted, encoding is the usual culprit.

Versions. The ERMHDR line records the P6 version that produced the file, such as 19.12 or 23.12. You generally cannot import an XER from a newer P6 into an older P6 cleanly; the older application may warn you or refuse. Matching versions, or exporting to the lower version, avoids the headache. When you receive an XER, check the header version before assuming your P6 will accept it.

Calendar math. Durations and float in an XER are stored in hours, in fields like remain_drtn_hr_cnt and total_float_hr_cnt, not in days. To display days you divide by the activity calendar's hours-per-day. A total_float_hr_cnt of 40 is five days only if that activity runs on an 8-hour calendar. The calendar itself is encoded in the CALENDAR table's clndr_data field as a proprietary, parenthesized text blob describing standard work weeks, exceptions, and holidays. It is one of the harder parts of the format to parse correctly, and a tool that gets it wrong will show wrong durations and dates even though the raw numbers are intact.

Global data can overwrite. Because an XER carries global calendars, resources, and codes, importing one into a live P6 database with the "Update Existing" option can silently change global objects that other projects share. Many schedulers have overwritten a global calendar this way. Review the import configuration, and prefer keeping existing global data unless you specifically intend to update it.

How do you open an XER file without Primavera P6?

You do not need a P6 license or a Windows install to read an XER. There are three practical routes.

1. A browser-based schedule viewer. The fastest path is a web application that parses the XER and renders the Gantt chart, logic, and data tables directly. Kazinex Planner opens XER, Primavera P6 XML, and Microsoft Project files in the browser with no install, then lets you inspect the network, run quality checks, compare updates, and edit the schedule. This suits anyone who receives XERs but does not own P6, such as owners, PMs, and reviewers.

2. A converter or another scheduling tool. Some third-party utilities convert XER into other formats, and a few scheduling packages import it. Note that Microsoft Project cannot open an XER natively; it needs a conversion step first.

3. A free online XER tool for a quick, focused task. If you only need to sanity-check a file, two no-sign-up tools do specific jobs well: the DCMA 14-point quality checker scores an XER against the standard 14 schedule-health checks, and the schedule compare tool diffs a baseline against an update to show what changed. Both accept an XER directly in the browser.

4. Primavera P6 itself, if you happen to have access. Import via File > Import and choose the XER option. This is the reference behavior, but as this article shows, it is far from the only way.

What to check after you open an XER

Getting the file open is step one. Reading it critically is step two. Before you trust an XER, verify:

  • Project scope. Confirm how many projects the file contains and which one you actually need. Multi-project XERs are common.
  • Data date. The data date sets the boundary between actuals and remaining work. A stale or wrong data date invalidates the whole update.
  • Calendars. Spot-check that activity durations look sane in days. If they do not, a calendar parsing or hours-per-day issue is likely.
  • Counts. Match the activity and relationship counts against what the sender claims. A truncated export or filtered view will not line up.
  • Logic health. Look for open ends (activities missing predecessors or successors), hard constraints, negative float, and out-of-sequence progress.
  • DCMA 14-point results. Running the standard checks quickly surfaces missing logic, excessive lags, high float, and negative float. The free DCMA checker gives you a fast read without opening the full application.

Doing this consistently turns an XER from an opaque handoff into a schedule you can actually stand behind.

Frequently asked questions

Can I open an XER file without Primavera P6? Yes. Browser-based schedule viewers such as Kazinex Planner, format converters, and free online XER tools all read the format without any Oracle software installed.

Is an XER file the same as an MPP file? No. XER is Primavera P6's tab-delimited text export, while MPP is Microsoft Project's proprietary binary file; neither application opens the other's format natively without a conversion step.

Why won't my XER file import into P6? The most common cause is a version mismatch: an XER exported from a newer P6 version often will not import cleanly into an older one. Check the version in the ERMHDR header line and export to the matching version if needed.

What text encoding does an XER file use? XER files are usually saved in a Windows ANSI code page such as Windows-1252 rather than UTF-8, which is why accented or non-Latin characters can appear corrupted in tools that assume UTF-8.

See it on your own schedule.

Open any XER, P6, or MPP file in the browser with Kazinex Planner — run DCMA-14 checks, compare revisions, and ask an AI copilot anything. No install, no card.