Canonical socionics data and query library. Covers all 16 types, 16 intertype relations, 8 functions, quadras, clubs and temperaments — structured for use in any JavaScript project.
No dependencies. No build step. Works in Node.js 12+.
npm install socionics-coreconst socionics = require('socionics-core');
// Get a type
const lii = socionics.getType('LII');
console.log(lii.name); // 'The Analyst'
console.log(lii.mbti); // 'INTj'
console.log(lii.quadra); // 'Alpha'
console.log(lii.functions[0].code); // 'Ti' (Leading)
console.log(lii.functions[4].code); // 'Fe' (Suggestive)
// Get the relation between two types
const rel = socionics.getRelation('LII', 'ESE');
console.log(rel.name); // 'Dual'
console.log(rel.orientation); // 'Hetroverted'
console.log(rel.rhythm); // 'Rhythmic'
console.log(rel.vibe); // 'Attractive'
// Asymmetric relations include direction
const ben = socionics.getRelation('ILE', 'EIE');
console.log(ben.name); // 'Benefaction'
console.log(ben.direction.benefactor); // 'ILE'
console.log(ben.direction.beneficiary); // 'EIE'
// Look up by MBTI equivalent
const ile = socionics.getTypeByMbti('ENTp');
console.log(ile.code); // 'ILE'
// Get quadra, club, temperament — by type code or group name
socionics.getQuadra('LII'); // Alpha quadra object
socionics.getClub('Researcher'); // Researcher club object
socionics.getTemperament('IJ'); // IJ temperament objectReturns the full type object for a socionics code. Case-insensitive.
getType('LII') // or 'lii', 'Lii'Type object shape:
{
code: 'LII',
name: 'The Analyst',
mbti: 'INTj',
quadra: 'Alpha',
club: 'Researcher',
temperament: 'IJ',
extraversion: false,
rationality: 'Rational',
romanceStyle: 'Infantile',
communicationStyle: 'Cool',
stimulus: 'Confident',
argumentation: 'Constructor',
functions: [
{ position: 1, block: 'Ego', role: 'Leading', code: 'Ti' },
{ position: 2, block: 'Ego', role: 'Creative', code: 'Ne' },
{ position: 3, block: 'Super-ego', role: 'Role', code: 'Fi' },
{ position: 4, block: 'Super-ego', role: 'Vulnerable', code: 'Se' },
{ position: 5, block: 'Super-id', role: 'Suggestive', code: 'Fe' },
{ position: 6, block: 'Super-id', role: 'Mobilising', code: 'Si' },
{ position: 7, block: 'Id', role: 'Ignoring', code: 'Te' },
{ position: 8, block: 'Id', role: 'Demonstrative','code': 'Ni' }
]
}Returns all 16 type objects as an array.
Looks up a type by its MBTI equivalent (e.g. 'INTj'). Returns null if not found.
Returns the function object for a code ('Ne', 'Ti', 'Fe' etc).
{
code: 'Ne',
name: 'Extraverted Intuition',
attitude: 'Extraverted',
domain: 'Intuition',
slide: 'Creative Thinking',
description: 'Noticing trends and possibilities in a reality filled with unknown opportunities'
}The slide field is the SLIDE attitude name — a secondary descriptive label for each function used in socionics theory.
Returns all 8 function objects as an array.
Returns the intertype relation between two types. Handles both directions of asymmetric relations (benefaction, supervision) automatically.
Relation object shape:
{
relation: 'dual', // camelCase relation key
name: 'Dual', // display name
from: 'LII',
to: 'ESE',
orientation: 'Hetroverted', // or 'Monoverted'
rhythm: 'Rhythmic', // or 'Arrhythmic'
vibe: 'Attractive', // or 'Repulsive'
symmetry: 'Symmetrical', // or 'Asymmetrical'
description: '...'
}For asymmetric relations a direction field is added:
// getRelation('ILE', 'EIE')
{
relation: 'benefaction',
direction: { benefactor: 'ILE', beneficiary: 'EIE' },
...
}
// getRelation('ILE', 'LSI')
{
relation: 'supervision',
direction: { supervisor: 'ILE', supervisee: 'LSI' },
...
}Returns all 16 intertype relation objects for a given type (including identity).
Returns the type(s) that share a given relation with the specified type.
getTypesByRelation('LII', 'dual') // [ESE type object]
getTypesByRelation('LII', 'conflict') // [SEE type object]
getTypesByRelation('LII', 'benefaction') // [IEI, SLI type objects]Accepts a type code ('LII') or quadra name ('Alpha').
{
name: 'Alpha',
types: ['ILE', 'LII', 'ESE', 'SEI'],
mbti: ['ENTp', 'INTj', 'ESFj', 'ISFp'],
theme: 'Reflecting and delighting in',
dualStyle: 'Careful-Infantile',
lifeStage: 'Childhood',
valuedFunctions: ['Ne', 'Ti', 'Fe', 'Si'],
description: '...'
}Accepts a type code or club name ('Researcher', 'Socializer', 'Pragmatist', 'Humanitarian').
Accepts a type code or temperament code ('EP', 'EJ', 'IP', 'IJ').
Returns the raw groups data containing all quadras, clubs and temperaments.
const { data } = require('socionics-core');
data.types // all 16 type objects keyed by code
data.relations // byType lookup + relation metadata
data.functions // all 8 function objects keyed by code
data.groups // quadras, clubs, temperaments| Code | Name | MBTI | Quadra |
|---|---|---|---|
| ILE | The Searcher | ENTp | Alpha |
| LII | The Analyst | INTj | Alpha |
| ESE | The Enthusiast | ESFj | Alpha |
| SEI | The Mediator | ISFp | Alpha |
| EIE | The Actor | ENFj | Beta |
| IEI | The Romantic | INFp | Beta |
| SLE | The Marshal | ESTp | Beta |
| LSI | The Inspector | ISTj | Beta |
| SEE | The Ambassador | ESFp | Gamma |
| ESI | The Guardian | ISFj | Gamma |
| LIE | The Pioneer | ENTj | Gamma |
| ILI | The Critic | INTp | Gamma |
| IEE | The Psychologist | ENFp | Delta |
| EII | The Humanist | INFj | Delta |
| LSE | The Director | ESTj | Delta |
| SLI | The Craftsman | ISTp | Delta |
| Relation | Orientation | Rhythm | Vibe | Symmetry |
|---|---|---|---|---|
| Identity | Monoverted | Rhythmic | Repulsive | Symmetrical |
| Dual | Hetroverted | Rhythmic | Attractive | Symmetrical |
| Activation | Monoverted | Arrhythmic | Attractive | Symmetrical |
| Mirror | Hetroverted | Arrhythmic | Repulsive | Symmetrical |
| Kindred | Monoverted | Rhythmic | Repulsive | Symmetrical |
| Semi-dual | Hetroverted | Rhythmic | Attractive | Symmetrical |
| Business | Monoverted | Rhythmic | Repulsive | Symmetrical |
| Quasi-identity | Monoverted | Arrhythmic | Attractive | Symmetrical |
| Benefactor | Monoverted | Arrhythmic | Attractive | Asymmetrical |
| Beneficiary | Monoverted | Arrhythmic | Attractive | Asymmetrical |
| Supervisor | Hetroverted | Arrhythmic | Repulsive | Asymmetrical |
| Supervisee | Hetroverted | Arrhythmic | Repulsive | Asymmetrical |
| Super-ego | Monoverted | Rhythmic | Repulsive | Symmetrical |
| Extinguishment | Hetroverted | Rhythmic | Attractive | Symmetrical |
| Mirage | Hetroverted | Rhythmic | Attractive | Symmetrical |
| Conflict | Hetroverted | Arrhythmic | Repulsive | Symmetrical |
Socionics is a theory of personality and interpersonal relations developed by Aušra Augustinavičiūtė in the 1970s, building on Carl Jung's work on psychological types. It shares the familiar 16-type structure with MBTI but takes a different road — the function ordering differs, and the intertype relations system has no MBTI equivalent.
For human-readable explanations of every type, function and relation, see socionicsinsight.com.
For a plain-English introduction to socionics, see the Socionics Made Simple Kindle series: amazon.com/dp/B0XXXXX.
Corrections, additional attributes, and translations are welcome. Please open an issue before submitting a PR for anything beyond a data fix.
MIT