Are there any restrictions on the length of the value that can be stored as type string in Solidity? I am trying to store a string value in the smart contract member field. The length comes to around 220 chars. If I reduce the string value to around 140 chars I am able to store it. Any more and it does not work.


the problem is not about the string size but about the provided gas, the storage costs more gas as you store more data. so when you increase the string size increase the gas limit provided in your transaction. using the following example :

contract store{
string public storage_;

function store_it(string s){



I've provided a string with 220 character it costs me 774675 gas.

  • 1
    BTW, the documentation defines string as arbitrary-length, which suggests that the gas cost is the only limiting factor here. Aug 3 '17 at 12:17
  • 1
    the storage cost is discussed in a related post ethereum.stackexchange.com/questions/872/…
    – Badr Bellaj
    Aug 3 '17 at 12:32
  • @SergeiTikhomirov is there a way to limit the number of characters in the string?
    – T. Thomas
    Aug 31 '20 at 22:58
  • If you limit to 255 characters, how expensive is it. As of this moment 774675 gas is around $0.00000000123888350025
    – Lokiare
    Feb 8 at 0:04
  • 1
    @S. Goody its listed on the Ethereum site.
    – Lokiare
    Aug 13 at 17:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.