I'm working on a project that aims to help beginning Lego Mindstorms programmers. I'm developing certain "modules" (moving straight, making a turn) for students to try, and I want to develop a program that can pull an .ev3 file, unzip the .ev3 to reveal its files, and analyze any of these files that are useful in determining "module" correctness. After unzipping a typical MyProgram.ev3 file, I find:

  • ___CopyrightYear (txt)
  • ___ProjectTitle (txt)
  • Activity.x3a (xml)
  • ActivityAssets.laz (I've read that this is a compressed folder, but I am unable to unzip this)
  • Program.ev3p (xml)
  • Project.lvprojx (xml)

Only one of these file (Program.ev3p) seems to contain information about the actual instructions of the EV3 program. Does the EV3 brick interpret this file to execute the program instructions? Is there any other program information in the mentioned files that I am missing?

  • 1
    My googling did not reveal any evidence of software other than the official LEGO Mindstorms that will read these files. It would be great if somebody (like yourself) built a library for reading these and posted it on github. :)
    – chicks
    Commented Jun 30, 2016 at 11:31
  • 2
    Possible duplicate of Understanding the makeup of an XML .ev3p file Commented Jul 1, 2016 at 23:31

2 Answers 2


The titles headed with underscores are unneeded. The title is not necessarily required, and the copyright is obviously useless to the machine.

However, none of the other files can be skipped or removed and still allow the program to work.

These others are written in XML, Extensible Markup Language, and are designed for use by both human and machine. The microcontroller needs all the information in these files.


There is a website, that may help you: https://ev3treevis.azurewebsites.net/Default.aspx

This site enables you to view the programs, and even edit them on a text-based interface!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.