Salesforce ID Converter
Paste one Salesforce ID, a whole column or a SOQL query to convert 15-character IDs to 18 characters. 18-character IDs are checked too, and you can see which standard object each ID belongs to.
- Runs in your browser
- Nothing sent or saved
- No login needed
- Checks format, not records
🧩 What’s in a Salesforce ID
Section titled “🧩 What’s in a Salesforce ID”The first three characters, the key prefix, tell you the object: Account IDs start with 001 and Opportunity IDs with 006. A few objects share a prefix, so it doesn’t always pin down the object on its own.
The converter names the object from a list of more than 1,000 standard objects, exported from two Winter ’27 orgs. Where a prefix is shared, the converter lists every object the prefix can mean. A custom object gets its prefix when it’s created, so the same prefix can mean different objects in different orgs: a00 is an Equipment Request object in one of those orgs and a Fundraiser object in the other. IDs for custom objects, and for any standard object missing from the list, show as Unlisted prefix.
🆔 Why use 18 characters?
Section titled “🆔 Why use 18 characters?”Reports show 15-character IDs, while Data Loader, the weekly data export and the API return 18. You’ll often see them called 15-digit and 18-digit IDs, although they hold letters as well as digits. A 15-character Salesforce ID is case-sensitive: two IDs that differ only by letter case can belong to different records. Spreadsheets and many other systems treat uppercase and lowercase as equal, so a lookup or join can match the wrong record.
000000000000Abc000000000000aBC=A spreadsheet lookup sees the same ID
000000000000AbcAAE000000000000aBCAAY≠The suffixes keep them apart
The 18-character form adds three characters that record which letters are uppercase, which makes the ID case-safe in those comparisons. Use it in API calls too, with the case exactly as Salesforce returned it.
🧮 How the suffix is worked out
Section titled “🧮 How the suffix is worked out”Split the 15 characters into three chunks of five. In each chunk, an uppercase letter scores its position’s value, 1, 2, 4, 8 or 16 from left to right, and digits and lowercase letters score nothing. Each chunk’s total, from 0 to 31, picks one character from A to Z and then 0 to 5.
- Chunk 1010214x8x160 → A
- Chunk 2010204080160 → A
- Chunk 331D2H4u8r162 + 4 = 6 → G
001xx000003DHur + AAG = 001xx000003DHurAAG
That’s the algorithm Salesforce publishes, and 001xx000003DHurAAG matches the result in its CASESAFEID example.
Because the suffix only records case, it can’t catch a mistyped digit or the wrong lowercase letter, and a matching suffix doesn’t prove the record exists. It’s also why the converter can restore case: when a system has put a whole 18-character ID in capitals or lowercase, the suffix still says which letters were uppercase.
🔎 Understand the result
Section titled “🔎 Understand the result”Most results explain themselves. These are the ones that need a decision:
| Result | What to do |
|---|---|
| Already 18 characters; case suffix matches | Nothing to change. The check covers letter case only. |
| Suffix capitalisation normalised | Use the output: the suffix is back in capitals. |
| Case restoration available | Turn on Restore letter case from suffix if you trust the suffix. A typo in it restores a different ID. |
| Case information does not match, unsupported case suffix, or suffix marks a digit as uppercase | The ID changed after it left Salesforce. Copy it from Salesforce again. |
A 15-character ID that has already lost its case still converts, but the result is a different ID. Paste 15-character IDs exactly as Salesforce shows them.
📋 Work with a column
Section titled “📋 Work with a column”The converter keeps duplicates and blank rows, so the output lines up with the column you pasted from. Copy 18-character IDs becomes available once every non-blank row converts; until then, Show in input takes you to each problem. Copy and the report always cover the whole list, whichever page of results you’re viewing.
The summary above the results counts the IDs by object. When it starts with Mixed objects, check the column before you use it: a Contact ID in a list of Accounts converts like any other, and only the prefix gives it away.
Download CSV report gives one row per line of a column, or one row per ID found when the converter reads text, with line, item, input, output, status, input_omitted and object columns, even when rows fail. In text, item numbers the IDs on each line, and lines without an ID are left out. object holds the API name, so you can filter the report by object. Input that a spreadsheet could run as a formula is left out and flagged in input_omitted. Import the ID columns as text so the spreadsheet doesn’t reformat them.
📝 Paste IDs inside text
Section titled “📝 Paste IDs inside text”IDs don’t always arrive in a column. You might copy them from a SOQL query, a CSV row, a debug log or a chat message. When a line holds an ID alongside quotes, commas, tabs or other IDs, the converter reads the input as text instead of one ID per line, and a note under the input says so.
SELECT Id, Name FROM Account
WHERE Id IN ('001xx000003DHur', '001xx000003DHus')SELECT Id, Name FROM Account
WHERE Id IN ('001xx000003DHurAAG', '001xx000003DHusAAG')In text, the converter treats a run of 13 to 20 letters and digits as an ID when it holds at least one digit and one letter. Keywords and field names such as SELECT and AccountId, plain numbers and timestamps stay as text, while a damaged 14- or 17-character ID is still reported. So is an ID touching an unexpected character, such as an invisible one copied from a web page. Copy text with 18-character IDs returns everything you pasted, with each ID swapped for its 18-character form, so a converted SOQL query can go straight back into your editor.
If the converter guesses wrong, you can switch with Read one ID per line instead in the note. Copy as SOQL list works in both modes: it gives you each 18-character ID once, quoted and separated by commas, ready for an IN clause.
📚 Related guides and sources
Section titled “📚 Related guides and sources”The Salesforce sources behind this page:
- Salesforce’s 15-to-18-character conversion algorithm.
- CASESAFEID formula reference. Inside Salesforce,
CASESAFEID(Id)in a formula field gives you the 18-character ID without copying anything out. - Salesforce ID field reference.
- Locate the unique ID of a record, which covers where 15- and 18-character IDs come from.
- The
keyPrefixfield inDescribeSObjectResult, including the note that prefixes are sometimes shared.
