CAN vs CAN FD: the differences explained simply
CAN bus fundamentals

CAN vs CAN FD: the differences explained simply

Same wiring, same idea, more headroom. Here is what actually changed when CAN FD arrived, in plain terms, with the parts you can click and try.

10 min read3 demosUpdated 2026
8 → 64
bytes per message
1 → 8
Mbit/s in the data phase
ISO 11898-1
standardised 2015
Same bus
downward compatible
The short answer

CAN FD is an upgraded version of the original CAN bus. It does two things the classic version could not: it carries more data in a single message (up to 64 bytes instead of 8), and it can send that data faster by briefly speeding up once a message has won its slot on the bus. The wiring, the connectors and the basic way nodes take turns are unchanged, which is why most teams can move to CAN FD without rebuilding their network from scratch.

Classical CAN and CAN FD at a glance
FeatureClassical CAN (CAN 2.0)CAN FD
Data per messageUp to 8 bytesUp to 64 bytes
SpeedOne bit rate, up to 1 Mbit/sTwo rates: arbitration up to 1 Mbit/s, data phase commonly 2 to 5 Mbit/s, 8 Mbit/s with capable transceivers
Identifiers11-bit or 29-bit11-bit or 29-bit, same as before
Remote framesSupported (RTR)Not supported
Error checking15-bit CRC17 or 21-bit CRC, plus a stuff-bit count
CompatibilityCannot read CAN FD framesCan read classical CAN frames
Quick recap

What CAN bus is, in one minute

CAN bus is a way for the small computers inside a vehicle or machine, the ECUs, to talk to each other over a single shared pair of wires. Instead of running a separate cable between every module, every module listens to the same line and takes turns to speak. This is what saved cars from needing miles of wiring as they gained more electronics.

120 Ω 120 Ω CAN_H CAN_L ECU 1 ECU 2 ECU 3 ECU 4
A CAN bus links every module to one shared twisted pair, with a 120 ohm terminator at each end.

Because everyone shares one line, there has to be a rule for who speaks when two modules start at once. That rule is called arbitration, and it works by priority: the message with the more urgent identifier wins and keeps going, while the others wait and try again. No data is lost, and the higher-priority message is never delayed. If you want the full picture, start with our guide to understanding the CAN bus.

SHARED BUS Node A ID 0x120 backs off Node B ID 0x0A0 backs off Node C ID 0x080 wins On the wire: Node C, 0x080
When nodes transmit at once, the lowest identifier wins the bus. The others back off and retry automatically.

The original version, now called Classical CAN or CAN 2.0, served the industry well for decades. But modern vehicles generate far more data, and engineers began to hit two ceilings: messages were capped at 8 bytes, and the whole network was capped at 1 Mbit/s. CAN FD was built to lift both ceilings while keeping everything else familiar.

The upgrade

What CAN FD adds

The "FD" stands for Flexible Data-rate. Bosch, the original creators of CAN, introduced it and it was standardised as part of ISO 11898-1 in 2015. Three changes do most of the work.

Bigger messages

A single CAN FD frame carries up to 64 bytes, eight times the classic limit of 8. More information per message means fewer messages overall.

A faster data phase

CAN FD can switch to a higher speed for the part of the message that carries the actual data, then drop back down. The slow part stays slow on purpose.

Better efficiency

Carrying more data per message cuts the share spent on overhead, and a longer CRC plus a stuff-bit count improves the chance of catching corrupted data.

Everything else, the physical wires, the voltage levels, the connectors and the priority-based arbitration, stays the same. That is the point. CAN FD is an evolution, not a replacement.

See the difference: frame anatomy

A message on the bus is called a frame. Both protocols build a frame from the same building blocks, but CAN FD adds a few new ones. Tap any block to see what it does. The highlighted blocks are the ones that are new or changed in CAN FD.

Classical CAN frame (CAN 2.0)
CAN FD frame
Highlighted blocks are new or changed in CAN FD

Tap any block in either frame above to learn what it does.

Frames are shown schematically. Field order follows ISO 11898-1. Bit-stuffing and inter-frame spacing are omitted for clarity.

Why two speeds

The clever bit: two speeds in one message

Here is the part that confuses people. If CAN FD is faster, why does it not just run fast the whole time? The answer is arbitration, the rule for who speaks first.

When several nodes might start talking at the same instant, every node on the bus has to be able to hear each bit and react in time to know whether it has won or lost its slot. That listening takes time, and it sets a speed limit. On a typical bus that limit is around 1 Mbit/s, and pushing past it would mean nodes at the far end of the wiring could not keep up.

Slow to agree who talks. Fast to send the data.

CAN FD's trick is to keep the start of the message, the part where arbitration happens, at the safe slow speed. Once a single node has won and everyone else has backed off, nobody needs to interrupt any more. So for the data-carrying part of the message, CAN FD flips a switch and speeds up. When the data is done, it drops back to the slow speed for the acknowledgement. That switch is a single bit in the frame called the BRS, the Bit Rate Switch.

See it happen: the bit rate switch

This is one CAN FD message, drawn as a strip of time from left to right. The grey parts run at the slow arbitration speed. The green part is the data, which can run faster. Turn the Bit Rate Switch off to see how long the same message would take without speeding up, and pick a bigger payload to see why it matters more as messages grow.

start of messageend
Approx. message time
328 µs
Data phase speed-up
4× shorter

Illustrative model using an arbitration rate of 500 kbit/s and a data rate of 2 Mbit/s. Real timings depend on your configured bit rates, bus length and transceivers. The teaching point is the relative length of the bars, not the exact microseconds.

Efficiency

Why a bigger payload matters

Every message on the bus carries a fixed amount of overhead: the identifier, the control bits, the error check and the housekeeping at each end. That overhead is roughly the same whether the message carries 1 byte or 64. So the more useful data you fit into each message, the smaller the share wasted on overhead, and the fewer messages you need to send in the first place.

Classical CAN 8 bytes CAN FD up to 64 bytes
Each square is one byte. A single CAN FD message holds up to eight times the data.

Think of it as the difference between one lorry and eight vans. Sending the same goods in one larger vehicle means one set of paperwork and one trip, not eight. On a busy bus, fewer messages means more room for everything else and less chance of an important message having to wait.

Try it: how many messages do you need?

bytes
Classical CAN
8
messages · 8 bytes each
CAN FD
1
messages · up to 64 bytes each

To move 64 bytes, CAN FD needs 1 message where Classical CAN needs 8. That is 7 fewer messages on the bus.

Counts are exact: Classical CAN splits data into 8-byte messages, CAN FD into 64-byte messages. Real applications add headers and signals on top, so treat this as the message-count floor.

Mixing the two

Are CAN and CAN FD compatible?

Mostly, and in one direction. A CAN FD controller can understand classical CAN messages, so it happily works on an older network. This is what people mean when they say CAN FD is downward compatible.

The catch is the other way round. A controller that only speaks classical CAN does not recognise a CAN FD frame, and seeing one on the shared bus will make it report an error. So you cannot simply drop one CAN FD device onto a bus full of classical-only devices and expect peace. Every node that shares the wire needs to at least tolerate CAN FD traffic.

In practice, fleets and platforms move across in stages. During the transition it is common to keep some subsystems on classical CAN and bridge them to a CAN FD section with a gateway, which translates between the two. The takeaway: CAN FD is designed to ease the migration, but the whole bus still has to agree on the rules.

In one line

CAN FD reads classical CAN. Classical CAN cannot read CAN FD. Plan any mixed bus around that single fact.

Choosing

When to use Classical CAN, and when to use CAN FD

Neither is simply better. They suit different jobs, and plenty of real networks run both.

Reach for

Classical CAN

  • Your messages are small and infrequent, such as a switch state or a temperature reading.
  • You are working with existing hardware or a legacy platform that is already proven.
  • You have many simple nodes and modest bandwidth needs, where the 8-byte limit is never a constraint.
Reach for

CAN FD

  • You move larger blocks of data, such as detailed sensor sets or structured diagnostic responses.
  • You flash firmware or transfer files over the network, where a 64-byte payload and a fast data phase save real time.
  • Your bus is getting busy and you need to fit the same traffic into fewer messages to keep latency under control.
Common questions

CAN vs CAN FD FAQ

Is CAN FD faster than CAN?

Yes, for the data-carrying part of a message. Classical CAN runs at a single bit rate of up to 1 Mbit/s. CAN FD keeps that rate for arbitration, then speeds up the data phase, commonly to 2 to 5 Mbit/s and up to 8 Mbit/s with capable transceivers. Combined with its larger payload, that gives a much higher real throughput.

What is the maximum payload of CAN FD?

64 bytes per frame, compared with 8 bytes for Classical CAN. CAN FD supports a fixed set of sizes: 0, 8, 12, 16, 20, 24, 32, 48 and 64 bytes.

Is CAN FD backward compatible with CAN?

It is downward compatible: a CAN FD controller can read classical CAN messages. The reverse is not true. A classical-only controller cannot read CAN FD frames and will flag an error if it sees one, so every node on a shared bus must be able to tolerate CAN FD traffic.

Can CAN and CAN FD be on the same bus?

Yes, if every device on the wire can at least handle CAN FD frames, or if classical sections are separated by a gateway that translates between the two. You cannot mix a CAN FD device directly into a bus of classical-only devices without errors.

What does BRS mean in CAN FD?

BRS is the Bit Rate Switch, a single bit in the CAN FD frame. When it is set, the controller speeds up for the data phase of the message, then returns to the slower arbitration rate for the acknowledgement. It is the mechanism that lets one message use two different speeds.

Does CAN FD replace CAN?

Not entirely. CAN FD is an evolution of the same protocol on the same wiring, and many networks still use Classical CAN for simple, low-bandwidth signals. CAN FD is chosen where larger payloads or higher throughput are needed, and the two often coexist on the same vehicle or machine.

Written by the engineering team at Influx Technology. Specifications reflect ISO 11898-1. Always confirm bit rates and payload settings against your own hardware and configuration.

Logging both

Recording Classical CAN and CAN FD

Whether your network runs classical CAN, CAN FD or a mix of the two, the data loggers from Influx Technology, including the REXGEN and REBEL ranges, capture both. REXDESK and DIALOG handle the decoding from your DBC files, so signals arrive as engineering values rather than raw frames.