Skip to content
ignitai
← Back to blog · · 8 min read

Convert rent roll PDF to Excel on Mac (2026 workflow)

Turn rent roll PDFs into clean Excel sheets on Mac — read on-device, never uploaded — unit, tenant, lease dates, and rent in their own columns, ready to underwrite.

guides real-estate mac rent-rolls

ignitai turns PDFs — even scans and photos — into clean Excel workbooks on your Mac — your first conversion is free, then $19.99/mo after a 3-day free trial.

Download on the App Store ignitai — free download

The offering memorandum landed, you asked for the rent roll, and what came back is a PDF — generated by the property manager’s software, formatted for printing, useless for a model. The underwriting spreadsheet needs one row per unit: tenant, square footage, lease start, lease end, monthly rent, status. The PDF has all of it, arranged in grouped sections with subtotals after every building, notes wedged under tenant names, and a totals block at the bottom. So the analyst does what analysts have always done: retypes eighty units into Excel and hopes nothing got fat-fingered between the page and the model.

Everyone on the money side of real estate lives this. The buyer’s analyst underwriting an acquisition. The lender’s underwriter validating a debt request. The small landlord consolidating three properties into one tracker. The property manager who inherited a building and got last year’s roll as a scan. The data was born in Yardi or AppFolio or Buildium as a table — the PDF is just the print layout it was trapped in on the way out.

This guide is the Mac workflow: convert a rent roll PDF to Excel on Mac — read on-device, never uploaded — with unit, tenant, lease dates, and rent in their own columns, subtotal rows gone, and vacant units flagged.

Why rent rolls break table extractors

A rent roll is a table with habits, and every one of them defeats grid-based extraction:

  1. Every property management system prints a different layout. Yardi’s rent roll doesn’t look like AppFolio’s, which doesn’t look like Buildium’s, which doesn’t look like the Excel-turned-PDF a small landlord keeps by hand. Template-based extractors need a mapping per format; a deal pipeline sees them all.
  2. Grouping and subtotals live inside the table. Units grouped by building or floor, with a subtotal row after each group and a grand-total block at the end. Grid tools keep those rows, and every one of them silently inflates a rent sum downstream — the classic way a model ends up double-counting gross potential rent.
  3. One unit isn’t always one row. Sub-rows split charges into base rent, CAM, pet fees, parking; notes about concessions or month-to-month status hang under the tenant name; vacant units print with the columns half-empty. The right shape — one row per unit with a status column — exists in no PDF layout.
  4. The old ones are scans. Trailing twelve months of history often arrives as a scanned or faxed roll from the prior manager. A layout parser gets nothing from a scan; it needs to be read, not parsed.

The fixes require understanding the table — knowing a subtotal row from a unit row, a vacancy from a missing value. That’s what a prompt-driven extractor does that a grid tool can’t.

Method 1: ignitai on Mac (the read-on-device way)

ignitai extracts by description, not by layout template, so one prompt covers whatever the property manager’s software prints:

  1. Drag the PDF in — or use the file picker, or right-click → Open With from Finder. A scanned roll works the same way as a born-digital one; the scanned-PDF walkthrough covers the scan-quality details.

  2. Describe the output shape in plain English. A prompt is required — the Convert button stays disabled without one — and each structural habit above becomes a clause:

    “One row per unit: property (from the section headers), unit, tenant, sqft, lease_start, lease_end, monthly_rent, status. Skip subtotal and total rows. Vacant units get an empty tenant and status ‘vacant’. If charges are split into sub-rows, monthly_rent is the total for the unit. The table continues across pages. ISO dates, bare amounts.”

    Save it as a preset — it syncs to your other devices via iCloud — and the next deal’s roll is one click.

  3. Pick Excel, hit Convert. The PDF is read on your Mac — never uploaded — and only the recognized text goes to ignitai’s private hosted pipeline to build the sheet. On macOS 26, Apple’s native on-device table recognition makes dense multi-column rolls extract noticeably sharper; the same flow works back to macOS 14.4. A typical roll is usually ready in under a minute.

  4. Open the result in Excel or Numbers. One worksheet, one row per unit, every cell clean text — ISO lease dates, bare rent amounts — so one formatting pass types the columns for the model. The in-app preview is read-only (rename only); edits happen in the spreadsheet.

A portfolio is one batch. Underwriting three properties from the same seller? Select all three rent roll PDFs and run them together with the same prompt — they consolidate into one worksheet, one row per unit across the portfolio. The prompt’s property column does the work of keeping them apart: filenames never leave your Mac, so there’s no filename column, and the property name has to come from each document’s own header — which every PMS-generated roll prints prominently. If one of the three is a photographed page rather than a PDF, it runs as its own batch: a drop mixing PDFs and images imports only the PDFs.

One table per run. The output is always one table on one worksheet. If the roll’s last pages carry a different structure — a security-deposit ledger, an aged-receivables summary — that’s a second run with a second prompt, not extra sheets in the same workbook.

Method 2: Excel for Mac’s Get Data (no PDF connector)

Excel for Mac ships Power Query under Data → Get Data, but the Mac connector list — Text/CSV, XLSX, XML, JSON, SharePoint, SQL Server, OData — has no From PDF option; that connector is Excel-for-Windows-only. Even on a Windows machine, From PDF detects one visual grid per page: grouped sections arrive as separate fragments, subtotal rows land inside the data, and the split-charge sub-rows stay split. The cleanup that follows is the retyping job wearing a different hat — and it gets nothing at all from a scanned roll.

Method 3: Preview + Numbers (the small-landlord fallback)

For a one-page roll from a four-unit building: open the PDF in Preview, select the table, copy, paste into Numbers, and repair the columns by hand. Workable at four units; not at eighty. Multi-line tenant entries paste as extra rows, page boundaries shear the table, and Numbers has no Text to Columns command, so every merged cell is a manual fix. The moment a roll spans pages or carries subtotals, this path costs more than it saves.

Method 4: web converters (the tenant-data line)

Generic web PDF-to-Excel tools share Power Query’s per-page grid blindness — fragments, junk subtotal rows, mangled sub-rows — and their free tiers gate at a few pages, which a real roll exceeds. But the disqualifying issue is the content. A rent roll is a list of identifiable people paired with what they pay for housing, their lease terms, and sometimes their balances. Uploading that to a free converter you don’t control is a data-handling decision about your tenants, not about you — and for anyone operating under a management agreement, likely a breach of it. The on-device read exists for exactly this class of document: the PDF stays on your Mac, and only recognized text touches ignitai’s private pipeline.

On iPhone and iPad

Deals don’t wait for the desk:

  • iPhone — at the property, the seller hands over a printed roll: capture it with the in-app camera scan, apply the saved preset, and the units are in a sheet before the walkthrough ends. A roll that arrives as a photo in a text goes in through the share sheet the same way.
  • iPad — reviewing the OM package away from the desk: save the roll to Files, select it from the picker or share sheet (there’s no external drag-and-drop into the app on iPad), convert with the synced preset, and iCloud puts the XLSX on your Mac for the model.

One subscription covers iPhone, iPad, Mac, and Vision Pro, so the preset travels with you.

The underwriting pass: what the clean sheet unlocks

The sheet isn’t the deliverable — the checks are:

  1. Tie out the total. =SUM() on monthly_rent against the gross potential rent the broker quoted. Because the subtotal rows were skipped at extraction, the sum is honest — no double-counting.
  2. Build the rollover schedule. With lease_end as real ISO dates, a pivot by expiration year shows the lease-rollover cliff in thirty seconds — the thing that’s invisible in the PDF.
  3. Check the vacancy story. Filter status for vacant, compare against the pro forma’s vacancy assumption, and ask why they differ.
  4. Reconcile against the bank. The roll says what should arrive each month; the operating account says what did. The bank-statement-to-Excel guide covers extracting the other side of that comparison, and the utility-bill guide does the same for the expense side.

If the model lives in a shared workbook, the same XLSX imports straight into Google Sheets — the PDF-to-Google-Sheets Mac guide covers that handoff.

Bottom line

For a rent roll PDF that needs to become an underwriting-ready Excel sheet on a Mac: drag it into ignitai, write the one-paragraph prompt (one row per unit, skip subtotals, flag vacancies, ISO dates), pick Excel, Convert, then run the tie-out and the rollover pivot. Use Preview-and-paste for a four-unit building; keep tenant data away from web converters entirely. The analyst’s hour belongs on the assumptions, not the retyping — and the on-device read means the roll never left your Mac to get there.

Get ignitai on the App Store — sign in with Apple, first conversion free, then $19.99/mo after a 3-day trial; one subscription covers iPhone, iPad, Mac, and Vision Pro.

FAQ

How do I convert a rent roll PDF to Excel on a Mac?

Drag the PDF into ignitai, describe the columns in one sentence — unit, tenant, square feet, lease start, lease end, monthly rent, status — and tell it to skip subtotal and total rows and mark vacant units. Pick Excel and hit Convert. The roll comes back as one sheet with one row per unit, ISO dates, and bare rent amounts.

Does it work on rent rolls from Yardi, AppFolio, or Buildium?

Yes — because the extraction is driven by your plain-English description of the output, not by a layout template, the same prompt handles whatever format the property management software prints. Grouped-by-building sections, sub-rows for extra charges, and embedded subtotals are exactly the structures you tell it to flatten or skip.

Is the rent roll uploaded?

No — the PDF is read on your Mac and never uploaded. Only the text recognized on-device is sent to ignitai’s private hosted pipeline to build the sheet. A rent roll lists tenant names next to what they pay, which is not a document to feed a free web converter.