Coloque seu arquivo
Escolha ou arraste um arquivo .ics. Dá para colar o conteúdo também.
Abra um arquivo .ics ou cole texto iCalendar para ver o que o calendário realmente contém. O visualizador lista cada componente VEVENT, VTODO, VJOURNAL e VFREEBUSY com UID, título, início e fim, e informa se o fim veio de DTEND, DUE ou DURATION. Uma linha do tempo mostra cada ocorrência em UTC ou no fuso do seu dispositivo, com o fuso escrito ao lado de cada horário. Séries recorrentes são expandidas a partir de RRULE e RDATE, com as exclusões EXDATE e as alterações RECURRENCE-ID aplicadas; regras VTIMEZONE embutidas no arquivo têm prioridade no cálculo dos deslocamentos, e organizador e participantes aparecem com CN, PARTSTAT e papel. Uma tabela de diagnóstico registra linhas malformadas, datas inválidas e regras não suportadas, e você pode baixar o original e uma estrutura JSON do calendário analisado.
ou arraste um arquivo aqui
Escolha ou arraste um arquivo .ics. Dá para colar o conteúdo também.
O arquivo é lido e analisado neste navegador; nada é enviado.
Veja o que voltou e então copie, baixe ou siga em frente.
Quer saber o que acontece com os arquivos? Leia o aviso de privacidade →
Arraste o arquivo .ics para esta página ou cole o texto, e cada evento e tarefa aparece com início, fim, fuso e recorrência, sem importar nada para a agenda. O painel Linha do tempo ordena as ocorrências por data, a tabela Componentes mantém a ordem do arquivo com UID e número da linha, e a opção Fuso de exibição alterna entre UTC e o fuso do aparelho.
Não, o arquivo .ics é lido por código que roda na própria aba do navegador e o conteúdo não é transmitido para servidor algum. A leitura não faz nenhuma requisição de rede, e compromissos, e-mails de participantes e anotações não ficam gravados em localStorage, IndexedDB ou cookies; ao fechar a aba, tudo some. Os princípios gerais estão na página de privacidade do site.
Basta abrir esta página no Edge, Chrome, Firefox ou Safari, no Windows ou no macOS, e escolher o arquivo; não é preciso instalar programa nem ter Outlook, Calendário da Apple ou conta Google. Como nada é importado, dá para conferir datas e participantes antes de decidir se o compromisso entra na agenda que você usa.
Salve o anexo .ics em Arquivos no iPhone ou em Downloads no Android e selecione-o nesta página pelo navegador do celular, ou copie o texto do convite e cole. O sistema costuma mostrar só «Adicionar à agenda»; aqui você vê antes o organizador, a lista de participantes, o fuso e a regra de repetição como foram escritos. As tabelas largas rolam para o lado.
A primeira linha com conteúdo precisa ser BEGIN:VCALENDAR e o texto precisa ser UTF-8 válido; do contrário, o arquivo é recusado. As causas comuns são uma página de erro HTML salva como .ics, exportação em Windows-1252 ou ISO-8859-1, ou um END que não fecha o BEGIN correspondente. Salve de novo em UTF-8 ou cole a parte MIME inteira com o cabeçalho Content-Type: text/calendar, para que o charset e a codificação base64 ou quoted-printable sejam decodificados.
O limite é 20 MB (20.000.000 bytes) para arquivos e texto colado, e entradas maiores são recusadas antes da análise. O painel de código-fonte mostra os primeiros 150.000 caracteres e só oferece o download do original quando o texto inteiro cabe; a linha do tempo lista até 5.000 linhas e os componentes podem ter no máximo 10 níveis de aninhamento.
Cada série é expandida até 1.000 ocorrências e até 100 anos depois do início, e um aviso informa a última data calculada. Um RRULE com COUNT acima de 1.000 é recusado em vez de cortado, e regras com BYSETPOS, BYWEEKNO, BYYEARDAY, BYHOUR, BYMINUTE ou BYSECOND aparecem como não suportadas. FREQ, INTERVAL, COUNT, UNTIL, BYDAY, BYMONTHDAY, BYMONTH e WKST são tratados, junto com RDATE, EXDATE e RECURRENCE-ID. Exceção conhecida: uma regra YEARLY que junta BYMONTHDAY a um BYDAY numerado (por exemplo BYMONTHDAY=1;BYDAY=1MO) sem BYMONTH ignora o número e lista todo dia 1 que cai numa segunda-feira; um fuso embutido definido assim pode receber deslocamento errado.
Confira o fuso escrito ao lado de cada horário: a linha do tempo usa UTC por padrão, e trocar para o fuso do aparelho costuma eliminar diferenças de horas cheias, como as 3 horas de Brasília. Horários sem TZID e sem Z são flutuantes e recebem a marca «sem fuso horário no arquivo»; um TZID que não está definido no arquivo nem é nome IANA, como um nome de fuso do Windows, fica não resolvido, sem deslocamento inventado. As recorrências são cálculo próprio desta ferramenta.
Esta ferramenta não consegue dizer se um convite é legítimo ou malicioso; ela mostra o conteúdo como texto inerte para você avaliar. Links, destinos ATTACH e endereços de participantes aparecem como texto e nunca são carregados, nada é enviado ao organizador, e ORGANIZER e ATTENDEE são rotulados como declarações. Valores que escondem linhas de calendário falsas, descrições HTML com scripts ou links javascript: e caminhos como ../../etc/passwd em anexos são sinalizados, mas não há varredura de malware.
Dá: o painel Estrutura baixa um .structure.json com todos os componentes, horários, resultados de recorrência, participantes e diagnósticos, e o painel Código-fonte baixa o .ics original intacto. O JSON descreve o que foi analisado e não é um formato que outra agenda consiga importar; se a entrada era uma parte MIME, o download traz o texto do calendário já decodificado.