T10 Dec 18, 2025 2 min read

Binary

A file whose contents are bytes rather than readable text, often produced by compilation and linking.

Definition

A binary is a file made of bytes (not human-readable text). In the “software pipeline” sense, it’s often an artifact produced by compilation and linking.

Binary is a broad term. It includes compiled program artifacts, but also includes many kinds of non-text data files.

  • Related: object file, library, executable, blob
  • Neighbor concepts: artifact and executable

Binary doesn’t automatically mean executable

Some binaries are runnable (executable). Others are not: they might be libraries, intermediate objects, or data files.

What a program binary commonly contains

Program binaries usually contain more than “just code”:

  • machine code (instruction bytes)
  • metadata for loading (headers, segment/section tables)
  • symbol information (sometimes stripped in production)
  • relocation and dependency information (especially with dynamic linking)
  • optional debug information

Why the distinction matters

In operational conversations, “binary” is often used loosely. It helps to be precise:

  • “Do we have the right binary?” is about the correct build artifact/version.
  • “Is it executable?” is about whether the OS can load and start it.
  • “Does it behave correctly?” depends heavily on the runtime environment.

Mini-scenario

A binary is copied from an Intel machine to an ARM machine. The file is still a binary, but it isn’t usable there because the machine instructions inside target a different CPU architecture. This is a binary-level mismatch, not an application-level bug.