Practical Codex Pet Format
See the artifact type and intended surface currently held in the browser.
A file can be valid JSON or WebP while still using the wrong fields, dimensions, rows, frames, or transparent cells for a Codex pet. Choose an artifact family to separate byte checks, the published OpenAI local-pet contract, Web upload rules, and runtime evidence. Start with the local, reversible action described by this practical codex pet format guide; its evidence boundary remains visible.
LOCAL TOOLUse the first control. No sample output is presented as evidence.
Choose JSON, PNG, WebP, ZIP, or a Web upload to compare bytes with the published contract. OpenAI publishes pet.json plus a fixed 8×9 atlas for local custom pets. ZIP remains a transport container, not an official installer format.
The workspace reports the selection, current local result, source category, and remaining limitation without presenting an empty field as proof.
See the artifact type and intended surface currently held in the browser.
Read one conclusion from the visible inputs.
See which record or test remains missing.


This tool handles one page decision, keeps processing local, and exposes evidence limits, next links, and corrections.
Valid JSON is not automatically a valid package.
A PNG signature and dimensions do not establish frame or state mapping.
Check the four manifest fields, fixed atlas geometry, row order, frame counts, and transparent unused cells.
Do not turn absent format documentation into a guessed rule.
OpenAI publishes pet.json plus a fixed 8×9 atlas for local custom pets. ZIP remains a transport container, not an official installer format. Before anyone acts, keep that boundary in plain view.



The documented fields are id, displayName, description, and spritesheetPath.
Transparent PNG or WebP, 1536×1872, 8×9 cells, 192×208 per cell, with unused cells empty.
Nine fixed rows use 57 frames with published per-frame timing.
ZIP can transport the two-file folder, but safe extraction and integrity still require separate checks.
Upload pet accepts a transparent 1536×1872 PNG or WebP up to 20 MiB; pet.json is not required.
Choose an artifact family to separate byte checks, the published OpenAI local-pet contract, Web upload rules, and runtime evidence. Keep local facts separate from cited guidance, named profiles, dated observations, and unverified extension or installer convention.
The OpenAI hatch-pet references publish the local pet.json, spritesheet geometry, nine action rows, frame counts, and timing.
The local folder contains pet.json and spritesheet.webp beneath ${CODEX_HOME:-$HOME/.codex}/pets/<pet-name>/.
Web Upload pet accepts the same 1536×1872 transparent PNG or WebP geometry up to 20 MiB without pet.json.
JSON syntax can be checked deterministically, then the four documented manifest fields can be checked separately.
Archive contents need traversal, absolute-path, duplicate-entry, and size review before extraction is considered.
A filename extension is only a hint; byte signatures and decoder results provide stronger file-type evidence.
The fixed atlas uses 8 columns, 9 rows, 192×208 cells, 57 used frames, and transparent unused cells.
The spritesheetPath value stays relative to the documented pet folder and resolves to spritesheet.webp.
Repeat the same check with the same visible input and compare the results.
Cite the first-party source and date behind a format fact.
Name the non-official profile, version, and publisher.
Active work; not verification of format fact.
A request for attention; not evidence about unverified extension or installer convention.
An activity state; not installation or rights confirmation.
Interrupted published package contract; not resource rejection.
Desktop, Web, CLI, and IDE create different evidence needs for this published package contract. Product facts below were checked on 2026-07-26.
Name the intended product and environment before relying on a result.
| Context | Evidence and limitation |
|---|---|
| Desktop | The reviewed OpenAI hatch-pet contract defines a local folder containing pet.json and spritesheet.webp. |
| Web | The documented web artifact is a transparent PNG or WebP, exactly 1536×1872, with a maximum size of 20 MiB. |
| CLI and terminal | Compatible local custom pets use the same package contract; visible rendering still depends on terminal graphics support. |
| Windows, WSL, and IDE | The reviewed sources do not publish a Windows-specific path, and the IDE extension provides no pet picker. |
This local format control creates a format fact without changing browser history or resolving the unverified extension or installer convention.
Supply only the needed artifact type and intended surface.
Create the format fact in this tab.
Compare the result with its stated limitation.
Open the matching evidence route.
Clear local input without changing history.
Preserve the original input and current environment before changing a file, setting, or install state. Make one observable change at a time and record the result before continuing.
Keep diagnosis, implementation, verification, and correction as separate stages.
Name the product or runtime expected to use the artifact.
Record file family, package version, and profile source.
Inspect syntax, signatures, dimensions, or archive structure within explicit bounds.
Cite the exact profile rule, test date, result, and limitation.
Useful evidence names the claim, resource, version, method, date, result, and limitation.
| Context | Evidence and limitation |
|---|---|
| Consumer named | The intended product or runtime is explicit. |
| Contract sourced | Format rules cite the OpenAI hatch-pet contract and checked date. |
| Bytes identified | The extension agrees with deterministic family evidence. |
| Structure bounded | Parser size, depth, entry, and path limits are explicit. |
| Semantics sourced | State rows and field meanings come from the published animation-row reference. |
| Compatibility separate | Format validity is not presented as runtime support. |
| Source category | Label official, community, test, report, or Unknown. |
| Checked date | Date time-sensitive evidence. |
| Version | Record affected product and resource versions. |
| Limitation | Name what remains unproven. |
| Correction route | Keep a path for evidence challenges. |
| Privacy review | Remove secrets, personal data, and private paths. |
Official facts, community profiles, tests, and unknown claims stay separate.
This evidence track cites the strongest source and leaves missing facts visible.
Use current first-party Pets guidance for product behavior and workflow facts.
Read current sourceName the non-official format source, version, and checked date.
codex pet validatorRecord a reproducible environment, method, outcome, and limitation.
codex pet compatibilityRoute missing, stale, or contested evidence to verification and contact.
contact codex petsThese visible answers describe current behavior and limits; no FAQ structured data or search appearance is promised.
Yes for local custom pets: pet.json plus a fixed transparent spritesheet. ZIP transport, registries, signatures, and installers are not part of the reviewed contract.
No. Syntax, profile conformance, asset consistency, and runtime compatibility are different checks.
No. Dimensions are byte evidence; row or frame meaning comes from a named profile.
Products and community conventions change. A date makes the evidence reviewable and replaceable.
No. Your input stays in local browser state while this page creates the format fact.
No. This independent published package contract cites first-party documentation only for the specific product facts it describes.
Unknown means the available evidence is not sufficient to support a conclusion for the current context.
Recheck the format fact after its product, environment, source, permission, or review method changes.
Every link reaches a real P0 route with descriptive anchor text and a matching intent.
Return to the first control, add only the artifact type and intended surface, and compare the format fact with its limit.