MeridianMERIDIAN

TSID

technology.identifier.tsid

Time-Sorted ID, as defined by the tsid-creator reference implementation: a 64-bit value (42 bits of milliseconds since 2020-01-01T00:00:00Z, 10 node bits, 12 counter bits) written as 13 Crockford base32 characters. The first character is at most F because the value is 64 bits. Crockford decoding is case insensitive, so lower case is accepted. The published rule keeps to the canonical alphabet; decoders may also map I and L to 1 and O to 0, which is leniency in decoding, not part of the format.

Casts to
VARCHAR

Shape

Pattern
^[0-9A-Fa-f][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{12}$
ValueLengthShape
0JMVQ049NFN6K13matches
0SFTS78GP0CQ713matches
0T3WM4QFBK5NV13matches
0JMVQ049NFN612rejected: one character short

Detection notes

The same 64-bit value can also be stored as an integer, which finetype types as an integer rather than as a tsid. Distinguishing a tsid from another 13-character alphanumeric ID needs a header or a timestamp check.

Use it

CLI · DuckDB
$ finetype infer -i "0JMVQ049NFN6K" --mode column
→ technology.identifier.tsid

SELECT ft_infer('0JMVQ049NFN6K');
-- → 'technology.identifier.tsid'
Cast expression
CAST({col} AS VARCHAR)

Schema

https://meridian.online/schemas/technology.identifier.tsid · Frictionless type string

finetype taxonomy technology.identifier.tsid -o json-schema

Type Registry