Direct answer: at Azure IoT Hub public list prices on 10 November 2026 (eastus, USD, excluding tax and discounts), each unit costs per month: Basic B1 $10, B2 $50, B3 $500; Standard S1 $25, S2 $250, S3 $2,500. Daily message allowance per unit: B1/S1 400K, B2/S2 6M, B3/S3 300M; paid tiers meter in 4 KB blocks, while Free gives 8,000 messages/day, 500 device identities and 0.5 KB blocks. At one 4 KB telemetry message per device per minute, 30 days/month: 100 devices B1 $10 / S1 $25; 1,000 B1×4 $40 / S1×4 $100; 10,000 B2×3 $150 / S2×3 $750; 100,000 B3 $500 / S3 $2,500; 1,000,000 B3×5 $2,500 / S3×5 $12,500. For one-way telemetry only, Basic is 20%–40% of Standard; cloud-to-device, device twins, device management or IoT Edge require leaving Basic for Standard (Free is POC-only). Device Update adds $70/instance-month + $0.07/device-month, about $7,070/month at 100,000 devices—potentially more than the hub itself.
This guide is for manufacturing architects, IoT platform/SRE, finance and procurement teams building device connectivity, production-line data collection, remote operations or predictive maintenance. It separates official price facts, editorial calculations and exclusions, covering B/S tiers, message metering, device-scale tier selection, payload size, DPS/Device Update add-ons, hidden costs and a 90-day checklist. Prices come from the Azure IoT Hub pricing page, Azure Retail Prices API and Microsoft Learn (10 November 2026). This is not procurement advice.
(1) You buy units, not messages: one B1/S1 unit covers 400K messages/day, then throttling; size for the peak day, not the average. (2) 4 KB blocks: a 10 KB message counts as 3, 16 KB as 4, 256 KB as 64; twin reads/writes, direct methods and cloud-to-device commands share the same daily allowance. (3) Basic is one-way telemetry only: B2 and S2 both cover 6M/day, but B2 costs $50 and S2 $250; C2D, twins, device management or Edge means Standard.
Seven editions: price, capacity and unit caps
IoT Hub bills per unit × month; a hub can buy multiple units of the same edition and capacity adds up, but editions cannot be mixed in one hub. B1/S1 covers 400K messages/day per unit, B2/S2 6M, B3/S3 300M. Unit caps are 200 for size 1/2 and 10 for size 3 (more requires support). Free is not a "cheap edition": 8,000 messages/day, 500 device identities, 0.5 KB metering blocks, and Free cannot be upgraded in place to a paid tier—you create a new paid hub. Paid tiers round up in 4 KB blocks.
| Edition | Price/unit-month | Messages/day/unit | Meter block | Unit cap |
|---|---|---|---|---|
| Free | $0 | 8,000 (total) | 0.5 KB | 500 devices |
| B1 | $10 | 400,000 | 4 KB | 200 |
| B2 | $50 | 6,000,000 | 4 KB | 200 |
| B3 | $500 | 300,000,000 | 4 KB | 10 |
| S1 | $25 | 400,000 | 4 KB | 200 |
| S2 | $250 | 6,000,000 | 4 KB | 200 |
| S3 | $2,500 | 300,000,000 | 4 KB | 10 |
Sources: Azure IoT Hub pricing page and Learn "Azure IoT Hub scaling" (10 November 2026). Prices are eastus USD pay-as-you-go list; East Asia, Southeast Asia, Japan East and Korea Central match eastus, while Central India is about 1.4× (S1 $35, S2 $350, S3 $3,500).
Basic vs Standard: what the price gap buys
Both tiers include device-to-cloud telemetry, per-device identity, message routing/Event Grid, HTTP/AMQP/MQTT, DPS and monitoring. The difference is bidirectional communication and device management: Basic has no cloud-to-device messaging, no device/module twins, no device management and no IoT Edge, and Device Streams is unavailable. Standard supports all of them. So "sensor upload only" can use Basic; "send parameters, read state, OTA, edge inference" requires Standard. The gap is capability, not a discount: B2 is $50/month vs S2 $250, and B3 is $2,000 less than S3.
| Capability | Basic | Standard/Free | Impact |
|---|---|---|---|
| Device-to-cloud telemetry | Yes | Yes | One-way collection |
| Per-device identity | Yes | Yes | Per-device auth |
| Message routing/Event Grid | Yes | Yes | Forward to backend |
| HTTP/AMQP/MQTT | Yes | Yes | Protocol access |
| DPS support | Yes | Yes | Zero-touch provisioning |
| Cloud-to-device messaging | No | Yes | Remote commands |
| Device/module twins | No | Yes | State and desired config |
| Device management | No | Yes | Bulk operations |
| IoT Edge | No | Yes | Edge inference |
| Device Streams | No | Preview | Not billed yet |
Sources: Azure IoT Hub pricing feature table and Learn "Azure IoT Hub scaling" (10 November 2026). Free sits on the Standard side but caps at 8,000 messages/day and 500 device identities.
How messages are counted: 4 KB blocks and a shared quota
Paid tiers round every billable operation up to 4 KB blocks: 100 B counts as 1, 6 KB as 2, 16 KB as 4, 256 KB as 64. Twin reads/writes, direct methods and responses, cloud-to-device messages and file-upload initiation/completion all consume the same daily allowance. A 10 MB device-to-cloud file is not metered as IoT Hub traffic—only 2 messages for initiation/completion—but Azure Storage bills separately. AMQP/MQTT keep-alives are not charged, and Device Streams is in preview and not billed. Routing to Storage/Event Hubs/Functions and file storage are separate costs.
| Operation | Billable messages | Basis |
|---|---|---|
| 100 B telemetry | 1 | Minimum 1 block |
| 4 KB telemetry | 1 | 1 block |
| 6 KB telemetry | 2 | Rounded up |
| 16 KB telemetry | 4 | 4 blocks |
| 256 KB telemetry | 64 | D2C maximum |
| 8 KB twin read | 2 | 4 KB blocks |
| 4 KB method + 1 KB response | 2 | Request and response separate |
| 6 KB cloud-to-device | 2 | 64 KB maximum |
| 10 MB file upload | 2 | Storage billed separately |
| Keep-alive | 0 | AMQP/MQTT |
| Device Streams (preview) | 0 | Not billed yet |
Source: Learn "Understand Azure IoT Hub pricing" (updated 8 January 2026; accessed 10 November 2026). Free meters in 0.5 KB blocks; 16 KB counts as 32 messages on Free.
Device scale: choose the edition and units
At one 4 KB telemetry message per device per minute, 30 days/month: 100 devices send 144K/day, one B1/S1 unit, $10 / $25; 1,000 send 1.44M/day, B1×4 $40 vs S1×4 $100; 10,000 send 14.4M/day, B2×3 $150 vs S2×3 $750; 100,000 send 144M/day, B3 $500 vs S3 $2,500; 1,000,000 send 1.44B/day, B3×5 $2,500 vs S3×5 $12,500. At 10,000 devices, moving from one message per minute to one per 10 seconds multiplies messages by 6: B3 $500, S3 $2,500, while Basic jumps from $150 to $500 and Standard from $750 to $2,500.
| Devices/frequency | Daily blocks | Basic plan | Basic/month | Standard plan | Standard/month |
|---|---|---|---|---|---|
| 100 / 60 s | 144,000 | B1 × 1 | $10 | S1 × 1 | $25 |
| 1,000 / 60 s | 1,440,000 | B1 × 4 | $40 | S1 × 4 | $100 |
| 10,000 / 60 s | 14,400,000 | B2 × 3 | $150 | S2 × 3 | $750 |
| 100,000 / 60 s | 144,000,000 | B3 × 1 | $500 | S3 × 1 | $2,500 |
| 1,000,000 / 60 s | 1,440,000,000 | B3 × 5 | $2,500 | S3 × 5 | $12,500 |
| 10,000 / 10 s | 86,400,000 | B3 × 1 | $500 | S3 × 1 | $2,500 |
Editorial calculation: one 4 KB telemetry message per device, 30 days/month; units rounded up to the daily allowance; excludes tax, discounts, DPS, Device Update, routing destinations, Storage and logs. Size for the peak day, not the average.
Economic ranges (editorial): Standard stays on S1 up to 4M messages/day (1.6M needs 4 S1 = $100; 3.2M needs 8 S1 = $200; at 4M, 10 S1 = $250 ties one S2); use S2 above 4M, and S3 above 60M (10 S2 = $2,500 ties one S3). Basic breaks earlier: 1.6M needs 4 B1 = $40; at 2M, 5 B1 = $50 ties one B2; use B2 above 2M, and B3 above 60M. Combine this rule with "do we need C2D/twins/Edge?" so you don't buy a large edition and downgrade later.
Payload size: the same fleet can cost 13× more
At 10,000 devices and one message per minute: 1 KB and 4 KB both count as 1 block, 14.4M/day, B2×3 $150, S2×3 $750; 10 KB counts as 3 blocks, 43.2M/day, B2×8 $400, S2×8 $2,000; 16 KB counts as 4 blocks, 57.6M/day, B2×10 $500, S2×10 $2,500; 64 KB counts as 16 blocks, 230.4M/day, B3 $500, S3 $2,500; 256 KB counts as 64 blocks, 921.6M/day, B3×4 $2,000, S3×4 $10,000. Compressing telemetry below 4 KB is often cheaper than changing editions.
| Payload | Blocks | Daily blocks | Basic plan/month | Standard plan/month |
|---|---|---|---|---|
| 1 KB | 1 | 14,400,000 | B2 × 3 / $150 | S2 × 3 / $750 |
| 4 KB | 1 | 14,400,000 | B2 × 3 / $150 | S2 × 3 / $750 |
| 10 KB | 3 | 43,200,000 | B2 × 8 / $400 | S2 × 8 / $2,000 |
| 16 KB | 4 | 57,600,000 | B2 × 10 / $500 | S2 × 10 / $2,500 |
| 64 KB | 16 | 230,400,000 | B3 × 1 / $500 | S3 × 1 / $2,500 |
| 256 KB | 64 | 921,600,000 | B3 × 4 / $2,000 | S3 × 4 / $10,000 |
Editorial calculation: 10,000 devices, one message per minute, 30 days/month; 4 KB blocks rounded up; excludes tax, discounts, routing destinations, Storage and logs. D2C maximum is 256 KB; C2D maximum is 64 KB.
DPS and Device Update: add-ons can exceed the hub
DPS bills per operation at $0.10/1,000 (eastus): registrations, re-registrations, enrollment changes and queries all count, and an enrollment with six months of inactivity generates a keep-alive operation. At one operation per device, 1,000/10,000/100,000 devices cost about $0.10 / $1.00 / $10.00, usually negligible. Device Update is $70/instance-month + $0.07/device-month: 1,000 devices $140, 10,000 $770, 100,000 $7,070; up to 10 devices can be tested free. At 100,000 devices, Device Update is about 2.8× an S3 hub and 14× a B3 hub, so OTA needs its own budget line.
| Devices | DPS operations | Device Update instance | Device Update per device | Device Update subtotal | Add-on total/month |
|---|---|---|---|---|---|
| 1,000 | $0.10 | $70 | $70 | $140 | $140.10 |
| 10,000 | $1.00 | $70 | $700 | $770 | $771.00 |
| 100,000 | $10.00 | $70 | $7,000 | $7,070 | $7,080.00 |
Editorial calculation: DPS at one operation per device and $0.10/1,000; Device Update at $70/instance + $0.07/device; excludes tax, discounts and repeat registrations/queries. Device Update is optional OTA, free for up to 10 test devices.
Selection rules and hidden costs
Ask three questions first: (1) Is it device-to-cloud only, or do you need commands/twins/OTA/edge? Basic for the former, Standard for the latter. (2) How many 4 KB blocks on the peak day? Use the economic ranges above, not the average day. (3) Can payloads fit in 4 KB? 10 KB triples the message count. Six hidden costs: Device Update ($0.07/device-month), DPS re-registration/queries, routing destinations (Storage/Event Hubs/Functions bill separately), file-upload Storage, logs/diagnostics (Log Analytics), and non-production hubs (each dev/test hub starts another unit fee). Unit changes are prorated by day, with a billing month defined as 31 days; if a downgrade day exceeds the lower edition's allowance, that day bills at the higher edition.
90-day checklist
Weeks 1–2: inventory devices, protocols, bytes per message, reporting frequency, peak windows, and the ratio of twins/methods/C2D. Weeks 2–4: compress telemetry below 4 KB, estimate peak-day blocks, and choose B/S plus size 1/2/3 from the economic ranges. Weeks 4–6: confirm whether C2D, twins, device management or IoT Edge is required; if so, lock in Standard. Weeks 6–8: run a 7-day pilot with real payloads and watch the daily allowance and throttling; budget Device Update/DPS/routing separately. Weeks 8–10: load-test reconnect, bulk provisioning and staged OTA. Weeks 10–12: reconcile units, blocks and payloads against the bill and remove unused non-production hubs. The criterion is not the lowest unit price, but "no throttling on the peak day, no capability gap, no add-on overrun".
FAQ
How is Azure IoT Hub billed?
Per unit × month: B1 $10, B2 $50, B3 $500; S1 $25, S2 $250, S3 $2,500 (eastus). Each unit covers 400K/6M/300M messages per day, and paid tiers meter in 4 KB blocks; Free gives 8,000/day, 500 devices and 0.5 KB blocks. DPS, Device Update, routing destinations and Storage are separate.
Is the Free tier enough?
Only for a POC: 8,000 messages/day, 500 device identities, 0.5 KB meter blocks, and a 16 KB message counts as 32. Free also cannot be upgraded in place to a paid tier—you create a new paid hub, so plan a migration window after validation.
What does 1,000 devices at one message per minute cost?
With 4 KB telemetry and 30 days/month, 1.44M messages/day. Basic uses four B1 units, $40/month; Standard uses four S1 units, $100/month. At 10 KB, 4.32M/day, Basic is one B2 at $50 and Standard one S2 at $250; round up by the peak day.
Why is Basic so much cheaper than Standard?
Basic supports only device-to-cloud one-way communication and lacks cloud-to-device, device/module twins, device management and IoT Edge. B2 and S2 have the same 6M/day capacity but cost $50 vs $250; once you need remote commands, state sync or OTA, you must leave Basic for Standard (Free is POC-only).
How does message size affect the bill?
Paid tiers round up to 4 KB blocks: 10 KB counts as 3, 16 KB as 4, 256 KB as 64. At 10,000 devices and one message per minute, 4 KB is 14.4M/day (S2×3 $750), 16 KB is 57.6M/day (S2×10 $2,500), and 256 KB is 921.6M/day (S3×4 $10,000).
Do twins, direct methods and cloud-to-device count as messages?
Yes, and they share the same daily allowance. Twin reads use 4 KB blocks (8 KB = 2); direct method requests and responses each use 4 KB blocks; cloud-to-device messages use 4 KB blocks (6 KB = 2); file upload counts only 2 messages for initiation/completion, with the file itself billed by Storage.
How are Device Update and DPS billed?
DPS is $0.10/1,000 operations, including registrations, re-registrations, enrollment changes and queries; first provisioning of 100,000 devices is about $10. Device Update is $70/instance-month + $0.07/device-month: $770 at 10,000 devices, $7,070 at 100,000, free for up to 10 test devices.
When should I move from S1 to S2 or S3?
At list prices: up to 4M messages/day, S1 is cheaper or ties (1.6M needs 4 S1=$100; at 4M, 10 S1=$250 ties one S2); use S2 above 4M and S3 above 60M (10 S2=$2,500 ties one S3). Basic breaks at 2M (5 B1=$50 ties one B2) and 60M (10 B2=$500 ties one B3). Confirm capability gaps and the peak day before switching.
Research method and limitations
Official facts (pricing page, Retail API, Learn): B1 $10/B2 $50/B3 $500, S1 $25/S2 $250/S3 $2,500 per unit-month; 400K/6M/300M messages per day per unit; 4 KB blocks; Free 8,000/day, 500 devices, 0.5 KB; unit caps 200/200/10; DPS $0.10/1,000; Device Update $70/instance + $0.07/device. Editorial calculations: one message per device per minute, 30 days/month, 4 KB blocks, units rounded up by peak day; economic ranges come from dividing price by capacity.
Seven limitations: (1) only eastus public list prices (major Asian regions match; Central India is about 1.4×), excluding tax/CSP/enterprise discounts/reservations; (2) device counts, frequency and payloads are editorial assumptions; (3) the TCO excludes routing destinations, Storage, logs, repeat DPS operations and Device Update (the last two are shown separately); (4) no real throttling/reconnect/OTA benchmark; (5) Free-tier features and quotas follow official docs; (6) unit changes are prorated by day and the billing month is 31 days, while examples use a full month; (7) prices and quotas change—recheck official pages and bills before purchase.
Sources and basis
- Microsoft Azure, Azure IoT Hub Pricing: azure.microsoft.com/en-us/pricing/details/iot-hub. B/S prices, capacity, Free limits, feature table, DPS, Device Update. Accessed 10 November 2026.
- Azure Retail Prices API (productName=IoT Hub, eastus): prices.azure.com/api/retail/prices. B1 $10, B2 $50, B3 $500, S1 $25, S2 $250, S3 $2,500, DPS $0.10/1K, Device Update $70 + $0.07. Accessed 10 November 2026.
- Microsoft Learn, Understand Azure IoT Hub pricing: learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-pricing. 4 KB blocks, twin/method/C2D/file-upload metering, keep-alives free, Device Streams preview not billed. Accessed 10 November 2026.
- Microsoft Learn, Azure IoT Hub scaling: learn.microsoft.com/en-us/azure/iot-hub/iot-hub-scaling. Per-unit capacity, unit caps, B/S feature boundaries, upgrade/downgrade rules. Accessed 10 November 2026.
Data cut-off 10 November 2026; prices/availability follow Microsoft official pages and bills; this is not procurement, commercial or legal advice.