Documentation

Mungr documentation

Everything Mungr can do, and how to use it to turn messy files into analysis-ready data, without your data ever leaving your device.

Quick start

Clean your first file

Mungr is a browser-based data cleaning workbench powered by DuckDB compiled to WebAssembly. It reads your file locally, so nothing is ever uploaded. No install, no sign-up needed to try it.

Supported files: CSV, TSV, Excel (.xlsx), plain text, and Parquet.

  1. Open the Workspace. Log in and go to your team's Workspace page, or register for a free account.
  2. Drop a file. Drag and drop your CSV, TSV, Excel, TXT, or Parquet file onto the drop zone. Multi-sheet Excel files let you pick which sheet to load.
  3. Run Smart Scan. Mungr inspects every column in milliseconds and flags potential issues: PII, mixed date formats, high null rates, outliers, and more. Each finding comes with a suggested fix.
  4. Review suggestions. Accept the draft steps that make sense, dismiss the rest. "Automated proposal, manual disposal."
  5. Add transforms. Use the step builder to trim, standardize, dedupe, mask, filter, and more. Every step runs as SQL against your data in the browser.
  6. Preview before and after. Toggle between the raw and cleaned views, inspect column statistics, then export your cleaned file.

Your first clean file can be ready in under 30 seconds. There is no upload, no processing queue, and no file-size download bottleneck. Mungr has been tested on files with 10M+ rows.

Feature reference

Smart Scan: automatic issue detection

Smart Scan inspects every column of a newly loaded file and groups findings by severity:

SeverityWhat it detectsSuggested action
Red (Compliance)SSN, email, phone, and credit card patternsMask, redact, or hash before sharing
Yellow (Integrity)Mixed date formats, inconsistent casing, currency symbols, outliers, high null ratesStandardize formats; review flagged values
Blue (Cosmetic)Trailing whitespace, moderate null ratesTrim whitespace; fill or review nulls

Each finding becomes a draft recipe step with the correct configuration pre-filled. You review and accept or dismiss each one. Nothing is applied to your data automatically.

Data cleaning transforms

Mungr ships with 19 transforms. Every one executes as a SQL query in the browser and can be combined into a multi-step recipe.

TransformWhat it doesTypical use
TrimRemoves leading/trailing whitespace and collapses internal spacesFirst step on almost every file
Change CaseTitle case, UPPER, or lower for any columnNames, departments, codes, emails
Standardize DatesAuto-detects mixed input formats and converts to one output formatAny column with mixed date formats
Regex ReplaceFind-and-replace with regular expressionsCurrency cleanup, code formatting, pattern fixes
Split ColumnSplits one column into several by delimiterFull name → first/last name
Correct ValuesReplaces known incorrect values with the correct onesTypos, legacy codes, aliases
Fill NullsFill with a constant, zero, the column mean/median, the most common value, or forward/backward fillNumeric measures, category columns
Convert TypeChanges a column's data type (text, number, date, boolean)Fixing numbers stored as text
Remove Empty RowsDrops rows that are entirely emptyRagged exports with blank lines
Filter RowsKeeps or removes rows matching a conditionExcluding test data or null IDs
DeduplicateRemoves duplicate rows by selected columnsAlways after trim + casing for near-dupes
Remove ColumnsDrops columns you don't needTrimming an export to essentials
Rename ColumnRenames any columnStandardizing header names
SortSorts rows by any columnOrdering output for review
Validate RulesFlags rows that don't match a rule as valid/invalidFormat checks before sharing
Custom FormulaCreates a new column with a SQL expressionComputed fields from existing data
Custom SQLRuns arbitrary SQL against your tableAdvanced analytics inside the browser
Join TablesJoins a second table by key columnsMerging related exports
Mask PIIMasks, redacts, or hashes sensitive columnsMaking files safe to share

PII detection & masking

Mungr identifies columns containing personally identifiable information by column name and content patterns, and reports each match against the relevant HIPAA Safe Harbor category.

PII typeHIPAA referenceMask exampleRedact exampleHash example
EmailSafe Harbor #7j***@e***.com[REDACTED]a1b2c3d4...
SSNSafe Harbor #4***-**-6789[REDACTED]f6g7h8i9...
PhoneSafe Harbor #5(***) ***-1234[REDACTED]k1l2m3n4...
Credit CardPCI-DSS****-****-****-1234[REDACTED]p6q7r8s9...

When to use which: Mask when you need partial visibility (e.g., last 4 digits for support). Redact when sharing externally. Hash when joining datasets without exposing original values.

Regex preset library

Mungr includes a library of pre-built regex patterns across numbers, PII, text, and healthcare categories: currency stripping, phone normalization, HTML tag removal, ICD-10 code fixing, and more. Pick a preset in any Regex Replace step; the pattern and replacement auto-fill and remain fully editable.

Recipes

Any sequence of steps can be saved as a recipe: a JSON file containing only transformation logic, never data values. Recipes are stored server-side and scoped to your team.

Export as code

Export any recipe as self-contained code to run outside Mungr, without ever uploading data.

FormatOutputUse case
Python (Pandas)recipe.pyHand to data engineers for CI/CD pipelines
DuckDB SQLrecipe.sqlRun on any machine with the DuckDB CLI
Shell scriptrecipe.shOne-liner automation on servers

Each exported script reads a CSV, applies every step in order, includes descriptive comments, and writes the cleaned output.

More capabilities

  • Native Parquet & Excel support: read columnar Parquet at full speed and Excel workbooks (with sheet selection) without conversion.
  • Streaming architecture: processes data in chunks, so a 10M-row file doesn't need 10M rows of RAM.
  • Inline cell editing: double-click any cell and fix a single value on the spot, just like a spreadsheet.
  • Before/After preview: compare raw vs cleaned data, with column statistics and row counts.
  • Works offline: once loaded, cleaning continues with no connection.
  • Team collaboration: recipes are shared across your team; admins can see usage per member.
  • Report generation: summarize cleaned datasets with charts and insights directly in the workspace.

Edit cells inline

Sometimes a single value needs fixing without a full transform. Mungr supports spreadsheet-style inline editing:

  1. Double-click any cell in the preview grid. The cell becomes editable.
  2. Type the corrected value and press Enter (or click away) to save. Press Escape to cancel.
  3. The edit is applied immediately to the current table, so column stats and downstream steps reflect the change right away.

Every manual edit is recorded in the change log with the old value, new value, and timestamp, so nothing happens silently. For changing many rows at once, use a transform (like Correct Values or Regex Replace) instead.

How to fill nulls

Missing values are one of the most common data problems. Mungr's Fill Nulls transform fills them in one step with a strategy that fits the column.

  1. In the Workspace, add a Fill Nulls step from the transform dropdown.
  2. Pick the column with the missing values.
  3. Pick a strategy (see below), then click Apply Recipe.
  4. Check the column stats and the before/after preview to confirm the result.

Which strategy should you use?

  • Numeric columns (amounts, ages, scores): Column mean, Column median, or Zero.
  • Category columns (department, status): Most common value or a Constant like "Unknown".
  • Ordered / time-series data: Previous value (forward fill) or Next value (backward fill).
  • A specific placeholder: Constant value (for example 0, N/A, or Unknown).

Note: mean and median only make sense for numeric columns. Forward and backward fill follow the row order, so they work best as the first step on the raw table.

Build & share a dashboard

Turn your cleaned data into a presentable dashboard for stakeholders. In the Workspace, open Dashboard and add widgets: KPI cards, bar, line, and pie charts, or a summary table. Each widget groups by any column and aggregates a measure (sum, average, count, min, max). Everything is computed locally.

  1. Add widgets, pick a group-by column, a measure, and an aggregation.
  2. Click Save dashboard to store it for your team, or load a previously saved one.
  3. Share it in two privacy-safe ways:
    • Config (JSON): export the dashboard definition. A teammate opens it and loads their own file with the same schema. No data travels.
    • HTML / PDF: export a self-contained report that embeds only the aggregated chart data and KPI numbers. Safe to send to anyone, even without Mungr.

Just like recipes, dashboards store only configuration, never data values.

Goal-based guides

Reach a goal, step by step

Rather than a list of buttons, here is how to achieve the outcomes teams come to Mungr for.

Your goalRecipe to follow
Make a file safe to share Run Smart Scan to find PII → accept the suggested Mask PII steps (or add them per column) → choose mask, redact, or hash → export.
Prepare a recurring export for analysis Trim → Change Case → Standardize Dates → Regex Replace (currency) → Fill Nulls → Deduplicate → Validate Rules. Save the sequence as a recipe and apply it to next month's export in one click.
Fix a one-off messy CSV quickly Drop the file → accept the best Smart Scan suggestions → inspect column stats → clean up remaining issues with individual transforms → export.
Standardize names or addresses Change Case → Trim → Split Column (full name → first/last) → Correct Values for known typos → Deduplicate.
Automate cleaning in a pipeline Build the recipe visually → Export as code (Python, DuckDB SQL, or shell) → run the script on your servers. Data never leaves your infrastructure.
Give the whole team one way to clean Save a recipe in the Workspace → it appears on the team's Recipes page → share the link → teammates open it and drop their own file.
Goal-based guides

Standardize messy categorical values (aliases → canonical)

Sometimes the same thing is written many ways in one column. A country column might contain United States, USA, U.S., and US for the same country, while United Kingdom, UK, and Great Britain mean another. Left alone, these become fake categories that break group-by, joins, and deduplication.

Regex alone is not enough here. Regex can strip punctuation or fix casing (U.S.US), but it cannot know that USA and United States of America are both "United States". That needs a mapping: a dictionary of every alias pointing to its canonical value. Mungr's Custom SQL step is built for exactly this, and it runs entirely in DuckDB in your browser, so it stays fast even on millions of rows.

Step 1: Know every alias

Open the column stats panel for your column in the Workspace to see its unique values. That list is your source of truth: every value you don't recognize is an alias to map.

Step 2: Add a Custom SQL step

Add a Custom SQL transform and replace the query with a CASE expression that rewrites the column in place. Use {input} as the placeholder for the current table.

Step 3: Paste the mapping

Group every alias under its canonical value. Example for a country column:

Canonical valueAliases it absorbs
United StatesUSA, U.S., US, United States of America
United KingdomUK, U.K., GB, Great Britain
SELECT * REPLACE (
  CASE
    WHEN "country" IN ('USA', 'U.S.', 'US', 'United States of America')
      THEN 'United States'
    WHEN "country" IN ('UK', 'U.K.', 'GB', 'Great Britain')
      THEN 'United Kingdom'
    ELSE "country"
  END AS "country"
) FROM {input}

Tips

  • Trim and normalize case first. Run a Trim step, then Change Case (e.g. lower) on the column before mapping, so casing variants like bd. lampung and BD. LAMPUNG collapse into one alias.
  • Be exhaustive. Any value not listed passes through untouched (ELSE "kolom"). Re-check column stats after applying to confirm nothing was missed.
  • Very large mappings. If you have hundreds of aliases, it is cleaner to create a two-column mapping table and JOIN instead of a giant CASE.
  • Reuse it. Save the step as a recipe and apply it to next month's export with one click.

This pattern works for any categorical field: provinces, cities, departments, status codes, payment methods, wherever many strings mean the same thing.

Recipes

How to save, use, and share a recipe

Recipes are the fastest way to stop repeating the same cleanup. They store only the transformation steps. Never your data.

Save a recipe

  1. In the Workspace, build your steps in the step builder until the preview looks right.
  2. Give the recipe a name and save it. It is now stored under your team.
  3. Optionally export it as JSON or as code (Python/SQL/shell) for use outside Mungr.

Use a recipe on a new file

  1. Open the Recipes page and pick the recipe you need.
  2. Drop a new file with the same structure.
  3. Confirm the steps reference the right columns (Mungr warns you if any are missing), then run.

Share a recipe with your team

  1. Recipes are scoped to your team, so every member can see them by default.
  2. Copy the recipe link and share it in Slack, Notion, or your wiki.
  3. A teammate opens the link, drops their own file, and applies the same cleanup instantly.

Track versions

Pro and Enterprise plans keep recipe version history, so you can restore an earlier version if a step set changes.

Plans & limits

What each plan includes

LimitFreeProEnterprise
Max file size100 MB1 GBUnlimited
Total processing5 GB totalUnlimitedUnlimited
Saved recipes3UnlimitedUnlimited
Recipe version historyNoIncludedIncluded
Team sharingNoTeam recipesTeam recipes & admin roles
Usage reportingNoPer memberPer member

All plans process data entirely in the browser. No plan tier "turns on" data handling; it only expands limits and collaboration features.

Why there is a file size limit

Mungr runs DuckDB in the browser via WebAssembly, and WebAssembly limits available memory to about 4 GB. Parsing a CSV expands in memory well beyond the file size on disk (the raw text, the parsed columnar table, and intermediate results all live in memory at once). That is why files are capped at 100 MB on Free and 1 GB on Pro, and why total processing is 5 GB on Free.

As a practical guide, files in the 10M to 20M row range usually work well on a typical laptop, depending on how many columns they have. Very wide files (hundreds of columns) and files with a lot of text use noticeably more memory. If a file fails to load with an out-of-memory error, split it into smaller parts, clean each part, and combine the results.

Ready to clean your first file?

Free up to 5GB. No install. No upload. No credit card.

Get started for free