.pso-calculator {
background-color: #ffffff;
padding: 30px;
border-radius: 8px;
border: 1px solid #e0e0e0;
margin-bottom: 30px;
}
.pso-input-group {
margin-bottom: 20px;
}
.pso-input-group label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #333;
}
.pso-input-group input {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box; /* Important for padding */
}
.pso-input-group input:focus {
border-color: #3498db;
outline: none;
box-shadow: 0 0 5px rgba(52, 152, 219, 0.3);
}
.pso-btn {
background-color: #2c3e50;
color: white;
border: none;
padding: 12px 24px;
font-size: 16px;
border-radius: 4px;
cursor: pointer;
width: 100%;
transition: background-color 0.2s;
}
.pso-btn:hover {
background-color: #34495e;
}
#psoResultContainer {
margin-top: 25px;
padding: 20px;
border-radius: 4px;
display: none;
text-align: center;
}
.id-badge {
display: inline-block;
padding: 10px 30px;
border-radius: 50px;
font-size: 24px;
font-weight: bold;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
margin-bottom: 15px;
}
.calc-breakdown {
font-size: 14px;
color: #666;
margin-top: 10px;
border-top: 1px solid #eee;
padding-top: 10px;
}
/* Section ID Colors */
.bg-viridia { background-color: #2E8B57; }
.bg-greenill { background-color: #32CD32; }
.bg-skyly { background-color: #00BFFF; }
.bg-bluefull { background-color: #4169E1; }
.bg-purplenum { background-color: #8A2BE2; }
.bg-pinkal { background-color: #FF69B4; }
.bg-redria { background-color: #FF0000; }
.bg-oran { background-color: #FF8C00; }
.bg-yellowboze { background-color: #FFD700; color: #333 !important; text-shadow: none !important; }
.bg-whitill { background-color: #FFFFFF; color: #333 !important; border: 1px solid #ccc; text-shadow: none !important; }
.article-content h2 {
color: #2c3e50;
margin-top: 30px;
border-bottom: 2px solid #3498db;
padding-bottom: 10px;
}
.article-content h3 {
color: #34495e;
margin-top: 20px;
}
.article-content ul {
list-style-type: disc;
margin-left: 20px;
line-height: 1.6;
}
.article-content p {
line-height: 1.6;
color: #444;
}
.id-table {
width: 100%;
border-collapse: collapse;
margin-top: 15px;
}
.id-table th, .id-table td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
.id-table th {
background-color: #f2f2f2;
}
function calculateSectionID() {
var nameInput = document.getElementById("psoCharName").value;
var resultContainer = document.getElementById("psoResultContainer");
var badge = document.getElementById("psoIdBadge");
var details = document.getElementById("psoCalcDetails");
// Reset classes
badge.className = "id-badge";
if (!nameInput || nameInput.length === 0) {
alert("Please enter a character name.");
resultContainer.style.display = "none";
return;
}
// Calculation Logic
// 1. Sum the ASCII values of all characters
// 2. Add classes specific values if applicable (Classic PSO is just name sum)
// 3. Take last digit (Mod 10)
var totalAscii = 0;
var breakdownString = "";
for (var i = 0; i < nameInput.length; i++) {
var code = nameInput.charCodeAt(i);
totalAscii += code;
// Build breakdown string for first few chars to show logic
if (i 5) {
breakdownString += "… ";
} else {
// remove trailing " + "
breakdownString = breakdownString.substring(0, breakdownString.length – 3);
}
// The Formula: Sum % 10
var sectionIdIndex = totalAscii % 10;
var ids = [
{ name: "Viridia", class: "bg-viridia" }, // 0
{ name: "Greenill", class: "bg-greenill" }, // 1
{ name: "Skyly", class: "bg-skyly" }, // 2
{ name: "Bluefull", class: "bg-bluefull" }, // 3
{ name: "Purplenum", class: "bg-purplenum" },// 4
{ name: "Pinkal", class: "bg-pinkal" }, // 5
{ name: "Redria", class: "bg-redria" }, // 6
{ name: "Oran", class: "bg-oran" }, // 7
{ name: "Yellowboze", class: "bg-yellowboze" }, // 8
{ name: "Whitill", class: "bg-whitill" } // 9
];
var resultId = ids[sectionIdIndex];
// Display Results
badge.innerText = resultId.name;
badge.classList.add(resultId.class);
details.innerHTML = "
" +
"Sum of ASCII values: " + totalAscii + "" +
"Formula: " + totalAscii + " MOD 10 =
What is a PSO Section ID?
In Phantasy Star Online (PSO), the Section ID is a crucial mechanic that determines which items drop from monsters and boxes during your gameplay. Assigned at character creation, your Section ID is permanent and appears as a colored badge next to your character's name.
There are 10 distinct IDs, each with a unique bias toward specific item types, such as Hunter weapons (swords, partisans), Ranger weapons (rifles, shots), or Force weapons (canes, wands). Understanding your ID is essential for hunting specific rare items.
How to Use the PSO Section ID Calculator
This calculator replicates the exact algorithm used by the game engine to assign your ID. Follow these steps:
- Enter Character Name: Type the name exactly as you intend to use it in the game.
- Mind the Case: "Kireek" and "kireek" will result in different IDs because capital letters have different ASCII values than lowercase letters.
- Check Symbols: Spaces and symbols also contribute to the calculation.
The Calculation Formula
The game calculates your Section ID based on the ASCII (American Standard Code for Information Interchange) numerical value of every character in your name.
- Step 1: The game converts every letter in your name to its decimal ASCII code (e.g., 'A' = 65, 'a' = 97).
- Step 2: It sums these values together.
- Step 3: It takes the last digit of the total sum (mathematically known as Total Modulo 10).
For example, if the sum of your name's letters is 642, the last digit is 2, which corresponds to the Skyly ID.
Section ID Drop Chart Reference
Each ID number corresponds to a specific color and name. Use the table below to see what your calculated number means:
| Digit |
ID Name |
Color |
Primary Drop Bias |
| 0 | Viridia | Green | Shots & Partisans |
| 1 | Greenill | Lime | Rifles & Daggers |
| 2 | Skyly | Cyan | Swords & Rifles |
| 3 | Bluefull | Blue | Partisans & Rods |
| 4 | Purplenum | Purple | Mechguns & Daggers |
| 5 | Pinkal | Pink | Wands, Canes & Tech Disks |
| 6 | Redria | Red | Armor, Units & Slicers |
| 7 | Oran | Orange | Daggers, Swords & Wands |
| 8 | Yellowboze | Yellow | Balanced / Meseta |
| 9 | Whitill | White | Slicers & Mechguns |
Class-Based Exceptions
In standard versions of PSO (GameCube, Xbox, Blue Burst), the formula is strictly based on the name. However, certain classes in specific server patches may have slightly modified formulas. This calculator uses the standard "Name Sum Mod 10" algorithm applicable to the vast majority of PSO versions.