Map Cleaner helps you clean up architectural PDF floor plans by analyzing every drawing element and letting you filter, select, and remove unwanted content — furniture, electrical symbols, plumbing, dimensions, hatching, and more.
Drag and drop a PDF onto the canvas area, or click to browse. The PDF renders immediately and you can pan (middle mouse) and zoom (scroll wheel) right away.
Click the green Analyze button in the sidebar. The app parses the PDF content stream, extracts every drawing element, and categorizes them by color, line weight, shape type, and size. This may take a few seconds for large files. A loading spinner appears automatically if the PDF takes more than a second to process.
After analysis, the filter panels appear in the sidebar and you can start cleaning. PDFs with a /Rotate flag (common in architectural plans scanned or saved in landscape orientation) are handled automatically and display correctly.
After analysis, a Decode Text button appears below the Analyze button. Some PDFs use custom font encodings that cause text to display as random symbols or garbled characters. Click Decode Text to auto-detect the character mapping offset for each font and fix the displayed text.
You can drop a new PDF onto the canvas area at any time while working. A confirmation dialog appears before replacing the current session, so you won't lose work by accident.
The left sidebar contains all filter controls (in a single "Filters" accordion), lock groups, and the deleted items bin. Each section is collapsible — click the header to toggle.
The right side panel is always visible and shows details of the currently selected element — color, line weight, shape type, size, and path length.
The main area displays the PDF with a dark grid background. The white area is the page. All visible elements render here, along with placed icons and evacuation routes. A contiguous selection slider appears at the bottom of the canvas with a frontier glow effect when elements are selected.
Shows the app logo, loaded filename, and the Export Clean PDF button.
Filters work with AND logic between dimensions and OR logic within each dimension. An element is visible only if its color AND weight AND shape type all pass.
Every distinct color found in the PDF gets a checkbox with a color swatch. Uncheck a color to hide all elements using it. Use All / None for quick toggling.
Shows each distinct line weight found. Heavy weights are typically walls; light weights are dimensions and detail lines.
Elements are classified as Lines, Curves, Mixed, Rectangles, or Text. Toggle each type on/off.
Min/max inputs for Path Length and Bbox Area. Enter a value to hide elements below or above that threshold.
Filter text by font family or point size. Each distinct font and size found in the PDF gets its own checkbox.
The canvas toolbar includes a Lock Text button (padlock with T icon). When enabled, text elements cannot be selected by clicking or marquee dragging. This is useful when cleaning up vector elements (lines, curves, shapes) without accidentally selecting text that overlaps them. Click the button again to unlock text and make it selectable.
The ghost icon in the canvas toolbar controls the visibility of filtered-out elements. These appear as faint shapes behind the visible content so you can reference what's been hidden without re-enabling filters. Deleted elements are not shown in the ghost layer.
Click the ghost icon to open the control panel:
Selection works like professional graphic design software. You must click directly on an element's path — not just inside its bounding box.
| Action | How |
|---|---|
| Select element | Click on it |
| Add/remove from selection | Shift + Click |
| Select all with same properties | Ctrl + Click |
| Marquee select | Click + drag on empty area |
| Toggle marquee | Shift + drag |
| Select all visible | Ctrl + A |
| Deselect all | Escape |
| Delete selected | Delete / Backspace |
Selected elements render in orange. Marquee selection checks actual path intersection, not just bounding boxes.
When a selection contains more than 5,000 elements, the app switches to a lightweight display mode: instead of highlighting each element individually, a dashed orange bounding box is drawn around the entire selection area and an info message shows the element count. This prevents the browser from freezing when working with very dense drawings.
Select Exact finds all elements that are an exact match on color, weight, shape, and pathLength. Select Similar uses exact color/weight/shape but allows ±3% pathLength tolerance. For text elements, Select Similar matches by font name and ±20% font size.
Lock Groups let you define reusable patterns — like "Doors" or "Grid Bubbles" — and automatically find all matching elements across the drawing. Locked elements render green on the canvas (including text) and are protected from selection and deletion.
The Group Pattern system uses cluster-based matching: element order does not matter, matching uses ±5% path length and ±50% bounding box area tolerance, and handles rotation and mirroring of repeated elements.
A precision slider (tight to loose) controls match sensitivity. Group Pattern auto-selects matches and updates live as your selection changes.
The sequence pattern captures: element order, colors, line weights, shape types, segment counts, bounding box dimensions (±10%), and path length (±10%). Skips between elements are preserved as wildcards.
Click the arrow next to a group to expand its detail panel. Uncheck individual match fields to broaden the search — the group re-runs live and the count updates. For example, unchecking Width and Height catches doors of different sizes.
Locked elements are skipped by click, marquee, select-all, and select-similar. They render in green on the canvas. Right-click a locked element to Unlock it (removes it from its lock group).
Hidden elements go to the Deleted Items bin in the sidebar. Click any entry to restore it. Use Restore All to bring everything back.
Click the crop icon in the top-left toolbar to activate crop mode.
The crop applies to both the canvas view and the exported PDF. Elements entirely outside the crop area are excluded from the export. Cropping also improves rendering performance — elements outside the crop boundary are skipped during drawing, so cropping out dense areas of a plan makes the canvas noticeably faster.
Click Export Clean PDF in the header to generate a fresh PDF from the current canvas state.
Click Export Image to export the current view as a raster image. A dialog lets you configure:
The dialog shows projected pixel dimensions and estimated file size as you adjust settings. The exported image includes all visible elements and text, respecting crop and rotation. Raster images render identically in every viewer — no PDF rendering differences between applications.
When loading a multi-page PDF, a page picker with thumbnails appears. Thumbnails load progressively (scroll priority, 200px @ 90% JPEG quality). Select a page to extract and analyze it individually for faster performance.
If a crop is set, the exported PDF uses the crop dimensions as the page size. Elements outside the crop area are excluded entirely — they won't be hidden content in the file.
Text is embedded using Roboto Regular. The font is stored in the output PDF so text is selectable in any PDF viewer.
| Shortcut | Action |
|---|---|
| Middle Mouse + drag | Pan |
| Scroll wheel | Zoom |
| Click | Select element |
| Shift + Click | Add/remove from selection |
| Ctrl + Click | Select all similar |
| Drag on empty | Marquee select |
| Shift + Drag | Toggle marquee |
| Ctrl + A | Select all visible |
| Escape | Deselect / close crop |
| Delete | Delete selected |
| Ctrl + Z | Undo |
| Ctrl + Shift + Z | Redo |
| Ctrl + Y | Redo |
| Enter | Apply crop |
| Right-click | Context menu |
Lock Text is a button toggle in the canvas toolbar (padlock with T icon). Decode Text is a button below the Analyze button in the sidebar.