Last updated
Twitter Snowflake ID Decoder Online Free — Examples
The Twitter Snowflake ID Decoder Online Free decodes any Twitter ID instantly in your browser — completely free, no registration, no limits. All processing happens locally in JavaScript, so your IDs never leave your device. Here are examples of what the decoder does and how to use it.
What the Decoder Produces
For any Twitter ID, the decoder shows:
- UTC datetime (e.g., "May 26, 2022 14:30:00 UTC")
- Local datetime (adjusted to your browser's timezone)
- ISO 8601 format (e.g., "2022-05-26T14:30:00.000Z")
- Unix timestamp in seconds and milliseconds
- Account/tweet age from now
- Datacenter ID, Worker ID, and Sequence number
- Binary representation with color-coded components
The Decoding Algorithm (Runs in Your Browser)
// This is exactly what the free online decoder runs
// No data is sent to any server
function decodeSnowflake(idStr) {
const id = BigInt(idStr);
const TWITTER_EPOCH = 1288834974657n; // Nov 4, 2010 UTC
const timestampMs = (id >> 22n) + TWITTER_EPOCH;
const datacenterId = Number((id >> 17n) & 0x1Fn);
const workerId = Number((id >> 12n) & 0x1Fn);
const sequence = Number(id & 0xFFFn);
const date = new Date(Number(timestampMs));
return {
utc: date.toUTCString(),
iso8601: date.toISOString(),
unixMs: timestampMs.toString(),
unixSeconds: Math.floor(Number(timestampMs) / 1000),
local: date.toLocaleString(),
datacenterId,
workerId,
sequence
};
}
// Example
console.log(decodeSnowflake("1529877576591609861"));
Batch Decoding Example
// Decode multiple IDs at once — paste a list into the decoder
function batchDecode(idsText) {
const ids = idsText
.split("\n")
.map(line => line.trim())
.filter(line => /^\d+$/.test(line));
return ids.map(id => ({
id,
...decodeSnowflake(id)
}));
}
// Example input (paste into the decoder's batch field)
const input = `1529877576591609861
1700000000000000000
1800000000000000000
1900000000000000000`;
const results = batchDecode(input);
results.forEach(r => console.log(`${r.id} → ${r.iso8601}`));
Reverse Decode: Date to ID
// Find the minimum Snowflake ID for a given date
// Use as since_id in Twitter API queries
function dateToMinSnowflakeId(dateStr) {
const date = new Date(dateStr);
const TWITTER_EPOCH = 1288834974657n;
const tsMs = BigInt(date.getTime()) - TWITTER_EPOCH;
if (tsMs < 0n) {
throw new Error("Date is before Twitter's Snowflake epoch (Nov 4, 2010)");
}
return (tsMs << 22n).toString();
}
// Examples
console.log(dateToMinSnowflakeId("2023-01-01")); // Min ID for Jan 1, 2023
console.log(dateToMinSnowflakeId("2024-01-01")); // Min ID for Jan 1, 2024
Extracting IDs from Twitter URLs
// The decoder automatically extracts IDs from Twitter/X URLs
function extractAndDecode(input) {
let idStr = input.trim();
// Extract from URL if needed
const urlMatch = input.match(/\/status\/(\d+)/);
if (urlMatch) idStr = urlMatch[1];
// Validate
if (!/^\d+$/.test(idStr)) {
return { error: "Could not find a valid Twitter ID" };
}
return decodeSnowflake(idStr);
}
// Works with all these input formats:
const inputs = [
"1529877576591609861",
"https://twitter.com/user/status/1529877576591609861",
"https://x.com/user/status/1529877576591609861",
];
inputs.forEach(input => {
const result = extractAndDecode(input);
console.log(result.iso8601);
});
Privacy: Why Client-Side Decoding Matters
The decoder runs entirely in your browser. This means:
- Your IDs are never transmitted to any server
- No logs are kept of what IDs you decode
- Safe to use with private or sensitive tweet IDs
- Works offline once the page is loaded
- No account or API key required
Export Results as CSV
// Export batch decode results as CSV
function exportToCsv(results) {
const header = "tweet_id,created_at_utc,unix_ms,datacenter_id,worker_id,sequence";
const rows = results.map(r =>
`${r.id},${r.iso8601},${r.unixMs},${r.datacenterId},${r.workerId},${r.sequence}`
);
const csv = [header, ...rows].join("\n");
// Download in browser
const blob = new Blob([csv], { type: "text/csv" });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "twitter_ids_decoded.csv";
a.click();
}
// Usage
const ids = ["1529877576591609861", "1700000000000000000"];
const results = ids.map(id => ({ id, ...decodeSnowflake(id) }));
exportToCsv(results);
No Limits, No Registration
The free online decoder has no restrictions:
- No daily decode limits
- No account required
- No API key needed
- No premium tier — all features are free
- Works on desktop, tablet, and mobile
- No software to install
Whether you need to decode one ID or thousands, the free online decoder handles it instantly, right in your browser.