Abstract: A system for searching files across clients includes a server coupled to multiple clients. A first client creates a first index of files that are stored on the first client and uploads the first index to the server. A second client creates a second index of files that are stored on the second client. The second client downloads the first index from the server and executes a search across the first index and the second index. A method for searching files across clients includes generating and storing on a first client an index of locally stored files; uploading the index from the first client to a server; storing the index on the server; downloading the index from the server to the second client; and performing a search for files stored on the first client by querying the index downloaded onto the second client.