What is the CUL file format?
.cul is a Windows Cursor Library file - a 32-bit Windows PE DLL containing a collection of cursor resources rather than executable code. The file carries the standard MZ magic bytes of any Windows PE binary and can hold both static .cur cursors and animated .ani cursors as RT_CURSOR and RT_ANICURSOR resource entries respectively.
Because .cul files are valid PE DLLs, they can be accessed using standard Windows API calls: LoadLibrary() loads the file, EnumResourceNames() lists the contained cursors, and LoadCursor() retrieves individual cursors for use in applications.
The format was introduced in the mid-1990s by Windows cursor editing software - principally IconForge (CursorArts) and CursorWorkshop (Axialis Software) - as a convenient way to package and distribute themed cursor sets. A single .cul library can contain dozens of cursors covering all standard Windows pointer states.
Key characteristics:
- Cursor images support color depths from 1-bit monochrome to 32-bit ARGB with alpha transparency
- Standard cursor sizes: 32×32, 48×48, 64×64, and 128×128 pixels
- The file contains no executable code - only resource data
- Can be inspected or modified with resource editors such as Resource Hacker
- Typical file size: 50 KB to 5 MB depending on the number and resolution of included cursors
Security & safety
RISK: LOWCUL is a PE binary, so antivirus may scan it. A legitimate CUL contains only cursor resources with no executable code sections. Verify with Resource Hacker that the file has no CODE section before trusting files from unknown sources.
Format details
in a nutshellPrograms that open CUL files
Technical details
deep spec| Magic bytes | MZ (4D 5A) - standard Windows PE executable/DLL header at offset 0 |
| Encoding | Binary |
| Byte order | Little-endian |
| Container | Windows PE DLL (32-bit, resource-only - no executable code) |
| Resource types | RT_CURSOR (static .cur) and RT_ANICURSOR (animated .ani) |
| Color depth | 1-bit monochrome to 32-bit ARGB (with alpha transparency) |
| Standard cursor sizes | 32×32, 48×48, 64×64, 128×128 pixels |
| Executable code | None - data/resource section only |
| API access | LoadLibrary(), EnumResourceNames(), LoadCursor() |
| Typical file size | 50 KB - 5 MB (varies by cursor count and resolution) |
| Platform | Windows only |
| Integrity check | PE optional header checksum field present; rarely enforced for resource-only DLLs |
| Released | mid-1990s (Windows cursor editing tools era) |
| Latest version | No versioned spec; format is a standard Windows PE resource DLL |
CUL conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about CUL files.