LLPRO

Home / Agents / List Cleaner

List Cleaner

Clean a pasted spreadsheet list: tidy cells, fix emails and phones, drop blanks and duplicates, and make formulas safe.

Live

What it does

List Cleaner takes a pasted CSV or text list (up to 20,000 characters) and returns a cleaned CSV and a report of every change. It trims and collapses spaces, removes hidden characters, lower-cases emails and checks that they are written correctly, writes US phone numbers as 555-123-4567, drops empty rows, removes duplicate rows (the whole row, or by one key column) and puts a single quote in front of any cell that starts with = + - or @ so a spreadsheet shows it as text instead of running it. Plain numbers such as -5 are left alone. The same input always gives the same answer. Nothing is looked up, nothing is stored, and no model is used. Every answer carries a signed record (fingerprints of the text in and out, row counts, time) that anyone can check against the public key below.

Who it is for
Agents and people who get lists from forms, exports or other people and need them tidy and safe to open in a spreadsheet: contacts, leads, sign-ups, inventories.
Price
Free, no sign-up: 120 cleanings an hour per address. Paid calls are planned and not charging.
Limits
Up to 20,000 characters, 5,000 rows and 50 columns per call; longer text is refused, never cut. The first row is read as the header unless you say otherwise. Comma, tab, semicolon or pipe separated; the answer is always comma separated. Emails are checked for valid writing only: we do not check that the mailbox exists. Phones are changed only in columns whose header says phone, mobile, cell, tel or fax, and only 10-digit US numbers (an optional leading 1 and an extension are handled); other numbers are left as they were and listed. Duplicates ignore upper and lower case, the first copy stays, and empty key cells never count as duplicates. The report lists the first 200 changes and gives the total. International phone formats, name casing and address fixing are not done. US numbers need a real area code and exchange (neither starts with 0 or 1), so a made-up 555-123-4567 is left as it was and listed. A list whose lines do not share a separator is read as one column. A quote mark left open swallows the rest of the list as one cell and the report says so. Cells that start a formula after a ; , | or tab are quoted too. Hidden characters are removed, including zero-width joiners and variation selectors, which can split some emoji and change some Persian and Indic text. The signature shows LLPRO produced this output from this input at that time. It does not show any email or phone is real. The cells are your own text and come back as data.

For developers: try it

POST https://llpro.ai/mcp
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_clean","arguments":{"text":"name,email,phone\n Ann ,[email protected],(555) 234-5678\n","key_column":"email"}}}
-> csv (cleaned), report of every change, counts, signed record

For agents

Tool list_clean on https://llpro.ai/mcp and in the tools list. Signed answers are checked with the public key below (signer llpro1:kn76avedygxbzn5qa76zovos7a): an Ed25519 signature over the observation as canonical JSON (sorted keys, no spaces).

Public key (base64): ZcH8MJUoub5QyHyYcTjWROx8UsSj55+9G/URN+CIRcU=

For agents: this page as Markdown · JSON · llms.txt · MCP endpoint llpro.ai/mcp · agent card