Free · no login · exact date and time
Twitter join date: the exact day an account was created, and its age
A profile on X only says "Joined" with a month and a year. Enter a username to see the exact date and time the account was created (UTC), how old it is in years and days, and how many times X reports its username has changed.
How the check works
- Where the date comes from. The creation date is read from X's own account data for that username. We do not estimate it from the first post or from the user ID. You can type
jack,@jackor paste the profile link. - Age. The age is the time between that timestamp and now. It is shown as whole years plus the days since the last anniversary, and as a total number of days.
- Username changes. This is the number of username changes X reports in its "About this account" data. It is a count only. The tool does not list the earlier usernames.
- When there is nothing to return. If X returns no account for the username, the tool says so. It does not guess a date.
The timeline in the result card runs from 2006, the year the service opened to the public, to the current year, with a marker at the year the account was created. It shows at a glance whether you are looking at an early account or a recent one.
Twitter join date on the profile vs. in this tool
| Detail | Profile page on X | This tool |
|---|---|---|
| Creation date | Month and year (the Joined line) | Full date |
| Time of day | Not shown | Hour, minute and second, in UTC |
| Age | You work it out yourself | Years and days, plus total days |
| Username changes | Not on the profile itself; listed under About this account | The count X reports |
All times are in UTC. An account created late in the evening in your time zone can fall on the next calendar day in UTC, so the day shown here may differ by one from the day you remember signing up.
Why Twitter account age matters
| Job | How the date helps |
|---|---|
| Judging a new account | An account created last week that claims a long history, or that speaks for a well-known brand, deserves more checking before you trust it. A recent date proves nothing on its own; it is one signal among several. |
| Spotting impersonators | When two profiles look the same, compare their creation dates. The recently created one is the one to question first. An older account can also be renamed into a copy, which is where the username change count helps. |
| Giveaway and community rules | Some giveaways and communities only accept accounts older than a set number of days. The total-days figure is the number to compare against such a rule. |
| Research and reporting | Creation dates let you group accounts by when they appeared, for example to see whether a set of accounts pushing the same message were all created close together. |
What the result cannot tell you
- Who owns the account. A creation date says when the account was registered, not by whom, and not who runs it today.
- Whether it was bought or sold. An account that changed hands keeps its original date. A high username change count on an old account is a reason to look closer, but it is not proof of a sale; people rename accounts for ordinary reasons.
- What it did before a rename. You get the number of username changes, not the earlier names or what was posted under them.
- Whether the account is trustworthy. Old accounts can be misleading and new accounts can be honest. Treat the age as one input, not a verdict.
Checking the age of many accounts?
The tool is for one account at a time. For a list, the same date is in the API. A profile lookup with /twitter/user/info returns it in data.createdAt as an ISO timestamp, and /twitter/user/batch_info_by_ids takes a comma-separated list of user IDs and returns createdAt for each account. Both are pay-as-you-go (see pricing). This example prints the age in days.
import requests
from datetime import datetime, timezone
HEADERS = {"X-API-Key": "YOUR_API_KEY"}
BASE = "https://api.twitterapi.io/twitter"
def parse_created(value: str) -> datetime:
"""createdAt is ISO here, e.g. 2007-12-19T20:20:32.000000Z.
The fallback covers the classic format the API uses on tweets."""
try:
return datetime.fromisoformat(value.replace("Z", "+00:00"))
except ValueError:
return datetime.strptime(value, "%a %b %d %H:%M:%S %z %Y")
def age_days(created_at: str) -> int:
return (datetime.now(timezone.utc) - parse_created(created_at)).days
def account_age(username: str) -> int | None:
"""One profile lookup. The user object is under data; a missing handle is status "error"."""
body = requests.get(f"{BASE}/user/info", headers=HEADERS,
params={"userName": username}, timeout=20).json()
data = body.get("data") or {}
if body.get("status") != "success" or data.get("unavailable"):
return None # not found, or suspended
return age_days(data["createdAt"])
def ages_by_id(user_ids: list[str]) -> dict[str, int]:
"""Many IDs in one call. Returns {userName: age in days}."""
body = requests.get(f"{BASE}/user/batch_info_by_ids", headers=HEADERS,
params={"userIds": ",".join(user_ids)}, timeout=30).json()
return {u["userName"]: age_days(u["createdAt"])
for u in body.get("users", []) if u.get("createdAt")}
print(account_age("NASA"), "days")
print(ages_by_id(["12", "2244994945"]))Get a free API key →Questions
How do I know when I opened my Twitter account?
Type your username in the tool above. It returns the exact date and time (UTC) your account was created and how old it is in years and days. Your profile page on X also shows a Joined line, but only with the month and year.
How do I check my account creation date?
Enter the username, with or without the @, or paste the profile link, then press Check age. The same steps work for your own account and for any other username X returns account data for. You do not need to log in to X.
How do I check the origin of a Twitter account?
This tool answers two narrow parts of that question: when the account was created, and how many times X reports its username has changed. It does not show who is behind an account, who created it, or whether it has changed hands.
Does the creation date change when an account changes its username?
No. The creation date belongs to the account, not to the username. A renamed account keeps its original date, which is why an old date next to a username you have never seen before is worth a second look at the username change count.
Why does X show only the month and year?
The Joined line on a profile is a short summary. X keeps the full timestamp in the account data, and that is what this tool reads and displays, to the second, in UTC.
Is the check free? What do you store?
Yes, 20 checks a day per visitor without signing in, more with a free Google sign-in. We log each check (time, the username checked, result) to prevent abuse; we don't sell or publish them. Results for the same account are reused for up to 15 minutes.