Skills Productivity Manage Apple Notes iCloud Storage Costs

Manage Apple Notes iCloud Storage Costs

v20260423
apple-notes-cost-tuning
This guide provides comprehensive strategies and scripts for optimizing Apple Notes storage usage within iCloud. It helps users understand how Notes, attachments, and backups contribute to overall iCloud consumption, enabling them to stay within free tiers or plan for necessary upgrades. Includes scripts for auditing storage, archiving old notes, and moving large content to local storage.
Get Skill
347 downloads
Overview

Apple Notes Cost Tuning

Overview

Apple Notes itself is free with every Apple ID. The only real cost is iCloud storage, which is shared across Photos, iCloud Drive, Mail, Notes, and device backups. For automation workflows, the main cost drivers are large embedded attachments (images, PDFs, scans) that inflate iCloud usage, and the "On My Mac" account that uses local disk instead. Understanding what consumes storage lets you keep notes within the free 5 GB tier or choose the right iCloud+ plan for your organization.

iCloud Storage Tiers

PlanStoragePrice/moApprox Notes Capacity
Free5 GB$0~50,000 text-only notes
iCloud+ 50 GB50 GB$0.99Unlimited text; moderate attachments
iCloud+ 200 GB200 GB$2.99Shared with Family Sharing
iCloud+ 2 TB2 TB$9.99Enterprise/heavy media
iCloud+ 6 TB6 TB$29.99Large teams with shared albums + notes
iCloud+ 12 TB12 TB$59.99Maximum tier

Storage Audit Script

#!/bin/bash
# Audit Apple Notes storage consumption
echo "=== iCloud Storage Overview ==="
# Total iCloud usage (approximate from system)
df -h ~/Library/Mobile\ Documents/ 2>/dev/null | tail -1

echo ""
echo "=== Notes Content Audit ==="
osascript -l JavaScript -e '
  const Notes = Application("Notes");
  const accounts = Notes.accounts();
  let report = [];
  accounts.forEach(a => {
    const notes = a.notes();
    let totalChars = 0;
    let withAttachments = 0;
    notes.forEach(n => {
      totalChars += n.body().length;
      if (n.attachments().length > 0) withAttachments++;
    });
    report.push(a.name() + ": " + notes.length + " notes, ~" +
      Math.round(totalChars / 1024) + "KB text, " +
      withAttachments + " with attachments");
  });
  report.join("\n");
'

Optimization Strategies

Move Large Notes to "On My Mac"

// Move attachment-heavy notes to local account (no iCloud cost)
const Notes = Application("Notes");
const localAccount = Notes.accounts().find(a => a.name() === "On My Mac");
const icloud = Notes.defaultAccount;

// Find notes with large bodies (likely have embedded images)
const largeNotes = icloud.notes().filter(n => n.body().length > 100000);
largeNotes.forEach(n => {
  console.log(`Large note: ${n.name()} (${Math.round(n.body().length / 1024)}KB)`);
});
// Manual move: drag notes to "On My Mac" in Notes.app sidebar

Archive Old Notes to Markdown

# Export old notes to local markdown files, then delete from iCloud
ARCHIVE_DIR="$HOME/notes-archive/$(date +%Y-%m)"
mkdir -p "$ARCHIVE_DIR"
osascript -l JavaScript -e '
  const Notes = Application("Notes");
  const cutoff = new Date(Date.now() - 180 * 24 * 60 * 60 * 1000); // 6 months ago
  Notes.defaultAccount.notes()
    .filter(n => n.modificationDate() < cutoff)
    .map(n => JSON.stringify({ title: n.name(), body: n.body() }))
    .join("\n");
' | while IFS= read -r line; do
  title=$(echo "$line" | jq -r '.title' 2>/dev/null) || continue
  safe=$(echo "$title" | tr '/:*?"<>|' '-' | head -c 80)
  echo "$line" | jq -r '.body' > "$ARCHIVE_DIR/$safe.html"
done
echo "Archived to $ARCHIVE_DIR — review before deleting from Notes"

Error Handling

IssueCauseSolution
iCloud storage fullAttachments in Notes + Photos + BackupsAudit per-app usage in System Settings > Apple ID > iCloud
"On My Mac" account missingDisabled in Notes preferencesNotes > Settings > enable "On My Mac" account
Notes sync pausedStorage quota exceededDelete large attachments or upgrade iCloud plan
Cannot determine note sizesJXA body() returns HTML, not raw bytesEstimate: HTML chars x 1.5 for actual storage with formatting

Resources

Next Steps

For monitoring iCloud sync health, see apple-notes-observability. For archiving and data export, see apple-notes-data-handling.

Info
Category Productivity
Name apple-notes-cost-tuning
Version v20260423
Size 4.53KB
Updated At 2026-04-26
Language