MikroTik Queue Tree vs Simple Queue — Which One Should You Use? (2026)

Contents

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.

⚡ TL;DR — At a Glance:
Simple QueueEasy setup, per-IP limit, best for small networks
Queue TreeAdvanced, 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

FeatureSimple QueueQueue Tree
Setup difficulty⭐ Easy — 2 minutes⭐⭐⭐ Advanced — requires Mangle
Requires Mangle rules❌ No✅ Yes (mandatory)
Traffic matchingBy IP address / IP rangeBy packet mark (from Mangle)
Upload + Download in one rule✅ Yes❌ No — separate rules per direction
Interface-level queuingPartial (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 levels1–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 flowBefore Queue TreeAfter Simple Queue
Best forHome, small office, café (few users)ISP, hotel, enterprise, public WiFi

Which One Should You Use? — Decision Guide

Your SituationUse ThisWhy
Home network, 1–5 devices, simple speed limitSimple QueueNo complexity needed. Done in 2 minutes.
Small café, 10–30 customers, equal speed per userSimple Queue or Queue Tree + PCQSimple Queue if you assign IPs; PCQ if dynamic users
Hotel, 50–200 rooms, per-room limits + shared poolQueue TreeHierarchical structure handles room-level + floor-level limits
ISP with 100+ subscribersQueue Tree + PCQSimple Queue degrades at scale; Queue Tree is built for ISP use
Prioritize VoIP / video calls over downloadsQueue TreeMangle marks let you prioritize by protocol or port
Limit P2P/torrent while keeping normal traffic fastQueue TreeMark P2P traffic in Mangle, deprioritize it in Queue Tree
Hotspot users needing equal fair-share bandwidthQueue Tree + PCQPCQ auto-divides total bandwidth equally per connection
MikroTik beginner learning queues for first timeSimple QueueMaster Simple Queue first, then graduate to Queue Tree
🇳🇵 Nepal ISP Tip: Most small ISPs in Nepal (50–200 subscribers on a single MikroTik) run into CPU load issues when using hundreds of Simple Queue rules. Migrating to Queue Tree + PCQ dramatically reduces CPU usage and gives fairer bandwidth distribution to all subscribers — especially during peak hours (6–10 PM).

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

  1. Open Winbox or WebFig at 192.168.88.1 and log in.
  2. Go to Queues → Simple Queues.
  3. Click + (Add).
  4. Fill in the fields:
    • Name: e.g., user-192.168.88.10
    • Target: IP address or range, e.g., 192.168.88.10 or 192.168.88.0/24
    • Max Limit (↓ Download): e.g., 5M
    • Max Limit (↑ Upload): e.g., 2M
  5. 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/8s

Limit 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/10M

How 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

  1. Go to IP → Firewall → Mangle.
  2. 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
  3. 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
/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

  1. Go to Queues → Queue Tree.
  2. 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
  3. 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
  4. 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"
⚠️ Interface Direction Rule: In Queue Tree, download queues go on the LAN interface (traffic flowing toward clients), and upload queues go on the WAN interface (traffic flowing away from clients). Getting this backwards is the #1 Queue Tree mistake.

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

  1. Go to Queues → Queue Types.
  2. Add a PCQ type for download:
    • Name: pcq-download
    • Kind: pcq
    • Classifier: dst-address (one queue per destination IP)
    • Rate: 5M (max per user)
  3. Add a PCQ type for upload:
    • Name: pcq-upload
    • Kind: pcq
    • Classifier: src-address
    • Rate: 2M
/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=2M

Step 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=no

Step 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-upload

Now 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 SettingMeaningExample Value
Max LimitNormal maximum speed5M
Burst LimitMaximum speed during burst10M
Burst ThresholdAverage speed below which burst is allowed4M
Burst TimeTime window for calculating average speed8s

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/8s
💡 Practical tip for Nepal ISPs: Enable burst for all subscriber queues. It costs you almost nothing in real bandwidth but makes the connection feel noticeably faster to customers during typical web browsing (which is bursty by nature). Customers complain less about speed.

Real-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 hours

Right 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/5M

This is a huge difference. Instead of 80 queue rules fighting for CPU resources, you have 2 Queue Tree rules doing all the work automatically.

ℹ️ Important: For ISPs in Nepal using PPPoE for subscriber authentication, Queue Tree can be applied per PPPoE interface or globally on the aggregation interface. The approach above (subnet-level PCQ) works for both PPPoE and static IP deployments.

How MikroTik Processes Queues — Packet Flow Order

Understanding where queues fit in the RouterOS packet flow helps you avoid conflicts and double-limiting.

OrderProcessNotes
1Packet arrives at interfaceIngress
2Firewall RAW (prerouting)Fastest drop point
3Routing decisionLocal or forward
4Firewall Mangle (forward)⬅️ Packet marks set HERE for Queue Tree
5Firewall Filter (forward)Allow/drop decisions
6Simple Queue⬅️ Applied HERE — before Queue Tree
7Firewall NAT (srcnat)Address translation
8Queue Tree⬅️ Applied HERE — at interface egress
9Packet leaves interfaceEgress
⚠️ Key Rule: Simple Queue runs before Queue Tree. If the same packet matches both a Simple Queue rule and a Queue Tree rule, it gets limited twice. This is why you should not mix both systems on the same traffic. Pick one.

6 Common Mistakes with MikroTik Queues

  1. 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.
  2. 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.
  3. Creating Mangle marks with passthrough=yes.
    If Mangle rules use passthrough=yes, the packet continues matching more rules and may get marked multiple times. Set passthrough=no on your Queue Tree marks to stop processing after the first match.
  4. 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.
  5. Forgetting to set PCQ classifier correctly.
    For download PCQ: classifier must be dst-address (tracks destination = client IP). For upload PCQ: classifier must be src-address (tracks source = client IP). Swapping these means all traffic is treated as one connection instead of per-user.
  6. 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 print CLI output.

Queue Troubleshooting — When Limits Are Not Working

ProblemLikely CauseFix
Simple Queue rule shows 0 bytes passingWrong target IP or interfaceVerify target IP with /ip address print. Check client is actually using that IP.
Queue Tree rule shows 0 bytesMangle marks not hittingGo to IP → Firewall → Mangle → check byte counter on mangle rules. If 0, the IP/chain is wrong.
Users bypass the speed limitFastTrack / connection trackingFastTrack 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 setBoth Simple Queue AND Queue Tree activeRemove one system. Check both /queue simple print and /queue tree print for conflicts.
PCQ not dividing bandwidth fairlyWrong 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 directionDownload parent = LAN interface. Upload parent = WAN interface. Swap and retest.
Router CPU spikes to 100% with queues activeToo many Simple Queue rulesMigrate 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 0

Key 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.

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. 🙏