= table[i].w && width {
const anchors = [
[50, entry.p50],
[60, entry.p60],
[85, entry.p85],
[110, entry.p110],
[130, entry.p130],
];
if (weight = 130) return anchors[anchors.length - 1][1];
for (let i = 0; i = w1 && weight {
const [low, high] = getWidthAnchors(width);
if (low.w === high.w) return getPressureForWeight(low, weight);
const lowPressure = getPressureForWeight(low, weight);
const highPressure = getPressureForWeight(high, weight);
return lerp(lowPressure, highPressure, (width - low.w) / (high.w - low.w));
};
const getRimCoef = (width, rimInternal) => {
const idealInternal = clamp(width * 0.55, 17, 27);
return clamp(1 - ((rimInternal - idealInternal) * 0.004), 0.97, 1.03);
};
const getRevisionCoef = (weight) => {
if (weight <= 60) return 0.94;
if (weight <= 85) return lerp(0.94, 0.98, (weight - 60) / 25);
if (weight {
const widthPart = (clamp(width, 25, 60) - 25) / 35;
const weightPart = weight 105 ? 0.01 : 0;
return clamp(0.055 + (widthPart * 0.045) + weightPart, 0.045, 0.115);
};
const getMinPressure = (width, type) => {
if (type === 'tubetype') {
if (width < 35) return 1.9;
if (width < 45) return 1.25;
return 0.9;
}
if (type === 'boyau') {
if (width < 35) return 1.8;
if (width < 45) return 1.2;
return 0.85;
}
if (width < 35) return 1.5;
if (width {
if (width <= 24) return 5.5;
if (width <= 29) return 5.0;
if (width <= 34) return 4.5;
if (width <= 39) return 4.0;
if (width <= 44) return 3.5;
if (width <= 54) return 3.0;
if (width {
output.textContent = input.value;
const percent = ((Number(input.value) - Number(input.min)) / (Number(input.max) - Number(input.min))) * 100;
input.style.setProperty('--gp-fill', `${percent}%`);
};
const calculate = () => {
const weight = Number(weightIn.value);
const width = Number(widthIn.value);
const rimInternal = Number(rimIn.value);
const surface = $('#gp-surface').value;
const type = $('#gp-type').value;
const weather = $('#gp-weather').value;
const casing = $('#gp-casing').value;
const feel = $('#gp-feel').value;
const load = $('#gp-load').value;
const typeCoef = { tubetype: 1.00, tubeless: 0.95, boyau: 1.05 };
const surfaceAdj = { route: 0, blancs: -0.6, engages: -0.9 };
const casingCoef = { souple: 0.97, standard: 1.00, renforcee: 1.04 };
const feelCoef = { confort: 0.96, equilibre: 1.00, rendement: 1.04 };
const loadCoef = {
neutre: { front: 1.00, rear: 1.00 },
avant: { front: 1.04, rear: 0.98 },
arriere: { front: 0.98, rear: 1.05 },
bikepacking: { front: 1.02, rear: 1.03 },
};
let base = getBase(width, weight);
base *= typeCoef[type];
base += surfaceAdj[surface];
base *= getRevisionCoef(weight);
base *= casingCoef[casing];
base *= feelCoef[feel];
base *= getRimCoef(width, rimInternal);
if (weather === 'humide') base *= 0.96;
let front = base;
let rear = base * (1 + getRearDiff(width, weight));
front *= loadCoef[load].front;
rear *= loadCoef[load].rear;
const minPressure = getMinPressure(width, type);
const floorApplied = front < minPressure || rear 0) {
cap = Math.min(cap, manualCap);
capReasons.push(`limite saisie : ${pressureWithUnit(manualCap)}`);
}
if (Number.isFinite(cap)) {
front = Math.min(front, cap);
rear = Math.min(rear, cap);
}
$('#gp-front').textContent = pressureFormat(front);
$('#gp-rear').textContent = pressureFormat(rear);
$('#gp-front-unit').textContent = barUnit(front);
$('#gp-rear-unit').textContent = barUnit(rear);
$('#gp-results').hidden = false;
const capNote = $('#gp-cap-note');
if (capReasons.length > 0) {
capNote.textContent = `Sécurité : ${capReasons.join(' + ')}. Respectez toujours la limite la plus basse indiquée sur le pneu, la jante ou la roue.`;
capNote.hidden = false;
} else {
capNote.hidden = true;
}
const lowNote = $('#gp-low-note');
if (floorApplied) {
lowNote.textContent = 'Pression minimale appliquée pour limiter le risque de pincement, talonnage ou comportement flou.';
lowNote.hidden = false;
} else if (Number.isFinite(cap) && cap {
updateRange(range);
range.input.addEventListener('input', () => {
updateRange(range);
if (hasCalculated) calculate();
});
});
calculator.querySelectorAll('select, input[type="checkbox"], input[type="number"]').forEach((input) => {
input.addEventListener('input', () => {
if (hasCalculated) calculate();
});
input.addEventListener('change', () => {
if (hasCalculated) calculate();
});
});
$('#gp-calc-btn').addEventListener('click', () => {
hasCalculated = true;
calculate();
});
});
});
La pressione degli pneumatici è una regolazione essenziale per comfort, prestazioni… e divertimento in sella. Se sono troppo gonfi, gli pneumatici perdono grip e comfort. Troppo sgonfi? Aumenti il rischio di forature, la sensazione di instabilità, o peggio – il cerchio che sbatte.
Ecco perché abbiamo creato questo calcolatore della pressione degli pneumatici per bici, semplice e rapido, basato su diversi criteri chiave:
Il peso totale (bici + ciclista + eventuali borse)
La larghezza reale dello pneumatico, misurata in millimetri
Il tipo di terreno (strada, strade bianche, sterrati impegnativi)
Il tipo di pneumatico: copertoncino con camera d’aria (tubetype), tubeless o tubolare
Grazie a questo strumento ottieni una pressione consigliata per lo pneumatico anteriore e quello posteriore, espressa in bar. Il calcolo si basa sulle raccomandazioni sul campo di Gravel Passion, combinate con una tabella delle pressioni derivata da test concreti.
Come usare questo calcolatore?
I nostri pneumatici preferiti per il gravel
Come regolare al meglio la pressione dei tuoi pneumatici gravel o da strada?
👉 Nel gravel, una pressione troppo alta penalizza comfort e aderenza, soprattutto sui fondi sassosi. 👉 Su strada, una pressione troppo bassa aumenta il rischio di foratura per pizzicatura.
💡 Regola generale:
Più lo pneumatico è largo, meno va gonfiato.
Maggiore è il peso totale, più la pressione va aumentata.
La ruota posteriore sopporta più carico: la pressione sarà quindi leggermente più alta dietro.
Gli ultimi pneumatici testati
5 consigli per gonfiare gli pneumatici gravel alla giusta pressione
→ Consulta il manuale del produttore o l’etichetta dello pneumatico: spesso il produttore indica un intervallo di pressione consigliato sul fianco dello pneumatico (in PSI o in bar). È un ottimo punto di partenza.
→ Tipo di terreno: su fondo più accidentato, una pressione inferiore può offrire più trazione e un rotolamento più confortevole. Su superfici più lisce, una pressione più alta può rendere la scorrevolezza più efficiente.
→ Peso del ciclista: se pesi di più, in genere servirà una pressione maggiore per evitare le forature per pizzicatura (note anche come “snakebite”).
→ Condizioni meteo: una pressione leggermente più bassa può offrire più grip su superfici bagnate o scivolose.
→ Tipo di pneumatico: i tubeless possono in genere lavorare con pressioni leggermente più basse rispetto agli pneumatici con camera d’aria.
Perché usare un calcolatore piuttosto che una tabella fissa?
Una tabella delle pressioni è utile, ma spesso troppo generica. Il nostro strumento ti permette di incrociare più criteri e di adattarti alla tua configurazione reale. È anche perfetto per confrontare le tue impostazioni tra due bici, due montaggi di pneumatici o due uscite (asfalto vs gravel impegnativo).
In sintesi
📏 Inserisci il tuo peso, la larghezza dello pneumatico e il terreno
⚙️ Scegli il tipo di pneumatico
🎯 Ottieni una pressione personalizzata per l’anteriore e il posteriore
Ma soprattutto… prova, pedala, regola! Niente sostituisce le sensazioni sul campo, ma questo calcolatore ti offre una base affidabile da cui partire.