Skip to content
Accessibility
Theme
Text size
High contrast
Limit animations
Readable fontAtkinson Hyperlegible
Increased text spacing
Underline links
Always show focus

Runs in your browser — nothing you paste is uploaded.

SQL Dump Search-Replace (serialization-safe)

Change a URL or domain across a whole WordPress .sql dump without breaking serialized data. Upload the dump, set find & replace, and download the rewritten file — where a value is PHP serialize() data it is unserialized, replaced, and re-serialized with correct byte-lengths. Everything runs in your browser; the dump is never uploaded.

Always take a backup first and test the result on a staging database before importing to production. This is an assist, not a guarantee — review the output.

Drop a .sql file here · or click to choose

Processing happens on click — pick a file first.

Why a plain find-and-replace corrupts a WordPress dump

WordPress stores arrays and objects — widget settings, theme mods, page-builder layouts, plugin options — as PHP serialize() strings, and each string records its length in bytes: s:19:"http://old.test/x". A text editor's find-and-replace changes the URL but not the 19, so PHP can no longer unserialize the value and the setting silently breaks after import. Changing a domain is the classic trigger, because the new host is almost never the same length as the old one.

How this tool works

Upload the dump and the tool scans it for single-quoted SQL string literals (the actual column values), unescapes each one, and tries to unserialize it. If the value is serialized, it replaces inside every string and re-serializes with freshly counted lengths; if it isn't serialized, it does a normal replace. Everything is re-escaped and reassembled into a downloadable .sql that is a drop-in replacement for your dump. It processes the whole file in one pass when you click — nothing is sent anywhere.

Using it

Plain text

Leave the boxes unchecked for a literal swap — e.g. find http://old.test, replace with https://new.example. Tick Case-insensitive to ignore letter case.

Regular expression

Tick Regular expression to use a JavaScript regex in Find (applied globally); use $1, $2 in Replace with for capture groups. Useful for protocol-relative or wildcard host changes.

Limits & alternatives

It handles standard mysqldump / phpMyAdmin exports (backslash and doubled-quote escaping). Serialized PHP objects (O:) are left untouched and replaced as plain text, so review those. Very large dumps are processed in memory, so extremely big files are bounded by your browser's available RAM. For a live database, WordPress's own WP-CLI search-replace is the safest route; to fix a single value by hand use Serialized Search-Replace, and to repair already-broken lengths use Fix Serialized Data.

Privacy

Your dump is parsed entirely in your browser — it is never uploaded. That matters: a database export is exactly the kind of file you don't want to hand to a web service.

Related tools