← Blog
⚡ New feature

Smart Paste:
one paste, eight fields filled.

Creating a label used to mean re-typing every address line from an order email or marketplace into a separate form. Smart Paste replaces all of that with a single textarea — paste the raw block and the form fills itself in. Live now on /dashboard/labels/create.


1. The problem: eight fields, one address

Every shipping label needs the same eight things on the recipient side — full name, street + house number, postal code, city, country, email, phone with international prefix, and the carrier. A normal form makes you type or paste each one separately, switching focus between fields and triple-checking that you didn't drop a digit from the postcode.

That friction adds up. A few seconds per field, multiplied by every label you create, plus the inevitable typos that get caught only after the carrier rejects the shipment. We wanted to remove it entirely.

2. How Smart Paste works

On the create-label page there's now a collapsible Smart Paste section at the top. Drop the raw recipient block into the right textarea — it can come from anywhere: an Amazon order page, an eBay buyer message, an email signature, a screenshot you OCR'd, a plain-text note your customer sent in chat. Click Parse & fill.

Smart Paste reads the block line by line, identifies which lines are which fields, and renders a Parsed preview card with everything detected — sender on the left, carrier badge in the middle if one was mentioned, recipient on the right. The rest of the form below is pre-populated. Review, adjust if anything looks off, and continue to rate search.

3. What it detects

Every block is scanned for the same eight signals. Each one is marked as detected, missing or ambiguous so you know exactly what made it through:

NameFirst line that isn't an address — Mario Rossi
Street + numberVia Roma 12 · Calle Mayor 5
Postal code00100 · 28001 · SW1A 1AA
CountryFrom name or ISO code — Italy / IT
Emailmario.rossi@example.com
Phone + prefix+39 333 1234567 — splits prefix
CarrierUPS, DHL, GLS, BRT, InPost…
Package notes100u Pokemon Cards (PSA 7)

4. Formats it understands

The parser doesn't care about the order of the lines, the punctuation, or which language the country name is in. A handful of patterns it handles automatically:

  • European multi-line format — name, street + number, postcode + city, country on separate lines (Madrid, Rome, Berlin order pages).
  • US-style format — name, street, city + state + ZIP, country (Amazon US order summaries).
  • Mixed blocks with email + phone interleaved — signature-style addresses where contact lines sit between or after the postal lines.
  • International phone prefixes — splits the country code (+34, +39, +49…) from the local number so the carrier API gets it in the right shape.

If something is ambiguous, Smart Paste flags it in the preview card rather than guessing silently. You always get to review before continuing.

☰ 5. Sender shortcut: address book + paste

The left column of Smart Paste handles your own sender address. If you've already saved senders under Account → Address book, pick one from the dropdown and it's filled in. No address book yet? Paste your own block in the same format as the recipient block — it gets parsed identically.

Either way, sender + recipient land in the same Parsed preview and the rest of the form unlocks together. Two pastes, the whole label is ready.

6. Privacy: it all stays on our server

Smart Paste runs entirely on the NullShip backend. The block you paste is not sent to a third-party AI service, not logged in cleartext, not retained beyond the active session. The parsing happens with a regex + pattern-matching pipeline written specifically for shipping addresses — no external API call, no model provider, no analytics tag.

When you click Parse & fill, the result is held in your session only. Clear it any time with the small "clear all parsed data" link next to the button. Once you create the label, only the fields that actually go on the parcel are kept — under the same data-retention rules as any other NullShip label.


Frequently asked questions

Does Smart Paste work without JavaScript? +
Yes. The parser runs server-side. You paste, you submit the form, the page reloads with everything filled in. Tor Browser on the highest security level (no JS) works exactly the same — that was a hard requirement on day one.
What happens if the parser gets a field wrong? +
Every parsed field is shown in the preview card before you continue. If something looks wrong, the regular form fields below the preview are still editable — change the value and proceed. Smart Paste is a shortcut, not a black box.
Can I use Smart Paste from the API? +
Not yet directly — the parser is exposed through the web UI for now. The API still accepts pre-structured JSON with each field separate, which is what most automated integrations want anyway. A /v1/parse endpoint may come later if there's demand.
Does it support handwritten / OCR'd text? +
It supports any text. If your OCR output is clean enough that a human can read it, Smart Paste can probably parse it. Bad OCR (missing diacritics, wrong letters in postcodes, joined words) will trip it — clean the text first or paste manually in those cases.
What languages does it understand for country names? +
Country names in English, Spanish, French, German, Portuguese, Italian and Polish are recognised, plus the two-letter ISO code (IT, ES, DE…). If you paste "Italia", "Italy" or "IT", all three get normalised to the same destination.

Try it

Smart Paste is live on the create-label page. Sign in, click Create Label, paste an address block in the Smart Paste section and watch the rest of the form fill itself in.

Create free account →