Hey

I've built some massive Notion systems.
The kind that could crash slow laptops. After years of trial, testing, and customer feedback, I learned how to keep them fast and stable, no matter how complex they get.

If you've ever experienced lag in your Notion workspace or noticed your templates slowing down as they grow, you're not alone.
The good news? Most performance issues can be solved with a few strategic optimizations.
Here are 10 things you need to avoid (or implement) if you want your Notion templates to run faster.
1. Optimize Your Images

This is the first mistake most creators make. If your covers or gallery images are over 5 MB, they'll slow everything down — every time a page loads, Notion has to pull those files again.
Why it matters: Large image files create unnecessary data requests that bog down your page load times.
Even beautiful cover images can become performance killers if they're not properly optimized.
How to fix it:
Compress before uploading: Use tools like TinyPNG or Squoosh to reduce file sizes without sacrificing quality
Use external links: Services like Unsplash or ImageKit can host your images and reduce the load on your workspace
Set size limits: Keep images under 1-2 MB whenever possible
Choose the right format: WebP files are smaller than PNG or JPEG while maintaining quality
Your workspace will feel instantly lighter, and pages will load noticeably faster.
2. Eliminate Duplicate Properties

In my early templates, I used to create multiple properties that basically did the same thing.
One formula to calculate progress. Another one to style that same progress bar.
The problem: Each property in a database requires processing power. When you have duplicate properties performing similar functions, you're doubling the computational load unnecessarily.
The solution: Combine logic and visuals using modern formula functions like map()
, filter()
, and style()
. Now I just use one optimized formula that handles both calculation and presentation.
Example: Instead of:
Formula 1: Calculates progress percentage
Formula 2: Displays progress bar visualization
Create one formula that does both:
Less clutter. Less computing. Much faster.
3. Use the let()
Function for Formula Optimization

If your formulas are getting long, use the let()
function. It allows you to define variables once and reuse them.
Why it works: Without let()
, Notion has to re-calculate the same expression every time it appears in your formula.
That means if you reference the same calculation ten times, it's being processed ten times.
The transformation: I rebuilt most of my major formulas in Second Brain 6.0 this way, and it made a big difference in load time.
Before (inefficient):
After (optimized with let()
):
The second version calculates the progress once and reuses it, rather than calculating it three separate times.
4. Reduce the Number of Views Per Page

This one's underrated. Each view = new filters, new sorts, and new background calculations.
The hidden cost: If you've got 8+ views on a single dashboard, that's 8 mini-databases running in the background.
Each view needs to process its own filters, sorts, and display logic every time the page loads.
My approach now: I keep only the necessary ones — clean dashboards load twice as fast.
Best practices:
Limit views to 3-5 per database page
Use linked databases on separate pages if you need many views
Consider if a view is truly essential or just "nice to have"
Archive or delete views you rarely use
The performance improvement is immediate and dramatic.
5. Avoid Infinite Loops in Your System

When I built Game Mode, I ran into a strange issue. Challenges would unlock after reaching a certain level. But completing them also gave you Levels… which increased your level… which unlocked more challenges...
The problem: That's a loop — and it made the system lag like crazy.
Notion gets trapped trying to recalculate circular dependencies, causing severe performance degradation.
How to prevent loops:
Map your relations: Before creating formulas, diagram how your databases connect
Avoid circular dependencies: If Database A references Database B, Database B shouldn't reference Database A in a way that creates feedback
Separate into layers: If one calculation depends on another, keep them in different properties or databases
Use one-way relationships: Make sure data flows in a single direction
Warning signs of loops:
Formulas that take extremely long to calculate
Properties that seem to constantly update
Unexpected changes when you edit unrelated fields
If you notice these symptoms, check for circular references immediately.
6. Minimize Widgets and External Embeds

Widgets can add beautiful functionality and aesthetics to your Notion workspace, but they come with a hidden performance cost.
The reality: Every widget is a web-based element that requires external data requests.
Weather widgets, clocks, countdowns, and embedded content all make constant requests to external servers.
The performance impact: Too many widgets can mean constant data requests, especially for real-time updates, which significantly slows down page loading.
How to optimize:
Audit your widgets: Review which ones you actually use versus which ones just look nice
Nest in toggle blocks: Use Toggle blocks to nest widgets, which reduces the number of requests Notion needs to make to load your page
Choose lightweight widgets: A simple quote widget loads faster than a live weather widget
Limit embeds: Too many YouTube videos, Google Maps, or external site embeds will slow things down
Consider alternatives: Sometimes a simple text block can replace a widget entirely
Rule of thumb: If you have more than 3-5 widgets on a single page, consider reducing or nesting them.
7. Adjust Your Database Load Limit

Most people don't know this setting exists, but it can dramatically improve performance for large databases.
What it does: The load limit sets the max number of rows that will be loaded automatically. By default, Notion tries to load all your database entries at once.
How to adjust it:
Open your database view
Click the
•••
menu in the top rightSelect "Load limit"
Set it to 25, 50, or 100 instead of "No limit"
Additional optimization: You can load more rows using the "Load More" button when needed, giving you control over performance without losing access to your data.
Best for:
Databases with hundreds or thousands of entries
Archive databases where you rarely need all entries at once
Reference libraries or content repositories
This single setting can cut your initial page load time in half for large databases.
8. Hide Unnecessary Properties

The more visible properties your database has, the longer it might take to load. Every visible column requires processing and rendering, even if you're not actively looking at it.
The solution: Use property visibility settings to show only what you need.
How to hide properties:
Open your database
Click the
•••
menu at the top rightSelect "Property visibility" or "Properties"
Toggle off properties you don't need to see in that view
Strategic hiding:
Keep 5-8 essential properties visible
Hide administrative properties (Created time, Last edited, etc.) unless actively needed
Hide complex formulas you don't need to monitor constantly
Create different views with different visible properties for different use cases
Pro tip: Hidden properties still function in the background — your formulas still work, relations still connect, rollups still calculate. You're just not rendering them visually.
This is especially powerful when combined with multiple views. Your "Quick View" can show 5 properties while your "Detailed View" shows 15.
9. Archive and Delete Old Pages Regularly

Removing any unnecessary or duplicative pages from your database keeps it as simple and up-to-date as possible.
Over time, workspaces accumulate digital clutter that slows everything down.
The accumulation problem: Every page, even archived ones, adds to your workspace's load. Test pages, duplicate templates, old projects — they all contribute to performance degradation.
Maintenance strategies:
Option 1: Archive System
Create an "Archive" database
Move completed or outdated pages there
Set a load limit on your archive database
Option 2: Time-Based Filtering
Add a filter on the Created time property to filter out old pages, which may significantly improve performance for very large databases
Create a view that only shows items from the last 3-6 months
Keep a separate "All Items" view for when you need to reference old content
Option 3: Regular Purges
Schedule quarterly reviews
Permanently delete test pages and duplicates
Export important historical data before deletion
Option 4: Export and External Storage
Export old projects to PDF or Markdown
Store them in cloud storage (Google Drive, Dropbox)
Keep a reference link in Notion instead of the full content
What to delete:
Duplicate pages
Test pages from when you were setting up
Templates you no longer use
Completed projects you won't reference again
Old meeting notes beyond a certain timeframe
I recommend doing a workspace audit every 3-4 months. You'll be surprised how much accumulated content is no longer serving you.
10. Clear Your Cache Regularly

Over time, Notion's cache can become bloated with outdated data, temporary files, and accumulated "digital debris" that slows down the app.
Why clearing cache helps: The cache stores temporary data to speed up loading, but when it gets too large or contains corrupted files, it has the opposite effect.
How to clear cache on different platforms:
Desktop App (Mac):
Click "Help" in the menu bar
Select "Troubleshooting"
Click "Clear cache and reload"
Or for a complete reset: "Reset & Erase All Local Data" (use cautiously)
Desktop App (Windows):
Click "Help" in the menu bar
Select "Troubleshooting"
Click "Clear cache and reload"
Web Browser:
Clear your browser's cache through browser settings
Notion's cache is stored with your regular browser cache
Chrome: Settings → Privacy and security → Clear browsing data
Firefox: Settings → Privacy & Security → Clear Data
Mobile App (iOS/Android):
iOS: Settings → Notion → Clear Cache (if available)
Android: Settings → Apps → Notion → Storage → Clear Cache
When to clear cache:
Notion feels unusually slow
Pages aren't loading properly
You see old or incorrect data
After major template modifications
Once a month as preventive maintenance
Important note: Clearing cache won't delete your content — it only removes temporary files. Your pages, databases, and templates remain intact.
Bonus: Remember Device Performance Matters

Even with all these optimizations, remember — Notion's performance also depends on your device. A slow computer will still struggle with large workspaces.

But here's the key: If your template is clean, optimized, and loop-free — it'll run faster for everyone, including your customers.
Additional device-level tips:
Use the desktop app instead of web browser for better performance
Close unnecessary apps running in the background
Ensure you have adequate RAM (8GB minimum recommended)
Keep your operating system and Notion app updated
If you want to skip the guesswork and use a Notion system already optimized for speed, simplicity, and clarity.
Check out Second Brain 6.0 👉 https://olsnotion.com/secondbrain


Putting It All Together
These 10 optimization strategies work best when combined. You don't need to implement all of them at once — start with the ones that address your biggest pain points:
If pages load slowly: Focus on image optimization (#1), load limits (#7), and clearing cache (#10)
If formulas are sluggish, Implement let()
functions (#3) and eliminate duplicates (#2)
If dashboards feel heavy: Reduce views (#4), hide properties (#8), and minimize widgets (#6)
If the system is unstable: Check for loops (#5) and archive old content (#9)
The beautiful thing about Notion is its flexibility. But with that flexibility comes the responsibility to build efficiently. By following these principles, you can create powerful, complex systems that remain fast and responsive.
Your users — and your laptop — will thank you.
Which of these tips surprised you the most? Have you made any of these mistakes before? Share your experience in the comments below. 👇

Thank you for reading
Osama aka Ols