The limit is dependent on both the server and the client used (and if applicable, also the proxy the server or the client is using).
Most servers and clients have a limit of 8192 bytes (8 KB), which is usually configurable somewhere in the server or client settings. The HTTP specification recommends 8000 octets in section 4.1:
It is RECOMMENDED that all senders and recipients support, at a minimum, URIs with lengths of 8000 octets in protocol elements. Note that this implies some structures and on-wire representations (for example, the request line in HTTP/1.1) will necessarily be larger in some cases.
But this is thus not required. The limit is generally lower in older clients. For example Internet Explorer had a limit of about 2 KB. The previous version of the HTTP specification even literally states the following:
Note: servers ought to be cautious about depending on URI lengths above 255 bytes, because some older client or proxy implementations might not properly support these lengths.
If the limit is exceeded in either the browser or the server, most will just truncate the characters outside the limit without any warning. Some servers however may send an HTTP 414 'URI Too Long' error.
If you need to send large data, then better use POST instead of GET. Its limit is much higher, but more dependent on the server used than the client. Usually up to around 4 GB is allowed by the average web server. This is also configurable somewhere in the server settings. The average server will display a server-specific error/exception when the POST limit is exceeded, usually as an HTTP 500 error.