Clean & standardise values

Clean text, convert dates and time zones, or standardise numbers and currency formats in selected columns. Review the changes before downloading your table.

Your data stays in this browser. Nothing is uploaded. Privacy details

1 Load your data

Up to 5 MiB. Loading new data replaces the current data and selected columns.

Or paste text

Choose a file or paste text to begin.

Choose source data

Load data to choose columns.

    Preview the first 5 data rows

    No data loaded.

    2 Choose columns and cleanup

    Cleanup settings

    Choose columns explicitly. Every run starts from the loaded source, so switching settings does not stack changes on previous results.

    0 selected

    Prefixes and suffixes are literal and case-sensitive, and are removed once at the edge of a value. Invisible-character cleanup removes zero-width spaces, embedded BOMs, word joiners and soft hyphens; it keeps joiner characters used in languages and emoji. Spaces/tabs cleanup preserves line breaks.

    Load data and choose columns to begin.

    3 Review and download

    Review before and after

    First 100 changed or failed cells. Long values are clipped to 500 characters in this preview only. Failed values stay unchanged.

    No cleanup preview yet.

    Plain text uses tabs between columns and quotes cells containing tabs or line breaks. Spreadsheet protection applies to CSV.

    Protection adds an apostrophe to potentially executable cells, including negative numbers. Turn it off for exact cell text.

    Preview cleanup to create an output.

    Table preview shows the first 100 rows. Copies and downloads include every output row.

    No output yet.

    View formatted output

    Preview limited to 30,000 characters. Copy and download include the complete output.

    Clean selected columns

    Load a file or paste data, select columns, then choose Text, Dates and times, or Numbers and currencies. Select Preview cleanup to apply the settings to a fresh copy of the loaded source. Changing the recipe clears previous results until you run it again. Try an example uses an example for the selected cleanup type and replaces the current data.

    Review before and after shows changed and failed cells. Data row 1 is the first data row in the selected table, not a physical file line or Excel row label. Cleaned table exports all source rows with the selected transformations. Add new cleaned columns keeps the source columns alongside their cleaned versions. Values needing attention exports each failed value and its explanation.

    Failed conversions retain their original cell text. By default, any failure blocks cleaned-data copy and download, while the exception report remains available. To export a mixed result, explicitly choose Keep the original value and allow export, then run again. Blank date and number cells are skipped and retained.

    Text cleanup order

    Line endings, invisible characters and NFC normalization run first. Trimming removes surrounding whitespace before literal prefix and suffix removal. Spaces/tabs collapse next, followed by a final trim and letter-case conversion. Prefixes and suffixes are removed once and match case exactly. Unicode case conversion is language-independent. Title case capitalises each word and keeps punctuation and spacing; it does not apply editorial rules for small words. Camel case, slug case and snake case split on punctuation, spaces and existing case boundaries, including acronyms. They remove apostrophes within words and join words as helloWorld, hello-world or hello_world. Accented and non-Latin letters are retained; punctuation-only values become empty in these three modes. Other text modes preserve zero-width joiners and non-joiners.

    Dates and time zones

    Date-only conversions between calendar formats keep the same calendar date and do not apply a time zone. Converting a date to a timestamp interprets midnight in the chosen source zone. Clock times require an explicit source zone unless the input already includes an ISO offset. Output zone names can be UTC or IANA names such as Europe/London. Rules come from your browser’s time-zone data.

    Ambiguous and nonexistent local times are exceptions. For a repeated clock time, use ISO input with an explicit offset to identify the occurrence you intend. Unix seconds allow up to three decimal places, and millisecond timestamps must be integers. ISO input requires seconds, accepts up to three fractional digits, and rejects unknown offset -00:00 and leap seconds. Slash-date input accepts one- or two-digit days/months with a four-digit year. Output dates use two digits. Historical zone offsets finer than a minute require UTC output.

    Exact decimal cleanup

    Choose input and output separators explicitly. Only the specified currency label is removed, at the beginning or end of a value. Signs can appear before or after the input label; parentheses represent negatives when enabled. Leading zeroes are removed and negative signs are retained, including negative zero. Thousands groups contain three digits after the first group. Space grouping accepts ordinary, nonbreaking and narrow nonbreaking spaces.

    Source fractional digits are retained unless fixed decimal places are selected. Rounding uses decimal digits and integer arithmetic, not binary floating-point amounts. Fixed places round halfway values away from zero. Scientific notation is expanded, and numbers longer than 1,000 digits are rejected.

    Privacy and limits

    Files, pasted data, settings and results stay in browser memory. They are not uploaded, saved in browser storage or included in URLs. Clear all data clears both source and recipe and cancels processing. Reloading clears tool data. Copy writes only when selected; download saves a CSV locally. Only the site theme preference is stored. See privacy and analytics.

    Input allows 5 MiB. Source and output tables allow 20,000 data rows, 100 columns, 500,000 cells including headers and 20 million characters. Appended columns count towards these limits. Prefixes and suffixes allow 1,000 characters each. Currency labels allow 20 characters. Number mantissas and expanded values allow 1,000 digits; exponent magnitude is limited to 1,000. Fixed output precision allows 0–20 decimal places. Exception reports allow 100,000 values and 20 million characters. CSV output allows 20 million characters.

    CSV, TSV, Excel, JSON and JSON Lines input reuse the data file converter. Choose one worksheet or JSON record collection. All selected data is read as text for cleanup. JSON numeric digits are preserved; arrays become JSON text, nested objects flatten into columns, and null or missing fields become empty cells. Excel formulas use saved results without recalculation. Excel underlying dates are serial numbers, so choose displayed text for formatted dates.

    Malformed quotes and uneven text rows prevent loading. Inspect uneven rows in the data quality checker. Blank physical lines are skipped. Blank, padded or duplicate headers receive unique trimmed names with a warning. Text files must use UTF-8. The converter’s JSON, worksheet and archive limits also apply.

    Hosted processing runs in a browser worker with a 20-second deadline per operation. Clear all data cancels processing. Direct local-file use processes on the page and can pause near the limits. Modern JavaScript, Intl.DateTimeFormat, workers, File.arrayBuffer(), TextEncoder, TextDecoder and Blob URLs are required. Clipboard access may require HTTPS or permission. Excel support reuses the locally bundled Apache 2.0 licensed SheetJS library.