February 10, 2026
Two-Column Slides Without the Text Box Nightmare
PowerPoint's text box approach to columns is fragile and tedious. Here's how to get balanced two-column slides automatically from plain text.
If you’ve ever tried to create a two-column slide in PowerPoint, you know the pain. You drag two text boxes side by side, paste content into each, then spend 10 minutes making them the same height. Add a bullet to the left column and everything shifts. The right column overflows. You resize, re-align, and re-check. Then someone adds “one more point” and it all breaks again.
There’s a better way to build comparison slides.
The problem with manual columns
People try a few approaches in PowerPoint, and none of them are great:
- Two text boxes. Manual sizing, manual alignment, breaks when you add content.
- Tables with invisible borders. Works for simple cases, but tables don’t support bullet formatting or nested lists.
- SmartArt. Looks good at first, but has bizarre formatting rules and fights you when you try to customise.
- Pre-built two-column layouts. Better, but the columns aren’t balanced — the left side might have 3 bullets and the right side 7, and PowerPoint doesn’t adjust.
The common thread: you’re spending time on layout instead of content.
How DeckEngine handles columns
Write your content as plain text. Add ::: two-column to tell DeckEngine you want a two-column layout. It does the rest.
# Cloud Providers::: two-column
## AWS- Largest market share- Most services available- Complex pricing model- Strong enterprise support
## Azure- Microsoft integration- Growing rapidly- Simplified licensing for existing MS customers- Hybrid cloud strengthDeckEngine’s layout engine measures each piece of content using Typst (a typesetting engine), finds the optimal split point, and creates two balanced columns. The “AWS” section goes in the left column, “Azure” in the right. Heights are equalised automatically.
What “balanced” actually means
DeckEngine doesn’t just split your bullets in half. It measures the actual rendered height of each content item — including font size, line wrapping, and section headers — and finds the split point that minimises the height difference between columns.
This means:
- A section with 3 long bullets can balance against a section with 5 short bullets
- Section headers (
##) stay with their bullets — they’re never split across columns - Tables and code blocks are measured accurately, not estimated
The result: columns that look balanced to the eye, not just equal in bullet count.
Three patterns that work well
Pros and cons
# Should We Adopt Kubernetes?
## Advantages- Automatic scaling and healing- Portable across cloud providers- Strong ecosystem and tooling
## Concerns- Steep learning curve- Operational complexity- Overkill for small teamsBefore and after
# Process Improvement Results
## Before- Manual deployment: 4 hours- Rollback: "restore from backup"- Downtime: 30-60 minutes per deploy
## After- Automated pipeline: 12 minutes- One-click rollback- Zero-downtime deploymentsStatus dashboard
# Sprint Review::: two-column
## Completed [pill:green]- User authentication- Search functionality- API documentation
## In Progress [pill:blue]- Dashboard redesign- Mobile responsiveness- Performance optimisationThat last example uses pill badges — coloured labels on section headers. They’re especially effective on comparison slides.
When columns don’t help
Not everything benefits from a two-column layout:
- Sequential content. If items have a natural order (step 1, step 2, step 3), use a single column. Columns imply comparison, not sequence.
- Very uneven content. If one side has 2 bullets and the other has 15, the columns won’t look balanced regardless of height matching.
- Dense tables. Tables usually need the full slide width. Don’t put a wide table in a column.
Try it
Go to deckengine.io and paste this:
# Feature Comparison
## Free Tier- 1 download per session- Dark and light templates- All formatting features- No account required
## Pro (Coming Soon)- Unlimited downloads- Custom brand kits- Priority support- API accessClick Generate. Your balanced two-column slide is ready in seconds.
For the full syntax reference, see the columns documentation.