Post History
As far as I know, there is no standard format, at least not one supported by many packages. What I would look for instead is the existence of converters. Check the ability of a tool to export or ...
Answer
#1: Initial revision
As far as I know, there is no standard format, at least not one supported by many packages. What I would look for instead is the existence of converters. Check the ability of a tool to export or import in another's format. Then ask around and look at reviews to find the quality of these converters. Anyone can claim to have a converter, and be able to demonstrate it on a carefully-chosen dataset. The failures will be in the corner cases. One problem is that each tool stores different data in different ways internally. This makes it difficult to come up with a universal standard definition that fits comfortably with different systems. I would look for a tool that at least lets you at all its internal data. Eagle is well know for this, and probably Kicad does too considering its origins and it being open source. Even if you know everything about a schematic in one system, it may be difficult to map that to another system. For example, consider part identification. I may have an Eagle schematic that uses a 4401 jellybean transistor. You probably have a 4401 defined in your Altium library too. But how does an Eagle to Altium importer know that the 4401 in the Altium library is really the same part as the 4401 in the Eagle file? Part definitions don't usually specify the electrical parameters. Do you require the names to match? But those can vary too. In Eagle, for example, names are "decorated" with other information, like the codename you chose for the package. Is a "SOT-23" on one system the same as "SOT23" or "SOT23-3" on another? You probably don't want converters to make such assumptions, but then you're back to doing a lot of tedious manual work.