There is no limit of bitcoin transaction but not more than 1 MB because bitcoin transaction is calculated in bytes.
Since segwit got introduced the capacity of a block is measured in weight units, not bytes (4.000.000 weight units = 1 MB).
Theoretically if each transaction would be a segwit tx, the block size would be about 4MB. Currently it is at about 2.3 MB.
This, by the way, is also the reason why blockchain.info is calculating the fee wrong. If you are sending a transaction with effectively 1 sat/B, blockchain.info will show a fee of less than 1 sat/B (which practically is not possible since standard nodes do not relay transactions with a fee < 1 sat/B).