This is a searchable, cross-platform errno reference — the integer error codes that Unix system calls set to explain a failure. It puts the Linux and macOS/BSD numeric values side by side, because while the low codes match, the two families diverge above 34 and assign different numbers to the same name.
How it works
When a system call fails it returns −1 (or NULL) and sets the thread-local errno to a value identifying the cause. Each value has a symbolic name (ENOENT, EACCES, EAGAIN) defined in errno.h, and a human-readable string you can fetch with strerror. Values 1 to 34 are nearly identical across Linux, macOS and BSD. Above that, the numbering diverges — for example EAGAIN is 11 on Linux but 35 on macOS, and EDEADLK swaps the other way. This tool shows both numbers for each name so you never confuse them. Search by name, by either platform’s number, or by keyword.
Why you should match by name
A program that hard-codes if (err == 35) works on macOS but silently misbehaves on Linux. Always compare against the symbolic constant (if (err == EAGAIN)), which the compiler resolves to the correct number for the build target. The numeric columns here are for decoding logs and core dumps, not for writing comparisons.
Example
Decoding a failed open() from a strace or log line:
open("/etc/app.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
ENOENT (2) tells you the file or a directory in its path does not exist — create it, fix the path, or check the working directory. Everything in this tool runs in your browser; nothing is uploaded.