ForHosting KIT · Developer Utilities

Lookup an ASCII Character Code in Decimal, Hex, Octal, and Binary

The letter A is decimal 65, hexadecimal 0x41, octal 0o101 and binary 01000001. Type one character, a decimal code or a 0x code and get the full table entry, with invisible control characters shown in a readable way. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Value
0x41
You get
Character
A
Display
A
Decimal
65
Hex
0x41

This ASCII table lookup turns one character, decimal number, or hexadecimal number into a complete byte-level reference entry. It returns the corresponding character plus decimal, hexadecimal, octal, and eight-bit binary notation, along with a readable display value, control name when one exists, and printability information. Standard ASCII covers codes zero through 127, so the tool rejects a larger code by default instead of quietly presenting it as ordinary ASCII. When a legacy byte table genuinely requires values through 255, enable the explicit extended option.

Choose an unambiguous character or numeric code

Enter exactly one character when you want to discover its code. For example, A resolves to decimal 65, hexadecimal 0x41, octal 0o101, and binary 01000001. A one-character digit is treated as the digit character, so 7 means the glyph whose decimal code is 55.

To request a numeric code, use a multi-digit decimal value such as 65 or a hexadecimal value with a 0x prefix such as 0x41. Uppercase and lowercase hexadecimal digits are accepted, and surrounding whitespace around a numeric form is ignored. Multi-character words, signed values, fractions, incomplete hexadecimal prefixes, and unrelated notation are rejected because guessing would make automated results unreliable.

Use repeated requests when constructing a table or checking several protocol constants.

Read every representation in the returned entry

The response provides the actual character and a display field designed for interfaces and logs. Printable characters appear normally, while tab, line feed, carriage return, and other control values use visible escape notation so they do not alter the page or terminal. Decimal is returned as an integer.

Hexadecimal uses an uppercase, zero-padded 0x form; octal uses a zero-padded 0o form; and binary always contains eight digits, which makes byte comparisons align cleanly even though standard ASCII itself needs only seven bits. The optional name identifies standard controls such as NUL, HT, LF, CR, and DEL, and is otherwise null. The printable flag distinguishes displayable bytes from control codes, while set reports whether the result belongs to standard ASCII or the explicitly enabled extended byte area.

Finally, source records whether the input was interpreted as a character, decimal code, or hexadecimal code. Together these fields prevent a client from having to infer meaning from formatting and allow documentation, classroom exercises, debuggers, and generated tables to use the same stable response.

Understand standard ASCII and the extended option

By default, accepted codes run from 0 through 127, the complete standard seven-bit ASCII range. Set extended to true only when the source material is intentionally using an eight-bit byte table. Different historical code pages assign different glyph meanings to those bytes, so this tool uses the direct JavaScript Latin-1 code-unit mapping as a predictable byte-to-character display.

Even with extended mode enabled, negative values and values above 255 remain invalid. This fail-closed boundary catches accidental Unicode code points and malformed byte values early. No network, clock, randomness, or external table affects the calculation, so identical input and options always produce identical output.

Debug protocol constants

Convert a byte copied from a packet note or source file into matching character, decimal, hexadecimal, octal, and binary forms.

Prepare programming lessons

Give students a consistent ASCII entry with visible control escapes, conventional names, and aligned eight-bit binary output.

Validate legacy byte data

Keep standard ASCII strict by default, then explicitly permit byte values through 255 only for an intentional legacy workflow.

What inputs can I use?

Use one character, a decimal code such as 65, or a hexadecimal code such as 0x41.

Why is a one-digit input treated as a character?

A one-character string represents that literal character. Use its multi-digit decimal code, such as 55 for the character 7, when requesting by code.

What happens for a code above 127?

Extended mode allows byte values from 128 through 255.

How do I find which character has code 65?

Type 65, or 0x41 in hexadecimal, and the result is the letter A together with its octal and binary forms. A single digit on its own is read as a character, so use at least two digits for a code.

How are invisible characters like tab or line feed shown?

They appear in a visible escape form instead of moving the text around, together with their standard short name, such as HT for tab, LF for line feed or CR for carriage return.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/dev2/ascii-table-lookup

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/dev2/ascii-table-lookup \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"0x41"}'
{
  "value": "0x41"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.ascii_table_lookup",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Choose an unambiguous character or numeric code

The required value field is deliberately small and focused: each request returns one table entry rather than scanning a string. That contract makes the result easy to read in the browser and easy to consume from a script without splitting or ordering concerns.

Understand standard ASCII and the extended option

A character whose code is above 127, or a decimal or hexadecimal code in that area, produces an invalid_input error with guidance to enable extended mode. That option permits values from 128 through 255 and labels the result extended_byte; it does not claim that one universal extended ASCII encoding exists. The browser tool can be used without charge, while API execution uses prepaid KIT balance at $0.002 for each successful item.

Does extended mode select a historical code page?

No. Extended ASCII is not one universal standard; the tool returns a deterministic direct byte-to-character mapping and labels it extended_byte.

How much does the API request cost?

The browser tool is free. Each successful API item uses prepaid KIT balance at $0.002.

Read the full KIT documentation →