ASCII Table
The complete 7-bit ASCII table — all 128 characters from NUL (0) to DEL (127). Each entry gives the decimal, hexadecimal, and octal value, the character or control-code abbreviation, a human-readable name, a category, and whether the character is printable.
Quick fetch
Stable URL. CORS-enabled. No auth.
curl https://staticdata.dev/v1/ascii.json
Or use as a typed import:
import { ascii } from "https://staticdata.dev/v1/ascii.ts"
Formats
- JSON 19.0 KB
/v1/ascii.json
min: 13.0 KB · /v1/ascii.min.json
- CSV 4.1 KB
/v1/ascii.csv
- TypeScript 19.2 KB
/v1/ascii.ts
export const ascii
type AsciiChar = (typeof ascii)[number]
Schema
Each record in the dataset has the following shape.
| Field | Type | Description | Example |
|---|---|---|---|
| decimal | number | Decimal code (0–127) | 65 |
| hex | string | Two-digit hexadecimal code | 41 |
| octal | string | Three-digit octal code | 101 |
| char | string | The character, or abbreviation for control/space | A |
| name | string | Character name or description | A |
| category | string | control, digit, letter, or punctuation | letter |
| printable | boolean | Whether the character is printable (32–126) | true |
Preview
First 10 records.
| decimal | hex | octal | char | name | category |
|---|---|---|---|---|---|
| 0 | 00 | 000 | NUL | Null | control |
| 1 | 01 | 001 | SOH | Start of Heading | control |
| 2 | 02 | 002 | STX | Start of Text | control |
| 3 | 03 | 003 | ETX | End of Text | control |
| 4 | 04 | 004 | EOT | End of Transmission | control |
| 5 | 05 | 005 | ENQ | Enquiry | control |
| 6 | 06 | 006 | ACK | Acknowledge | control |
| 7 | 07 | 007 | BEL | Bell | control |
| 8 | 08 | 010 | BS | Backspace | control |
| 9 | 09 | 011 | HT | Horizontal Tab | control |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/ascii.json | jq '.[0]' import type { AsciiChar } from "https://staticdata.dev/v1/ascii.ts";
const res = await fetch("https://staticdata.dev/v1/ascii.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const ascii: AsciiChar[] = await res.json();
console.log(ascii[0]); import urllib.request, json
with urllib.request.urlopen("https://staticdata.dev/v1/ascii.min.json") as r:
ascii = json.load(r)
print(ascii[0]) package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://staticdata.dev/v1/ascii.min.json")
if err != nil { panic(err) }
defer resp.Body.Close()
var data []map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
panic(err)
}
fmt.Println(data[0])
} use serde_json::Value;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let body = ureq::get("https://staticdata.dev/v1/ascii.min.json").call()?.into_string()?;
let data: Vec<Value> = serde_json::from_str(&body)?;
println!("{:?}", data.first());
Ok(())
} Sources and methodology
A generated table of US-ASCII, the 7-bit character encoding that underlies UTF-8 and nearly every text format in use. The 128 codepoints are emitted in order from 0 to 127.
The first 32 codes (0–31) plus 127 are control characters; their char field holds the standard abbreviation (NUL, ESC, CR, LF, …) and name the full description. Code 32 is shown as SP / “Space”; it is printable, but because the category field has no whitespace value it is grouped under control — test printable (or decimal === 32) rather than category if you need to tell it apart. Codes 33–126 are the printable graphic characters and carry the literal character in both char and name. The category field classifies each as control, digit, letter, or punctuation, and printable is true for the visible range 32–126.
Versioning
URLs under /v1/ are stable: field names and types will not change in a way
that breaks consumers. Values can be corrected or records added when the upstream source
changes; schema-incompatible updates ship under a new version path. See the
ascii changelog for this dataset's history.
Related datasets
More Code datasets
- ansi-colors
- cron-presets
- css-at-rules
- css-functions
- css-named-colors
- css-properties
- css-pseudo-classes
- css-pseudo-elements
- css-units
- data-units
- exit-codes
- file-signatures
- hash-algorithms
- js-array-methods
- js-math-methods
- js-object-methods
- js-string-methods
- json-schema-keywords
- jwt-claims
- mathematical-constants
- measurement-units
- node-builtin-modules
- owasp-top-10
- periodic-table
- physical-constants
- posix-signals
- programming-languages
- regex-flags
- regex-patterns
- roman-numerals
- si-base-units
- si-derived-units
- si-prefixes
- spdx-licenses
- strftime-tokens
- tailwind-colors
- time-units
- unicode-general-categories
- unicode-planes
- unix-file-permissions
- xterm-256-colors