I²C Pull-up Resistor Calculator

Calculate optimal I²C pull-up resistor values for SDA/SCL based on bus capacitance, VCC, speed, and sink-current limits. Covers standard/fast/fast-plus/high-speed modes.

Calculator Electronics Updated Apr 23, 2026
How to Use
  1. Enter bus supply voltage (VCC), total bus capacitance Cb, and I²C speed mode.
  2. Tool computes minimum pull-up (for Vol spec) and maximum (for rise-time spec).
Input
V
pF
Presets
Pull-up Range
R_min
R_max
Recommended
Rise time

Show Work

Enter values.

I²C Timing Spec

Standard 100 kHz
tr_max = 1000 ns · Cb_max = 400 pF
Relaxed.
Fast 400 kHz
tr_max = 300 ns · Cb_max = 400 pF
Common.
Fast+ 1 MHz
tr_max = 120 ns · Cb_max = 550 pF
Needs pull-up current source.
R_max
R ≤ tr / (0.8473 · Cb)
From RC rise time (63.2%).
R_min
R ≥ (VCC − Vol) / Iol_max
Iol = 3 mA.
Typical
4.7 kΩ (3.3 V) · 10 kΩ (5 V)
Low-Cb buses.

History of I2C

Philips Semiconductors (now NXP) invented I2C in 1982 for interconnection of low-speed peripheral chips in consumer electronics (first used in TV sets for microcontroller-to-tuner communication). The open-drain 2-wire protocol proved elegant enough to become a universal embedded-system standard. Speed grades: Standard 100 kHz, Fast 400 kHz (1992), Fast-Plus 1 MHz (2007), High-Speed 3.4 MHz (1998). Modern MCUs include multiple I2C controllers with hardware glitch and analog filtering.

About This Calculator

Enter VCC, total bus capacitance (sum device + trace), and I²C speed mode. The tool computes R_min = (VCC − 0.4) / 3 mA for minimum (Vol compliance) and R_max = tr_spec / (0.8473 × Cb) for maximum (rise-time compliance).

Pick a standard E24 value between min and max — 2.2 kΩ, 4.7 kΩ, 10 kΩ are most common. If Cb is high enough that R_max < R_min, you need a buffer (PCA9306, TXS0104E) or current-source pull-up. Everything runs client-side.

About the I²C Pull-up Resistor Calculator

The I²C Pull-up Resistor Calculator is a free tool for electronics and circuit design. It runs right in your web browser, so there is nothing to download. Calculate optimal I²C pull-up resistor values for SDA/SCL based on bus capacitance, VCC, speed, and sink-current limits. Covers standard/fast/fast-plus/high-speed modes.

How it works

Type your numbers into the boxes. The answer shows up right away — you do not have to press a button. If you change a number, the answer changes too. So you can try different numbers and watch what happens, or check an answer you worked out yourself. Just make sure each box has the right kind of number in it.

Want the deeper story? The Knowledge Base explains the ideas behind the tools in more detail.

Frequently Asked Questions

Why pull-up?

I²C is open-drain: slaves pull down, pull-up resistors return bus to high. Too small: driver can\'t pull Vol low enough (3mA sink limit). Too large: rise time too slow at higher speeds.

Bus capacitance?

Each device ≈ 10 pF, each connector ≈ 5 pF, PCB trace ≈ 1 pF/cm. Total Cb = sum of all. Must be &lt; 400 pF for standard I²C (100 kHz); &lt; 550 pF max.

Multiple pull-ups?

Only one pull-up per line is needed for the bus. For dual-supply buses (5V host + 3.3V slave), use level shifter — do NOT add multiple pull-ups on the same line.

How do I use the I²C Pull-up Resistor Calculator?

Just type your numbers. The answer shows up right away — there is no button to press. Change anything and it updates by itself.

Is it free? Does it work without internet?

Yes to both. It is free with no sign-up, and once the page has loaded it keeps working even with no internet.

Where does my data go?

Nowhere — every calculation runs on your own device. Nothing you enter is uploaded, logged, or stored.

Common Use Cases

MCU + EEPROM

3.3V, 50pF bus, 400 kHz Fast mode: 4.7 kΩ pull-up typical. Headroom for 2-3 more devices.

Long-Distance

0.5m cable adds ~50 pF. Drop to 2.2 kΩ to maintain rise time at 400 kHz.

Standard 100 kHz

Lenient. 10 kΩ OK for small buses (&lt; 100 pF).

Last updated: