CAN signal bit calculator
Pull one signal out of a CAN frame — start bit, length, byte order, sign, scale and offset, the same things a DBC file defines — and see exactly which bits it uses. Or type a value and get the bytes to send.
| Byte | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Hex |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 7 | 0 6 | 0 5 | 0 4 | 0 3 | 0 2 | 0 1 | 1 0 | 01 |
| 1 | 0 15 | 1 14 | 1 13 | 1 12 | 0 11 | 1 10 | 0 9 | 1 LSB | 75 |
| 2 | 0 MSB | 0 22 | 0 21 | 0 20 | 0 19 | 1 18 | 0 17 | 1 16 | 05 |
| 3 | 1 31 | 1 30 | 1 29 | 1 28 | 1 27 | 1 26 | 1 25 | 1 24 | FF |
| 4 | 0 39 | 1 38 | 1 37 | 1 36 | 1 35 | 1 34 | 1 33 | 1 32 | 7F |
| 5 | 1 47 | 1 46 | 1 45 | 1 44 | 1 43 | 1 42 | 1 41 | 1 40 | FF |
| 6 | 1 55 | 1 54 | 1 53 | 1 52 | 1 51 | 1 50 | 1 49 | 1 48 | FF |
| 7 | 1 63 | 1 62 | 1 61 | 1 60 | 1 59 | 1 58 | 1 57 | 1 56 | FF |
How it works
Bits are numbered byte × 8 + bit, with bit 0 the least significant bit of each byte. Intel (little endian) signals — NMEA 2000, J1939 and CANopen all use this — start at their least significant bit and continue upwards into the next byte. Motorola (big endian) signals start at their most significant bit, as DBC files give it, and continue towards the LSB and then into the next byte's top bit.
Physical value = raw × scale + offset. Signed signals are two's complement over the signal's own length. Encoding rounds to the nearest raw step and refuses values that don't fit.
Typical uses: a CANopen PDO from a motor controller whose mapping you have from the manual, a proprietary frame from a BMS, or checking your own firmware's packing.
Other CAN tools
Everything is decoded in your browser — logs and frames are never uploaded. Message layouts come from these documents; where a source doesn't define something, the tools show the raw bytes rather than guess.
- canboat — NMEA 2000 PGN database v9.0.0 (Apache License 2.0) — NMEA 2000 PGN layouts, lookups and fast-packet / ISO transport framing
- DynaGen (Cattron) TOUGH Series J1939 Reference Manual 9M02-9252-A201 — J1939 engine PGNs/SPNs, DTC layout
- Mecc Alte MxK CAN-Bus Technical Guide — J1939 DM1 lamp bits and values
- Schneider Electric Machine Expert — IoDrvJ1939 FMI (ENUM) — J1939 FMI names
- Faulhaber Communications Manual 7000.05050 (CANopen protocol description) — CANopen COB-IDs, NMT, heartbeat, SDO, abort codes, EMCY
The NMEA 2000 definitions are derived from canboat, © 2009–2026 Kees Verruijt, under the Apache License 2.0. NMEA 2000® is a registered trademark of the National Marine Electronics Association; canboat's definitions are reverse-engineered, not the official NMEA database. Check critical values against your equipment's documentation.