Free tool

ionCube file checker

Find out which PHP version an ionCube-encoded file was built for and whether it can be decoded, before you pay anything. Drop single .php files or a whole project ZIP. The check runs in your browser and your files never leave your device.

Check your files

Drop .php files or a ZIP here, or click to choose

Runs in your browser. Files are never uploaded.

How to tell which PHP version an ionCube file targets

Every modern ionCube file opens with a one-line preamble that lists the PHP versions it carries bytecode for. You can read it yourself in any text editor:

<?php //ICB0 72:0 81:1ba5 82:284d ?>
  • ICB0 marks the current ionCube file format.
  • Each NN:offset pair is one PHP target: 72 is PHP 7.2, 81 is PHP 8.1, 82 is PHP 8.2. The hex number after the colon is where that section starts in the file.
  • The lowest target is the encoder PHP version. A file can be decoded when at least one of its sections has a decoder: this example has a PHP 7.2 section, so it can be.
  • Files that start with <?php //00 and a run of hex digits use the legacy format, which does not list targets.

What the results mean

Decodable
Has a section for PHP 5.0, 5.3–5.6, 7.0, 7.1, 7.2 or 7.4. Included in the decode quote.
Likely (legacy format)
Older format without a target list. Usually decodes; confirmed at quote time.
Not supported
Only PHP 7.3 or PHP 8.x sections. We cannot decode it and do not charge for it.
Encoded (version unread)
Encoded, but the first line lists no PHP version. Included in the quote; the decode result shows the outcome.
Plain PHP
Not encoded. Copied through to your output unchanged and never charged.

The full version matrix is on the compatibility page. Only check and decode code you own or are authorized to recover; see the terms.

Questions

How do I find out which PHP version an ionCube file was encoded for?

Open the file in a text editor and read the first line. Modern ionCube files start with a line such as <?php //ICB0 72:0 81:1ba5 82:284d ?>. Each pair before a colon is a PHP version without the dot (72 = PHP 7.2). A file can be decoded when at least one of those sections has a decoder. This checker reads that line for you.

Are my files uploaded when I use the checker?

No. The checker runs in your browser with the File API. It reads the first 4 KB of each .php file, including files inside ZIP archives, and nothing is sent to our servers.

Which ionCube files can be decoded?

A file can be decoded when it carries a section for PHP 5.0, 5.3–5.6, 7.0, 7.1, 7.2 or 7.4, even if it also carries PHP 8.1 or 8.2 sections. Files whose only sections are PHP 7.3 or PHP 8.x cannot be decoded by our service, and the checker marks them as not supported.

What does "likely (legacy format)" mean?

Older ionCube files start with <?php //00 followed by hex digits and do not list their PHP targets. They are usually PHP 5 era files that decode, and the result is confirmed when the order is quoted.