MikroTik Queue Tree vs Simple Queue — Which One Should You Use? (2026)
Contents
- 1 MikroTik Queue Tree vs Simple Queue — Which One Should You Use? (2026)
- 1.1 What Is Simple Queue in MikroTik?
- 1.2 What Is Queue Tree in MikroTik?
- 1.3 Queue Tree vs Simple Queue — Full Comparison
- 1.4 Which One Should You Use? — Decision Guide
- 1.5 How to Set Up Simple Queue in MikroTik
- 1.6 How to Set Up Queue Tree in MikroTik
- 1.7 Understanding Burst in MikroTik Queues
- 1.8 Real-World Use Case — Nepal ISP Bandwidth Management
- 1.9 How MikroTik Processes Queues — Packet Flow Order
- 1.10 6 Common Mistakes with MikroTik Queues
- 1.11 Queue Troubleshooting — When Limits Are Not Working
- 1.12 Key Takeaways
- 1.13 Frequently Asked Questions
- 1.13.1 What is the difference between MikroTik Queue Tree and Simple Queue?
- 1.13.2 Which is better for an ISP — Queue Tree or Simple Queue?
- 1.13.3 What is PCQ in MikroTik and when should I use it?
- 1.13.4 Can I use Simple Queue and Queue Tree at the same time?
- 1.13.5 How do I limit bandwidth per user in MikroTik?
- 1.13.6 What does burst mean in MikroTik queues?
- 1.13.7 Does Queue Tree require Mangle rules?
- 1.13.8 What is HTB in MikroTik Queue Tree?
- 1.14 Related MikroTik Guides on Madankc.com.np
MikroTik Queue Tree vs Simple Queue — Which One Should You Use? (2026)
Quick Answer: Simple Queue is the easy choice — it limits bandwidth per IP address in a few clicks, no extra setup needed. Queue Tree is the advanced choice — it uses Mangle packet marks to build a full hierarchical QoS system, giving you precise control over traffic types, directions, and bandwidth sharing across many users. For home networks and small cafés, use Simple Queue. For ISPs, hotels, and enterprise networks, use Queue Tree.
| Simple Queue | Easy setup, per-IP limit, best for small networks |
| Queue Tree | Advanced, Mangle-based, best for ISPs and large deployments |
| PCQ (inside Queue Tree) | Auto-divides bandwidth equally among all users — best for public WiFi |
| Can I use both? | Not recommended — pick one and stick with it |
If you manage a MikroTik router for a café, hotel, ISP, or even your home, controlling who gets how much bandwidth is essential. MikroTik gives you two main tools to do this: Simple Queue and Queue Tree. They both limit speed, but they work very differently and are suited for different situations.
This guide explains both clearly, shows you exactly when to use each one, and gives you working configuration examples for 2026.
What Is Simple Queue in MikroTik?
Simple Queue is MikroTik’s built-in, beginner-friendly bandwidth limiter. You create a queue rule that targets a specific IP address, IP range, or interface — and set a maximum download and upload speed for it. That’s it. No extra configuration required.
Simple Queue is found in Winbox under: Queues → Simple Queues.
It works by matching traffic based on source and destination IP addresses, then applying your defined rate limit. RouterOS processes Simple Queues in order, top to bottom — so the first matching rule wins.
Simple Queue — Key Characteristics
- No Mangle rules needed
- Works on both download (to client) and upload (from client) in one rule
- Targets by IP address, IP range, or interface
- Supports burst (temporary speed boost)
- Supports parent-child queues (limited hierarchy)
- Processed before Queue Tree in packet flow
- Best for up to ~50–100 rules before performance degrades
[Screenshot: Winbox Queues → Simple Queues tab — list of queue rules with target IPs and rate limits]
Alt text: MikroTik Winbox Simple Queue list showing IP targets and download/upload rate limits
What Is Queue Tree in MikroTik?
Queue Tree is MikroTik’s advanced, hierarchical bandwidth management system. It is based on the HTB (Hierarchical Token Bucket) algorithm, which organizes queues into parent-child trees. Parent queues set the total bandwidth ceiling; child queues share it.
Queue Tree is found in Winbox under: Queues → Queue Tree.
Unlike Simple Queue, Queue Tree does not match traffic by IP. It matches traffic using packet marks — labels you apply to packets using IP → Firewall → Mangle rules. This makes it more powerful but also more complex to set up.
Queue Tree — Key Characteristics
- Requires Mangle rules to mark packets before queuing
- Download and upload are managed as separate queue rules (on different interfaces)
- Full hierarchical structure — unlimited parent/child levels
- Supports PCQ (Per Connection Queue) for automatic fair sharing
- Operates at the interface level — applied to a specific interface direction
- More efficient for large deployments (hundreds or thousands of users)
- Required for advanced QoS: prioritizing VoIP, limiting P2P, shaping per-service
[Screenshot: Winbox Queues → Queue Tree tab — parent queue on ether1 with child queues below it]
Alt text: MikroTik Winbox Queue Tree list showing parent and child queue hierarchy with packet marks
Queue Tree vs Simple Queue — Full Comparison
| Feature | Simple Queue | Queue Tree |
|---|---|---|
| Setup difficulty | ⭐ Easy — 2 minutes | ⭐⭐⭐ Advanced — requires Mangle |
| Requires Mangle rules | ❌ No | ✅ Yes (mandatory) |
| Traffic matching | By IP address / IP range | By packet mark (from Mangle) |
| Upload + Download in one rule | ✅ Yes | ❌ No — separate rules per direction |
| Interface-level queuing | Partial (via interface target) | ✅ Full interface direction control |
| Hierarchy (parent/child) | Limited (1–2 levels) | ✅ Unlimited levels (HTB) |
| PCQ support | ❌ No | ✅ Yes |
| Burst support | ✅ Yes | ✅ Yes |
| Priority levels | 1–8 (basic) | 1–8 + HTB borrowing |
| Performance (large deployments) | Slows with many rules (100+) | ✅ Scales to thousands of users |
| Per-service QoS | ❌ Not practical | ✅ Yes (VoIP, streaming, P2P) |
| Processes in packet flow | Before Queue Tree | After Simple Queue |
| Best for | Home, small office, café (few users) | ISP, hotel, enterprise, public WiFi |
Which One Should You Use? — Decision Guide
| Your Situation | Use This | Why |
|---|---|---|
| Home network, 1–5 devices, simple speed limit | Simple Queue | No complexity needed. Done in 2 minutes. |
| Small café, 10–30 customers, equal speed per user | Simple Queue or Queue Tree + PCQ | Simple Queue if you assign IPs; PCQ if dynamic users |
| Hotel, 50–200 rooms, per-room limits + shared pool | Queue Tree | Hierarchical structure handles room-level + floor-level limits |
| ISP with 100+ subscribers | Queue Tree + PCQ | Simple Queue degrades at scale; Queue Tree is built for ISP use |
| Prioritize VoIP / video calls over downloads | Queue Tree | Mangle marks let you prioritize by protocol or port |
| Limit P2P/torrent while keeping normal traffic fast | Queue Tree | Mark P2P traffic in Mangle, deprioritize it in Queue Tree |
| Hotspot users needing equal fair-share bandwidth | Queue Tree + PCQ | PCQ auto-divides total bandwidth equally per connection |
| MikroTik beginner learning queues for first time | Simple Queue | Master Simple Queue first, then graduate to Queue Tree |
How to Set Up Simple Queue in MikroTik
Here is how to limit a single user or IP range using Simple Queue.
Simple Queue via Winbox
- Open Winbox or WebFig at 192.168.88.1 and log in.
- Go to Queues → Simple Queues.
- Click + (Add).
- Fill in the fields:
- Name: e.g.,
user-192.168.88.10 - Target: IP address or range, e.g.,
192.168.88.10or192.168.88.0/24 - Max Limit (↓ Download): e.g.,
5M - Max Limit (↑ Upload): e.g.,
2M
- Name: e.g.,
- Click OK.
The user at 192.168.88.10 is now limited to 5 Mbps download and 2 Mbps upload.
[Screenshot: Simple Queue add dialog — Target field showing 192.168.88.10, Max Limit fields showing 5M/2M]
Alt text: MikroTik Simple Queue configuration window with IP target and rate limit fields
Simple Queue via CLI (Copy-Paste Ready)
# Limit a single IP to 5M download / 2M upload
/queue simple add name=user-10 target=192.168.88.10/32 max-limit=5M/2M
# Limit an entire subnet (all users on 192.168.88.0/24) to 10M/5M total
/queue simple add name=all-users target=192.168.88.0/24 max-limit=10M/5M
# Limit with burst — allow 10M for first 8 seconds, then throttle to 5M
/queue simple add name=user-burst target=192.168.88.20/32 \
max-limit=5M/2M \
burst-limit=10M/4M \
burst-threshold=4M/2M \
burst-time=8s/8sLimit All Hotspot Users with Simple Queue
Running a MikroTik hotspot? Use User Profiles for per-user limits instead of Simple Queue. But if you want a global cap on your entire hotspot subnet:
# Cap total hotspot subnet to 20M download / 10M upload
/queue simple add name=hotspot-global target=192.168.88.0/24 max-limit=20M/10MHow to Set Up Queue Tree in MikroTik
Queue Tree setup has two parts: Step 1 — Mark packets with Mangle, then Step 2 — Create Queue Tree rules. You cannot skip Mangle.
Basic Queue Tree Setup — Limit One User
Step 1: Create Mangle Rules to Mark Traffic
- Go to IP → Firewall → Mangle.
- Add a rule to mark download traffic (traffic going TO the user):
- Chain:
forward - Dst. Address:
192.168.88.10 - Action:
mark packet - New Packet Mark:
user10-download - Passthrough: No
- Chain:
- Add another rule for upload traffic (traffic coming FROM the user):
- Chain:
forward - Src. Address:
192.168.88.10 - Action:
mark packet - New Packet Mark:
user10-upload - Passthrough: No
- Chain:
/ip firewall mangle
add chain=forward dst-address=192.168.88.10 action=mark-packet new-packet-mark=user10-download passthrough=no comment="Mark download for user 192.168.88.10"
add chain=forward src-address=192.168.88.10 action=mark-packet new-packet-mark=user10-upload passthrough=no comment="Mark upload for user 192.168.88.10"[Screenshot: Mangle rule dialog — Chain: forward, Dst. Address: 192.168.88.10, Action: mark packet]
Alt text: MikroTik Mangle rule configuration for Queue Tree packet marking
Step 2: Create Queue Tree Rules
- Go to Queues → Queue Tree.
- Add a rule for download limit:
- Name:
user10-dl - Parent:
ether2(your LAN interface — where traffic goes TO the user) - Packet Mark:
user10-download - Max Limit:
5M
- Name:
- Add another rule for upload limit:
- Name:
user10-ul - Parent:
ether1(your WAN interface — where traffic leaves FROM the user) - Packet Mark:
user10-upload - Max Limit:
2M
- Name:
- Click OK on both.
/queue tree
add name=user10-dl parent=ether2 packet-mark=user10-download max-limit=5M comment="Download limit user 192.168.88.10"
add name=user10-ul parent=ether1 packet-mark=user10-upload max-limit=2M comment="Upload limit user 192.168.88.10"Queue Tree + PCQ Setup — Fair Bandwidth for All Users
PCQ (Per Connection Queue) is the best solution when you have many users and want automatic fair sharing. Instead of creating one queue per user, one PCQ queue handles everyone automatically.
Step 1: Create PCQ Queue Types
- Go to Queues → Queue Types.
- Add a PCQ type for download:
- Name:
pcq-download - Kind:
pcq - Classifier:
dst-address(one queue per destination IP) - Rate:
5M(max per user)
- Name:
- Add a PCQ type for upload:
- Name:
pcq-upload - Kind:
pcq - Classifier:
src-address - Rate:
2M
- Name:
/queue type
add name=pcq-download kind=pcq pcq-classifier=dst-address pcq-rate=5M
add name=pcq-upload kind=pcq pcq-classifier=src-address pcq-rate=2MStep 2: Mangle — Mark All Traffic
/ip firewall mangle
add chain=forward src-address=192.168.88.0/24 action=mark-packet new-packet-mark=all-upload passthrough=no
add chain=forward dst-address=192.168.88.0/24 action=mark-packet new-packet-mark=all-download passthrough=noStep 3: Create Queue Tree with PCQ
/queue tree
add name=total-download parent=ether2 packet-mark=all-download max-limit=100M queue=pcq-download
add name=total-upload parent=ether1 packet-mark=all-upload max-limit=50M queue=pcq-uploadNow every user on the 192.168.88.0/24 subnet gets a fair share of the total 100 Mbps download and 50 Mbps upload — automatically. No per-user rules needed. When 10 users are active, each gets up to 10M. When 1 user is active, they can use the full 100M.
[Screenshot: Queue Tree tab — total-download and total-upload rules with PCQ queue type assigned]
Alt text: MikroTik Queue Tree with PCQ queue type for fair automatic bandwidth sharing
Understanding Burst in MikroTik Queues
Burst lets a user temporarily exceed their normal speed limit for a short time. It makes internet feel faster for casual browsing and quick downloads — even on a limited plan.
| Burst Setting | Meaning | Example Value |
|---|---|---|
| Max Limit | Normal maximum speed | 5M |
| Burst Limit | Maximum speed during burst | 10M |
| Burst Threshold | Average speed below which burst is allowed | 4M |
| Burst Time | Time window for calculating average speed | 8s |
How it works: RouterOS tracks the user’s average speed over the Burst Time window. As long as that average stays below Burst Threshold (4M), the user is allowed to burst up to Burst Limit (10M). Once the average exceeds 4M, burst stops and normal Max Limit (5M) applies.
/queue simple add name=user-with-burst target=192.168.88.15/32 \
max-limit=5M/2M \
burst-limit=10M/4M \
burst-threshold=4M/1M \
burst-time=8s/8sReal-World Use Case — Nepal ISP Bandwidth Management
Here is a real-world scenario: a small ISP in Nepal with a 200 Mbps uplink and 80 subscribers on a MikroTik CCR router.
Wrong Way — Too Many Simple Queue Rules
# BAD — 80 individual Simple Queue rules
/queue simple add name=sub-01 target=10.10.1.1/32 max-limit=10M/5M
/queue simple add name=sub-02 target=10.10.1.2/32 max-limit=10M/5M
# ... repeated 80 times
# Result: CPU usage spikes to 70–90% at peak hoursRight Way — Queue Tree + PCQ (Scalable)
# GOOD — Two Queue Tree rules handle all 80 subscribers automatically
# 1. Queue types
/queue type
add name=pcq-sub-dl kind=pcq pcq-classifier=dst-address pcq-rate=10M
add name=pcq-sub-ul kind=pcq pcq-classifier=src-address pcq-rate=5M
# 2. Mangle — mark subscriber traffic
/ip firewall mangle
add chain=forward dst-address=10.10.1.0/24 action=mark-packet new-packet-mark=sub-download passthrough=no
add chain=forward src-address=10.10.1.0/24 action=mark-packet new-packet-mark=sub-upload passthrough=no
# 3. Queue Tree — apply limits
/queue tree
add name=isp-download parent=ether2 packet-mark=sub-download max-limit=200M queue=pcq-sub-dl
add name=isp-upload parent=ether1 packet-mark=sub-upload max-limit=100M queue=pcq-sub-ul
# Result: CPU drops to 10–20%, each subscriber gets fair share up to 10M/5MThis is a huge difference. Instead of 80 queue rules fighting for CPU resources, you have 2 Queue Tree rules doing all the work automatically.
How MikroTik Processes Queues — Packet Flow Order
Understanding where queues fit in the RouterOS packet flow helps you avoid conflicts and double-limiting.
| Order | Process | Notes |
|---|---|---|
| 1 | Packet arrives at interface | Ingress |
| 2 | Firewall RAW (prerouting) | Fastest drop point |
| 3 | Routing decision | Local or forward |
| 4 | Firewall Mangle (forward) | ⬅️ Packet marks set HERE for Queue Tree |
| 5 | Firewall Filter (forward) | Allow/drop decisions |
| 6 | Simple Queue | ⬅️ Applied HERE — before Queue Tree |
| 7 | Firewall NAT (srcnat) | Address translation |
| 8 | Queue Tree | ⬅️ Applied HERE — at interface egress |
| 9 | Packet leaves interface | Egress |
6 Common Mistakes with MikroTik Queues
-
Mixing Simple Queue and Queue Tree on the same traffic.
Results in double-limiting — traffic gets capped by both systems. Choose one and apply it consistently. If you are migrating from Simple Queue to Queue Tree, delete all Simple Queue rules first. -
Wrong interface direction in Queue Tree.
Download queues must be on the LAN interface (traffic going to clients). Upload queues must be on the WAN interface (traffic going out). Getting this backwards means limits apply to the wrong direction and seem to have no effect. -
Creating Mangle marks with passthrough=yes.
If Mangle rules usepassthrough=yes, the packet continues matching more rules and may get marked multiple times. Setpassthrough=noon your Queue Tree marks to stop processing after the first match. -
Using Simple Queue on interface instead of IP with 100+ users.
A single Simple Queue rule on an interface target limits the entire subnet — it does not limit per user. You need one rule per IP for per-user limiting with Simple Queue. For large user counts, this becomes unmanageable. Use Queue Tree + PCQ instead. -
Forgetting to set PCQ classifier correctly.
For download PCQ: classifier must bedst-address(tracks destination = client IP). For upload PCQ: classifier must besrc-address(tracks source = client IP). Swapping these means all traffic is treated as one connection instead of per-user. -
Not connecting to the MikroTik admin panel before configuring queues.
Always access your router via 192.168.88.1 in Winbox or browser and verify the configuration is saved. Queue rules that look correct in Winbox sometimes have an interface name mismatch that only shows up in/queue tree printCLI output.
Queue Troubleshooting — When Limits Are Not Working
| Problem | Likely Cause | Fix |
|---|---|---|
| Simple Queue rule shows 0 bytes passing | Wrong target IP or interface | Verify target IP with /ip address print. Check client is actually using that IP. |
| Queue Tree rule shows 0 bytes | Mangle marks not hitting | Go to IP → Firewall → Mangle → check byte counter on mangle rules. If 0, the IP/chain is wrong. |
| Users bypass the speed limit | FastTrack / connection tracking | FastTrack bypasses queues. Disable FastTrack: /ip firewall filter set [find comment~"FastTrack"] action=accept and disable FastTrack rule, or add tracked connection handling. |
| Speed limit is exactly double what you set | Both Simple Queue AND Queue Tree active | Remove one system. Check both /queue simple print and /queue tree print for conflicts. |
| PCQ not dividing bandwidth fairly | Wrong PCQ classifier (src vs dst) | Download PCQ: classifier=dst-address. Upload PCQ: classifier=src-address. Recreate queue types. |
| Queue Tree limits upload but not download (or vice versa) | Wrong parent interface direction | Download parent = LAN interface. Upload parent = WAN interface. Swap and retest. |
| Router CPU spikes to 100% with queues active | Too many Simple Queue rules | Migrate to Queue Tree + PCQ. Also check if FastTrack is disabled — re-enable it for non-queued traffic. |
Useful CLI Diagnostic Commands
# View all Simple Queue rules with traffic counters
/queue simple print stats
# View all Queue Tree rules with traffic counters
/queue tree print stats
# View Mangle rules with byte/packet counters
/ip firewall mangle print stats
# Check if FastTrack is active (bypasses queues)
/ip firewall filter print where action=fasttrack-connection
# Monitor real-time bandwidth per queue
/queue simple monitor 0Key Takeaways
- ✅ Simple Queue = easy, per-IP bandwidth limit. Best for home, small office, café. No Mangle needed.
- ✅ Queue Tree = advanced, hierarchical QoS. Best for ISPs, hotels, enterprises. Requires Mangle packet marks.
- ✅ PCQ inside Queue Tree automatically divides total bandwidth fairly among all active users — ideal for public WiFi and ISPs.
- ✅ Never mix Simple Queue and Queue Tree on the same traffic — packets get limited twice.
- ✅ In Queue Tree, download queues go on the LAN interface and upload queues go on the WAN interface — not the other way around.
- ✅ Burst improves perceived speed without costing real bandwidth — enable it for ISP subscriber profiles.
- ✅ FastTrack bypasses all queues — if limits are not working, FastTrack is usually the cause.
- ✅ For Nepal ISPs with 50+ subscribers, switching from Simple Queue to Queue Tree + PCQ typically reduces peak-hour CPU usage by 50–70%.
Frequently Asked Questions
What is the difference between MikroTik Queue Tree and Simple Queue?
Simple Queue is a beginner-friendly per-IP bandwidth limiter that requires no extra setup. Queue Tree is an advanced hierarchical QoS system that uses Mangle packet marks and supports full parent-child bandwidth structures. Simple Queue is for small networks; Queue Tree is for ISPs and large deployments.
Which is better for an ISP — Queue Tree or Simple Queue?
Queue Tree is significantly better for ISPs. It scales to thousands of users without CPU overload, supports PCQ for automatic fair bandwidth sharing, and enables per-service QoS (like prioritizing VoIP over file downloads). Simple Queue becomes inefficient and CPU-heavy when you have more than 50–100 rules.
What is PCQ in MikroTik and when should I use it?
PCQ (Per Connection Queue) is a queue type that automatically divides available bandwidth equally among all active users or connections. You set a maximum rate per user (e.g., 5M), and PCQ handles fair distribution automatically as users come and go. Use it inside Queue Tree when you manage many users and don’t want to create individual queue rules for each one.
Can I use Simple Queue and Queue Tree at the same time?
Technically yes, but you should not. RouterOS processes Simple Queue before Queue Tree — a packet matching both systems gets limited twice. Pick one bandwidth management approach and apply it consistently. If migrating to Queue Tree, remove all Simple Queue rules first.
How do I limit bandwidth per user in MikroTik?
For simple setups: use Simple Queue — go to Queues → Simple Queues → add a rule with the target IP and set Max Limit. For advanced setups: use Queue Tree with Mangle marks — mark the user’s traffic in IP → Firewall → Mangle, then create a Queue Tree rule matching that mark with a Max Limit on the appropriate interface.
What does burst mean in MikroTik queues?
Burst allows users to temporarily exceed their rate limit for a short period when their recent average usage is below the burst threshold. For example, a 5M plan with 10M burst lets users download at 10 Mbps for several seconds when starting a new download. It makes browsing feel faster without changing the sustained speed limit.
Does Queue Tree require Mangle rules?
Yes, always. Queue Tree matches traffic using packet marks, which are set by Mangle rules in IP → Firewall → Mangle. Without Mangle marks, Queue Tree rules have nothing to match and will not apply any limits. This is the main difference from Simple Queue, which can match directly by IP address without any Mangle rules.
What is HTB in MikroTik Queue Tree?
HTB (Hierarchical Token Bucket) is the queuing algorithm behind MikroTik’s Queue Tree. It organizes queues in a tree structure where parent queues define the total bandwidth ceiling and child queues borrow unused bandwidth from sibling queues within the parent’s limit. This allows efficient and fair traffic distribution across many users or services.
Related MikroTik Guides on Madankc.com.np
- 📌 MikroTik Guides — Full Hub Page
- 📌 192.168.88.1 — MikroTik Default Login Guide
- 📌 MikroTik PPPoE Setup for Nepal ISPs (WorldLink, Subisu, Vianet)
- 📌 MikroTik Hotspot Setup — Café & Hotel WiFi Guide
- 📌 MikroTik Firewall Rules for Beginners
Official reference: MikroTik RouterOS Queues Documentation — help.mikrotik.com
Which Queue Type Are You Using?
Drop a comment below — tell us your setup: how many users, which MikroTik model, and whether you are using Simple Queue or Queue Tree. If you are having a specific problem with queues not working, describe it and we will help you fix it. 👇
Found this guide useful? Share it with your fellow MikroTik admins in Nepal. 🙏
