Can you transfer a domain for free, without renewing it? The registrars I've seen so far all require you to buy an extra year's registration, but I'm not sure if this is a requirement of transferring a domain or not.
This normally depends on how close you are to the domain's renewal date, but to pay for a domain transfer is normal practice. If the domain is approaching expiry then often renewal will be required at the time of ordering the transfer. To clarify:
Transfers add to the time remaining on the registration at the other registrar, and do not start the registration period over;
The domain registry will not add a year if the domain is transferred within the first 45 days of the extended/renewed year, and therefore these transfers would normally also not be charged for.
Some domain TLD's have different rules for whether transfers are chargeable and so you will have to check with your domain's registrar for what would apply to the domain you have in mind.
Some examples (from Enom's Domain Name Pricing page):
.uk - transfer cost varies depending on the renewal date.
.ac, .io, .sh, .bz, .nu, .ws, .tm, .be, .tc, .vg, .ms, .cm, .gs, .jp, .net.nz, .org.nz, .com.mx, .at, .am, .nl, .it, .fm - no transfer cost applies.
Assuming you are talking about a .com or another common gTLD. (though country-code TLDs have vastly different rules)
The answer is NO.
You have to pay the receiving registrar a transfer fee and it reflects in the renewal of the domain for an additional 1 year.
There is an exception in the free renewal though: The receiving domain registrar will not add 1 year if the domain is transferred within the first 45 days of the renewal (called auto-renew period). But transfer fees will still be charged by the receiving registrar (and leaving registrar may refund you if they have also charged you.)