Skip to content

Blog / ACD vs L5X

PLC Project Files — Studio 5000 Formats

ACD vs L5X: What's the Difference?

ACD is the working project file you use every day in Studio 5000. L5X is an XML export designed for sharing and version control. Understanding the difference between them tells you which format to use for backups, Git repositories, and sharing with other engineers.

Key Takeaways
  • ACD is the native binary project file for Studio 5000. L5X is a human-readable XML export from ACD.
  • ACD files include online edit history and are tied to a specific Studio 5000 version. L5X files do not have this information.
  • L5X is better for version control — it is XML that can be diffed and merged in Git or other VCS tools.
  • Both ACD and L5X files can be viewed at plc.company without Studio 5000 — ladder logic, tags, and routines are fully accessible.
  • When exporting to L5X, some controller-specific configuration and online edit history is not included — keep the ACD as your working project file.

Quick Answer: ACD vs L5X

ACD is the native binary project file created and modified by Studio 5000. When you create a new project in Studio 5000, you get an .ACD file. This is your working file — all your ladder logic, tags, and configuration live here.

L5X is an XML export. You create it by going to File > Save As and selecting .L5X format. The L5X file contains the same ladder logic and tags as the ACD, but in a human-readable XML format. L5X files are designed for version control, sharing, and long-term archiving.

The fundamental distinction: ACD is what you work with; L5X is what you share and version-control.

What ACD Files Contain That L5X Doesn't

When you export an ACD to L5X, some information is left behind. Understanding what gets lost helps you decide whether to keep the ACD or if L5X is enough.

  • Online Edit History — ACD files maintain a record of every change made to the project: who edited it, when, and what changed. This history is valuable for debugging and audit trails. L5X exports do not include this history — it is cleared when you export.
  • Pending Edits — When you edit a project online (connected to a running PLC), Studio 5000 keeps a record of pending changes in the ACD. These pending edits are not included in an L5X export until you "assemble" the changes back to the controller.
  • Controller Firmware Config — Some controller-level settings (like safety configuration, communication module setup, and firmware version binding) may not fully export to L5X. When you import the L5X back to ACD, these settings may need to be re-entered.
  • Version Binding — An ACD is tied to a specific version of Studio 5000. If you try to open an ACD created in Studio 5000 v31 with Studio 5000 v30, it will fail. L5X is more version-agnostic and can be imported into older or newer versions more reliably.

What L5X Files Are Better For

L5X has clear advantages for specific use cases. If you are doing any of the following, use L5X instead of ACD.

  • Version Control with Git — L5X is text-based and can be diffed and merged in Git. ACD is binary and produces useless diffs. If you commit ACD files to Git, you cannot see what changed between versions.
  • Sharing With Engineers Who Don't Have Studio 5000 — Some team members may only have viewer software or may work at a site without a Studio 5000 license. They can open and view an L5X file in a text editor or in plc.company. An ACD file cannot be opened without Studio 5000.
  • Long-Term Archiving — L5X files are more portable across Studio 5000 versions. If you archive an ACD created in Studio 5000 v30, it may not open in Studio 5000 v35. L5X files can be opened in newer versions more reliably because the format is more stable.
  • Importing Components Between Projects — You can import one L5X file into another ACD project. This is useful when you want to reuse a routine, task, or data structure from another project. ACD-to-ACD imports are more complicated.

File Format Differences

The technical differences between ACD and L5X matter for how you work with them.

  • ACD = Proprietary Binary — ACD files are compressed binary files. You cannot read them in a text editor. Only Studio 5000 can open and modify them. They are optimized for fast loading and are smaller on disk than L5X files.
  • L5X = Human-Readable XML — L5X files are XML text files. You can open them in any text editor and see all the data in a structured format. They are larger on disk than ACD files, but can be version-controlled and diffed.
  • L5X Can Be Diffed and Merged — In Git, you can run git diff on two L5X files and see exactly what changed (which rungs were added, which tags were modified, etc.). This is impossible with ACD files because they are binary. If you commit ACD to Git, git diff produces binary garbage.

Converting Between ACD and L5X

Converting back and forth between ACD and L5X is straightforward, but you need to know what data gets lost in each direction.

  • Save ACD as L5X— In Studio 5000, open the ACD file. Go to File > Save As. Select .L5X format and choose a filename. Studio 5000 exports the project to XML. Online edit history and pending edits are not included in the L5X. Controller-specific configuration may be incomplete.
  • Import L5X Back to ACD— In Studio 5000, go to File > Import. Select the L5X file. Studio 5000 creates a new ACD project from the L5X data. The new ACD will have all ladder logic and tags, but will not have the original online edit history (it starts with an empty history). You may need to re-enter controller-specific settings.
  • What Gets Lost in L5X Export — Online edit history, pending edits, some controller firmware configuration, and version binding information. The core program logic (all ladder rungs, tags, and instructions) is preserved perfectly.
  • What Gets Lost in L5X Import — The imported ACD will not have edit history. You may need to manually re-enter controller-level settings if the L5X export was incomplete. The program logic itself is always imported correctly.

Which to Upload to plc.company

Both ACD and L5X files work on plc.company. The platform displays ladder logic, tags, and routines identically from either format.

  • Use L5X if you're sharing outside your organization — L5X is text and can be viewed in any text editor. If a colleague doesn't have Studio 5000 installed, they can still open the L5X file and view the raw XML. It's also easier to redact sensitive information from L5X (you can manually edit the XML) before sharing.
  • Use ACD if you want the full project state — If you're uploading a project for internal team viewing or archiving, ACD preserves everything including edit history and pending changes. Upload the ACD to plc.company and the platform will extract all the logic.
  • plc.company Works With Both — The platform supports both formats equally. Choose based on your sharing needs, not on plc.company compatibility.

Version Control Strategy: Use L5X in Git

This is the most important recommendation: never commit ACD files to Git. Always commit L5X files instead.

  • ACD in Git = Binary Diffs (Useless) — When you commit an ACD file to Git and then modify it, git diff shows binary gibberish. You have no way to see what changed. After parsing thousands of engineering teams' Git repositories, we found that projects using ACD in Git quickly become impossible to review or merge.
  • L5X in Git = Text Diffs (Useful) — When you commit an L5X file to Git and then modify it, git diff shows exactly which rungs changed, which tags were added, and which logic blocks were modified. Code reviews become possible. Merging becomes possible. You can see the complete change history.
  • Recommended Workflow — Keep the ACD locally or on a shared drive as your working file. Export it to L5X regularly (daily or before each commit). Commit the L5X to Git. When you need to share or recover a version, pull the L5X from Git, import it back to ACD in Studio 5000, and resume working.
  • Gitignore the ACD — Add your .ACD file to .gitignore so it doesn't accidentally get committed. Only track the .L5X export.

Frequently Asked Questions

What is the difference between ACD and L5X?

ACD is the native binary project file format used by Studio 5000. L5X is a human-readable XML export from ACD. ACD contains online edit history and is tied to a specific Studio 5000 version. L5X does not include this metadata and can be version-controlled in Git because it is text-based and diffable.

Should I use ACD or L5X for backups?

Use L5X for long-term archiving and version control. Use ACD for working backups where you need the complete project state, including online edit history and controller-specific configuration. Ideally, keep both: L5X in your Git repository and ACD on a backup drive.

Can I convert ACD to L5X?

Yes. In Studio 5000, go to File > Save As and select .L5X format. When you export to L5X, online edit history, pending edits, and some controller-specific configuration data is not included in the export. The L5X will contain all ladder logic, tags, and routines.

Can I convert L5X back to ACD?

Yes. In Studio 5000, go to File > Import and select an L5X file. Studio 5000 creates a new ACD project from the L5X data. The newly created ACD will not have the original online edit history — it starts fresh. However, all logic and tags will be imported correctly.

Which format should I put in version control (Git)?

Use L5X. It is XML text and can be diffed, merged, and tracked meaningfully in Git. ACD is binary and produces useless diffs. Committing ACD files to Git is a common mistake that makes it impossible to see what changed between versions.

View and Compare ACD & L5X Files

Upload your ACD or L5X file to plc.company and instantly view ladder logic, tags, and documentation. No Studio 5000 required. Compare versions to see exactly what changed.

View and Compare Files

Upload your ACD or L5X file to see ladder logic, tags, and changes.

Drop your ACD or L5X file here

or browse to select

.ACD.L5X