DEVTOOLBOX / REFERENCE CARDS

Downloadable reference cards

Three printable reference cards: the full ASCII table, HTTP status codes, and Unix permission digits. The numbers come from the same source as the tables below, and the PDFs are laid out at build time, so the two can never drift apart.

ASCII and code-point reference card

All 128 ASCII code points with decimal, hex, category and UTF-8 width

Download PDF 3 pages · v1.0

The first thing to check when text looks wrong is the code point, not the character. This card lists every one of the 128 ASCII code points with its decimal value, hex value, control abbreviation or glyph, category, and UTF-8 width, so a mismatch can be traced to a number instead of a guess.

When you need it

DecHexChar or nameCategoryUTF-8 bytes
00x00NULControl1
10x01SOHControl1
20x02STXControl1
30x03ETXControl1
40x04EOTControl1
50x05ENQControl1
60x06ACKControl1
70x07BELControl1
80x08BSControl1
90x09TABControl1
100x0ALFControl1
110x0BVTControl1
120x0CFFControl1
130x0DCRControl1
140x0ESOControl1
150x0FSIControl1
160x10DLEControl1
170x11DC1Control1
180x12DC2Control1
190x13DC3Control1
200x14DC4Control1
210x15NAKControl1
220x16SYNControl1
230x17ETBControl1
240x18CANControl1
250x19EMControl1
260x1ASUBControl1
270x1BESCControl1
280x1CFSControl1
290x1DGSControl1
300x1ERSControl1
310x1FUSControl1
320x20(space)Whitespace1
330x21!Punctuation1
340x22"Punctuation1
350x23#Punctuation1
360x24$Punctuation1
370x25%Punctuation1
380x26&Punctuation1
390x27'Punctuation1
400x28(Punctuation1
410x29)Punctuation1
420x2A*Punctuation1
430x2B+Punctuation1
440x2C,Punctuation1
450x2D-Punctuation1
460x2E.Punctuation1
470x2F/Punctuation1
480x300Digit1
490x311Digit1
500x322Digit1
510x333Digit1
520x344Digit1
530x355Digit1
540x366Digit1
550x377Digit1
560x388Digit1
570x399Digit1
580x3A:Punctuation1
590x3B;Punctuation1
600x3C<Punctuation1
610x3D=Punctuation1
620x3E>Punctuation1
630x3F?Punctuation1
640x40@Punctuation1
650x41AUppercase1
660x42BUppercase1
670x43CUppercase1
680x44DUppercase1
690x45EUppercase1
700x46FUppercase1
710x47GUppercase1
720x48HUppercase1
730x49IUppercase1
740x4AJUppercase1
750x4BKUppercase1
760x4CLUppercase1
770x4DMUppercase1
780x4ENUppercase1
790x4FOUppercase1
800x50PUppercase1
810x51QUppercase1
820x52RUppercase1
830x53SUppercase1
840x54TUppercase1
850x55UUppercase1
860x56VUppercase1
870x57WUppercase1
880x58XUppercase1
890x59YUppercase1
900x5AZUppercase1
910x5B[Punctuation1
920x5C\Punctuation1
930x5D]Punctuation1
940x5E^Punctuation1
950x5F_Punctuation1
960x60`Punctuation1
970x61aLowercase1
980x62bLowercase1
990x63cLowercase1
1000x64dLowercase1
1010x65eLowercase1
1020x66fLowercase1
1030x67gLowercase1
1040x68hLowercase1
1050x69iLowercase1
1060x6AjLowercase1
1070x6BkLowercase1
1080x6ClLowercase1
1090x6DmLowercase1
1100x6EnLowercase1
1110x6FoLowercase1
1120x70pLowercase1
1130x71qLowercase1
1140x72rLowercase1
1150x73sLowercase1
1160x74tLowercase1
1170x75uLowercase1
1180x76vLowercase1
1190x77wLowercase1
1200x78xLowercase1
1210x79yLowercase1
1220x7AzLowercase1
1230x7B{Punctuation1
1240x7C|Punctuation1
1250x7D}Punctuation1
1260x7E~Punctuation1
1270x7FDELControl1

Related tools: ASCII / Code Point LookupUnicode EscapeHex Encode / DecodeText Statistics

HTTP status code reference card

Every registered status code from RFC 9110 and its extensions, grouped by class

Download PDF 2 pages · v1.0

A status code is not a label for how the request felt, it is a machine-readable statement about what happened. This card lists the registered codes with the reason phrase and the one detail that changes the fix — which codes must not carry a body, which ones are cacheable, and which ones ask the client to retry differently.

When you need it

CodeReason phraseWhat it commits you to
100ContinueHeaders received; the client may send the body
101Switching ProtocolsWebSocket upgrades happen here
102ProcessingWebDAV; accepted, still working
103Early HintsPreload hints before the final response
200OKMeaning varies by method: GET returns a body, POST a result
201CreatedShould carry Location for the new resource
202AcceptedAccepted, not finished; poll somewhere
203Non-Authoritative InformationBody altered by a proxy
204No ContentNo body allowed; metadata headers still legal
205Reset ContentClient should reset the form view
206Partial ContentPairs with Content-Range; the basis of resuming
207Multi-StatusWebDAV; XML multi-status body
208Already ReportedWebDAV; avoids re-enumeration
226IM UsedDelta encoding applied
300Multiple ChoicesClient picks a representation
301Moved PermanentlyCacheable; the method may be rewritten to GET
302FoundTemporary; historical clients rewrite the method
303See OtherExplicitly switch to GET for the result
304Not ModifiedMust carry validators and no body
305Use ProxyDeprecated
307Temporary RedirectMethod and body preserved
308Permanent RedirectPermanent 307; cacheable
400Bad RequestSyntax or parameters invalid
401UnauthorizedMissing credentials; send WWW-Authenticate
402Payment RequiredReserved, never enabled
403ForbiddenIdentity known, permission missing; retrying will not help
404Not FoundAlso used to conceal whether a resource exists
405Method Not AllowedMust carry Allow
406Not AcceptableAccept negotiation failed
407Proxy Authentication RequiredProxy-level authentication
408Request TimeoutServer gave up waiting for the request
409ConflictState conflict, typically concurrent writes
410GoneWas here, deliberately gone; safe to purge from an index
411Length RequiredContent-Length is required
412Precondition FailedAn If-Match style precondition failed
413Content Too LargeBody exceeds the server limit
414URI Too LongTarget URI too long
415Unsupported Media TypeContent-Type not supported
416Range Not SatisfiableShould carry Content-Range: bytes */length
417Expectation FailedExpect header cannot be met
418I'm a teapotAn April 1st joke that RFC 9110 still reserves
421Misdirected RequestConnection reused for a host it does not serve
422Unprocessable ContentSyntax fine, semantics rejected
423LockedWebDAV resource locked
424Failed DependencyWebDAV; a prior action failed
425Too EarlyAnti-replay; early data refused
426Upgrade RequiredProtocol upgrade demanded
428Precondition RequiredConditional request required to avoid lost updates
429Too Many RequestsShould carry Retry-After
431Request Header Fields Too LargeHeader block exceeds the limit
451Unavailable For Legal ReasonsUnavailable for legal reasons
500Internal Server ErrorUnexpected failure; do not leak internals
501Not ImplementedMethod not recognised
502Bad GatewayUpstream returned an invalid response
503Service UnavailableOverload or maintenance; send Retry-After
504Gateway TimeoutUpstream timed out
505HTTP Version Not SupportedProtocol version unsupported
506Variant Also NegotiatesContent negotiation misconfigured
507Insufficient StorageWebDAV; out of space
508Loop DetectedWebDAV; loop detected
510Not ExtendedAn extension is required
511Network Authentication RequiredCaptive portal, typically public Wi-Fi

Related tools: HTTP Status CodesURL ParserUser Agent Parser

Unix permission reference card

Octal digits, rwx triplets, special bits and the modes you actually type

Download PDF 1 pages · v1.0

Permissions are three independent digits, and almost every incident comes from reading them as one word. This card gives what each octal digit prints and grants, what the special bits do, and the modes that show up in real deployments — including why a directory needs the execute bit to be entered even when it is readable.

When you need it

DigitPrints asGrants
0---No permission at all
1--xExecute only; traverse an exact known path
2-w-Write only; truncate and append work, reading does not
3-wxDrop-box: create and remove by name, no enumeration
4r--Read only; scripts will not run, directories can be listed
5r-xThe usual directory mode
6rw-The usual data-file mode
7rwxFull control; the executable-file mode

Related tools: Unix Permission CalculatorExtract ZIP ArchiveCreate ZIP Archive

Reviewed PDFs are generated at build time with English labels (embedded Helvetica, Latin characters only)